AI Video Generation API for Fashion and Retail Lookbooks (2026)

Sep 15, 2026·6 min read

A fashion brand shooting a seasonal lookbook typically books a model, a photographer, and a studio for a day to produce maybe 20 static outfit shots. Turning those into video — even short 5-second clips showing garment movement and drape — usually means a separate video shoot with its own budget line. For a brand refreshing its catalog weekly, that's not a workflow that scales past a handful of hero products.

This guide covers model selection for turning existing lookbook photography into motion, image-to-video code for apparel clips, batch processing for a full collection, and cost math using GenRelay.

Which Video Model Fits Fashion Lookbook Clips?

Veo 3.1 Lite's image-to-video mode handles fabric movement — the subtle sway of a dress hem, a jacket shifting as a model turns — more convincingly than lower-cost alternatives, which matters for fashion where garment drape is the actual selling point. Grok Imagine 1.5 works as a lower-cost option for secondary catalog shots where subtle motion realism matters less than having a clip at all.

Model Mode 5s clip cost (1080p) Motion quality Native audio
Veo 3.1 Lite (i2v) Image-to-video 5 × $0.120 = $0.600 Convincing fabric drape and sway 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.15/gen Moderate motion No

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

For hero lookbook pieces (the outfits featured on a category landing page), Veo 3.1 Lite's fabric-motion quality justifies its cost. For the long tail of a catalog — variant colorways of an item already validated with a hero clip — Grok Imagine 1.5 keeps per-SKU video cost low enough to cover the full range.

How Do I Turn a Lookbook Photo Into a Motion Clip?

Submit the product photo with a prompt describing the specific motion you want, then poll until the clip completes.

import requests
import time

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

def submit_i2v_job(image_url, prompt, model="veo-3.1-lite", duration=5, resolution="1080p"):
    response = requests.post(
        f"{BASE_URL}/videos/generations",
        headers={
            "Authorization": f"Bearer {API_KEY}",
            "Content-Type": "application/json"
        },
        json={
            "model": model,
            "mode": "image-to-video",
            "image_url": image_url,
            "prompt": prompt,
            "duration": duration,
            "resolution": resolution
        }
    )
    return response.json()["id"]

job_id = submit_i2v_job(
    image_url="https://cdn.example.com/lookbook/ss26/dress-01.jpg",
    prompt="Model turns slowly from front to three-quarter angle, "
           "fabric of the dress hem flowing with the movement, "
           "studio lighting stays consistent, subtle breeze effect"
)
print(f"Job submitted: {job_id}")

Then poll for the completed clip:

def wait_for_clip(job_id, timeout=150, interval=10):
    elapsed = 0
    while elapsed < timeout:
        status = requests.get(
            f"{BASE_URL}/videos/generations/{job_id}",
            headers={"Authorization": f"Bearer {API_KEY}"}
        ).json()
        if status["status"] == "completed":
            return status["output_url"]
        if status["status"] == "failed":
            raise RuntimeError(f"Generation failed: {status.get('error')}")
        time.sleep(interval)
        elapsed += interval
    raise TimeoutError("Clip generation timed out")

clip_url = wait_for_clip(job_id)

Veo 3.1 Lite i2v jobs typically complete in 60–120 seconds at 1080p. For the full per-model interval and timeout reference, see the async video API polling guide.

How Do I Process a Full Collection in Batch?

A seasonal drop with 40 SKUs, each needing a motion clip, needs a concurrent queue rather than sequential requests that would take the better part of an hour to clear.

from concurrent.futures import ThreadPoolExecutor, as_completed

def process_collection_batch(items, max_workers=5):
    """items: dict of {sku: (image_url, prompt)}"""
    results = {}
    with ThreadPoolExecutor(max_workers=max_workers) as pool:
        futures = {
            pool.submit(submit_i2v_job, image_url, prompt): sku
            for sku, (image_url, prompt) in items.items()
        }
        for future in as_completed(futures):
            sku = futures[future]
            try:
                job_id = future.result()
                results[sku] = wait_for_clip(job_id)
            except Exception as e:
                print(f"SKU {sku} failed: {e}")
    return results

For a single hero clip per item, 40 SKUs costs 40 × $0.600 = $24.00 at Veo 3.1 Lite 1080p, or 40 × $0.110 = $4.40 at Grok Imagine 1.5. A common split: Veo 3.1 Lite for the 8–10 hero pieces featured in campaign creative, Grok Imagine 1.5 for the remaining catalog SKUs.

What Does This Cost at Catalog Scale?

SKUs/season Clips per SKU Veo 3.1 Lite (1080p) Grok Imagine 1.5
40 1 $24.00 $4.40
40 2 (front + turn) $48.00 $8.80
150 1 $90.00 $16.50
150 2 (front + turn) $180.00 $33.00

A tiered approach keeps quality where it's visible: Veo 3.1 Lite for hero campaign pieces and category landing pages, Grok Imagine 1.5 for product listing pages across the full catalog. For the general per-second vs per-generation billing tradeoff across all three video models, see how much does AI video generation cost via API.

Internal Links

FAQ

Can the API animate a photo shot on a plain studio background?
Yes — a plain or seamless studio background is actually easier for image-to-video to work with, since there's less environmental detail the model needs to keep consistent while adding subject and fabric motion.

Does the model preserve the exact garment color and print shown in the photo?
Yes. Image-to-video animates the input image directly rather than regenerating the scene, so garment color, print, and silhouette stay as photographed. Motion and camera movement are what the model adds.

How long should a lookbook clip be?
5 seconds is typical for a product-page clip — long enough to show a turn or fabric movement, short enough to loop cleanly. Campaign or social clips often run 8 seconds to allow for a full front-to-back turn.

Can I generate a clip from a flat-lay product photo instead of a photo with a model?
Yes, though motion options are more limited — flat-lay clips typically use subtle zoom, pan, or fabric-ripple effects rather than a turn, since there's no figure to animate.

Is there a free tier to test this before running a full collection?
Yes. GenRelay includes free credits on signup, enough to generate test clips from a handful of lookbook photos across Veo 3.1 Lite and Grok Imagine 1.5 before committing to a per-collection model strategy.


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

Related posts

Join our DiscordAI Video Generation API for Fashion and Retail Lookbooks (2026) — GenRelay