AI Video Generation API for Hospitality and Travel (2026)

Sep 16, 2026·5 min read

A boutique hotel chain or travel booking platform typically has hundreds of static room and destination photos already shot, but almost no video — a proper video shoot for even one property runs a full production day and a dedicated budget line. Listing pages with video consistently hold visitor attention longer than static galleries, yet re-shooting video for every property or seasonal update isn't something most hospitality teams can do at catalog scale.

This guide covers model selection for turning existing property photography into motion clips, image-to-video code for room and destination shots, batch processing across a property catalog, and cost math for a listing-wide rollout.

Which Video Model Fits Hotel and Destination Clips?

Veo 3.1 Lite's image-to-video mode produces convincing environmental motion — light shifting across a room, curtains moving, water rippling in a pool shot — which is the kind of subtle ambient realism that sells a space better than a static photo. Grok Imagine 1.5 works as the lower-cost option for secondary catalog shots, like individual room-type variants within a property that don't need hero-level polish.

Model Mode 5s clip cost (720p) Motion quality Native audio
Veo 3.1 Lite (i2v) Image-to-video 5 × $0.060 = $0.300 Convincing ambient motion (light, water, fabric) Yes
Grok Imagine 1.5 (i2v) Image-to-video 5 × $0.022 = $0.110 Simpler motion, faster turnaround No
Gemini Omni Flash (i2v) Image-to-video Flat $0.10/gen (720p) Moderate motion No

Definition: image-to-video (i2v) generates a short motion clip from a single static photo — animating camera movement, environmental detail, or subject motion — instead of generating a scene from a text prompt alone.

For a property's hero listing photo (the image shown first in search results), Veo 3.1 Lite's ambient-motion quality is worth the higher per-second cost. For the long tail of individual room photos within a property, Grok Imagine 1.5 keeps per-clip cost low enough to cover a full room inventory.

How Do I Turn a Property Photo Into a Showcase Clip?

Submit the property photo with a prompt describing the specific ambient motion you want, then poll until the job completes.

import requests
import time

API_KEY = "YOUR_GENRELAY_KEY"
BASE_URL = "https://genrelay.ai/v1"

def submit_job(image_url, prompt):
    r = requests.post(
        f"{BASE_URL}/videos/generations",
        headers={"Authorization": f"Bearer {API_KEY}"},
        json={
            "model": "veo-3.1-lite",
            "mode": "image-to-video",
            "image_url": image_url,
            "prompt": prompt,
            "duration": 5,
            "resolution": "720p",
        },
        timeout=30,
    )
    return r.json()["id"]

def poll_job(job_id, interval=5, timeout=180):
    elapsed = 0
    while elapsed < timeout:
        r = requests.get(
            f"{BASE_URL}/videos/generations/{job_id}",
            headers={"Authorization": f"Bearer {API_KEY}"},
        )
        data = r.json()
        if data["status"] in ("completed", "failed"):
            return data
        time.sleep(interval)
        elapsed += interval
    raise TimeoutError(f"job {job_id} did not finish in {timeout}s")

job_id = submit_job(
    "https://cdn.example.com/ocean-view-suite.jpg",
    "Slow push-in on a hotel suite balcony, curtains gently moving in the breeze, "
    "soft afternoon light shifting across the room, ocean visible through the window",
)
result = poll_job(job_id)
print(result["status"], result.get("video_url"))

For processing an entire property catalog, batch room photos into a queue and dispatch with limited concurrency:

from concurrent.futures import ThreadPoolExecutor

ROOM_PHOTOS = [
    ("https://cdn.example.com/room-101.jpg", "Slow pan across a modern room, warm evening light"),
    ("https://cdn.example.com/room-102.jpg", "Gentle push-in on a garden-view room, soft morning light"),
    ("https://cdn.example.com/pool-deck.jpg", "Water gently rippling in an infinity pool at sunset"),
]

def process(item):
    image_url, prompt = item
    job_id = submit_job(image_url, prompt)
    return poll_job(job_id)

with ThreadPoolExecutor(max_workers=5) as pool:
    results = list(pool.map(process, ROOM_PHOTOS))

Capping max_workers at 5 keeps the batch within typical per-account concurrency limits — see the rate limits and quotas guide for the general pattern.

What Does a Property-Wide Video Rollout Cost?

As of September 2026, GenRelay pricing per clip:

For a 40-room property, generating one Veo 3.1 Lite hero clip (5s, 720p) plus 39 Grok Imagine 1.5 room clips (5s each) costs (5 × $0.060) + (39 × 5 × $0.022) = $0.30 + $4.29 = $4.59 for the entire listing's video coverage.

Rollout scope Composition Total cost
Single hero clip 5s Veo 3.1 Lite (720p) $0.30
Full 40-room property 1 hero (Veo 3.1 Lite) + 39 room clips (Grok 1.5) $4.59
10-property chain Above × 10 $45.90

For destination or amenity shots that benefit from native audio (a beach clip with ambient wave sound, a spa clip with soft background tone), Veo 3.1 generates synchronized audio directly in the same job — see the Veo 3.1 audio API guide for the audio parameter setup.

Internal Links

FAQ

Does the API support vertical video for social-media travel promotion?
Yes — set the output aspect ratio to 9:16 in the generation request for Instagram Reels or TikTok-style promotion clips, separate from the 16:9 or 720p/1080p listing-page format.

Can I animate a destination photo that has no people in it?
Yes — image-to-video works from any static photo, including empty landscapes, room interiors, or amenity shots. Prompts describing environmental motion (light, water, fabric, foliage) tend to produce the most natural results on people-free scenes.

How long does a typical hotel showcase clip take to generate?
Veo 3.1 Lite jobs at 720p typically complete within 1-3 minutes; see the video API latency guide for per-model timing and polling-interval recommendations.

What's the difference between using Veo 3.1 Lite versus Grok Imagine 1.5 for this use case?
Veo 3.1 Lite produces more convincing ambient motion (better for hero shots where quality matters most), while Grok Imagine 1.5 is roughly a third of the cost per second, making it the practical choice for covering a large room inventory where per-clip polish matters less.

Is there a free way to test this before generating clips for an entire property catalog?
Yes. GenRelay includes free credits on signup, enough to test both Veo 3.1 Lite and Grok Imagine 1.5 on a handful of room photos before committing to a full catalog batch.


As of September 2026. Pricing subject to change — verify current rates at genrelay.ai.

Related posts

Join our DiscordAI Video Generation API for Hospitality and Travel (2026) — GenRelay