AI Video Generation API for Apparel and Clothing Brands

Sep 30, 2026·7 min read

An apparel brand has clean flat-lay and on-model photos of a shirt in six colorways ready for a drop next week, but no video, and a shopper scrolling a product page is far more likely to linger on a clip of the fabric moving — a sleeve catching light, the hem settling — than on a static photo grid. Booking a model and videographer for every colorway in a six-way drop costs more than most apparel brands budget for a single line, and the shoot backlog means the drop launches with photos alone while the highest-intent scroll window passes. Turning existing product photos into short showcase clips via API answers the "what would this cost per colorway" question before booking a shoot.

Direct answer: GenRelay's video models bill either per second of output or per generation, and a 5-second fabric-motion clip costs between $0.05 and $0.30 depending on the model and resolution — low enough to generate a clip for every colorway in a drop rather than reserving video for a single hero item.

How Much Does a Single Apparel Showcase Clip Cost?

A 5-second clip's cost depends entirely on which model and resolution generate it, since per-second models scale with duration while per-generation models charge a flat fee regardless of length. As of September 2026, GenRelay's video pricing: Grok Imagine 1.0 (text-to-video) $0.010/s, Grok Imagine 1.5 (image-to-video) $0.022/s, Veo 3.1 Lite $0.060/s at 720p or $0.120/s at 1080p, and Gemini Omni Flash a flat $0.10 per generation at 720p or $0.15 at 1080p.

Model Mode Billing 5s clip cost (720p) Native audio
Grok Imagine 1.0 Text-to-video Per second 5 × $0.010 = $0.050 No
Grok Imagine 1.5 Image-to-video Per second 5 × $0.022 = $0.110 No
Veo 3.1 Lite Image-to-video Per second 5 × $0.060 = $0.300 Yes
Gemini Omni Flash Image-to-video Flat per generation $0.10 (720p) No

For an on-model or flat-lay photo with no existing footage, image-to-video is the relevant mode — it animates the garment in the source photo, holding the colorway and print from the reference image, rather than generating a scene from a text description alone.

Why Does Fabric Motion Matter More Than for Rigid Products?

Fabric drape, sleeve movement, and hem settling are the visual cues that separate an apparel clip from a static photo, since a shopper judging fit and texture from a flat product photo has no sense of how the garment actually moves on a body or hanger. Rigid products (electronics, furniture) read fine as a rotation shot; apparel needs motion that shows drape and weight, which pushes toward image-to-video prompts that explicitly describe fabric behavior rather than just camera movement around a static subject.

This also means the source photo matters more for apparel than for rigid products — a flat-lay reference gives the model no drape information to animate, while an on-model or mannequin photo gives it a starting silhouette to add motion to.

Which Model Fits Apparel Showcase Clips?

Grok Imagine 1.5's lower per-second rate fits a full-catalog rollout where every colorway in a drop gets a clip regardless of expected sales volume; Veo 3.1 Lite's native audio is a better fit for a smaller set of hero clips meant for paid social, where an ambient fabric-rustle or footstep cue adds to the scene rather than playing silently.

Gemini Omni Flash's flat per-generation price becomes cheaper than Grok Imagine 1.5 once a clip runs past roughly 4.5 seconds at 720p, which matters for brands standardizing on a fixed clip length across a catalog rather than varying duration per item.

How Do I Generate a Fabric-Motion Clip From a Product Photo?

Submit the on-model or mannequin photo with a prompt describing the intended fabric motion and setting — naming the fabric behavior explicitly reads better than a generic "model wearing shirt" prompt with no motion cue.

import requests
import time

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

def submit_job(image_url, prompt, duration=5, model="grok-imagine-1.5"):
    r = requests.post(
        f"{BASE_URL}/videos/generations",
        headers={"Authorization": f"Bearer {API_KEY}"},
        json={
            "model": model,
            "mode": "image-to-video",
            "image_url": image_url,
            "prompt": prompt,
            "duration": duration,
        },
        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/products/linen-shirt-sage-onmodel.jpg",
    "Model turning slowly, linen shirt fabric moving naturally with the motion, "
    "sleeve catching soft studio light, seamless neutral background",
)
result = poll_job(job_id)
print(result.get("output_url"))

How Do I Batch a Full Colorway Drop?

Loop over the colorway catalog and submit each as its own job, bounding concurrency with a thread pool so the batch stays under the account's rate limit — see the image-to-video pipeline guide for the async polling and error-handling pattern this scales to.

from concurrent.futures import ThreadPoolExecutor

CATALOG = [
    ("linen-shirt-sage", "https://cdn.example.com/products/linen-shirt-sage-onmodel.jpg"),
    ("linen-shirt-clay", "https://cdn.example.com/products/linen-shirt-clay-onmodel.jpg"),
    ("linen-shirt-ivory", "https://cdn.example.com/products/linen-shirt-ivory-onmodel.jpg"),
]

PROMPT_TEMPLATE = (
    "Model turning slowly, linen shirt fabric moving naturally with the motion, "
    "sleeve catching soft studio light, seamless neutral background"
)

def generate_and_wait(entry):
    sku, image_url = entry
    job_id = submit_job(image_url, PROMPT_TEMPLATE)
    return sku, poll_job(job_id)

with ThreadPoolExecutor(max_workers=3) as pool:
    results = list(pool.map(generate_and_wait, CATALOG))

for sku, r in results:
    print(f"{sku}: {r.get('output_url')}")

What Does a Full Drop Launch Cost?

A six-colorway drop at 5-second clips via Grok Imagine 1.5 costs 6 × 5 × $0.022 = $0.66. Adding a hero tier of 2 detail clips through Veo 3.1 Lite at 720p with audio adds 2 × 5 × $0.060 = $0.60. A combined rollout — full colorway set plus hero tier — totals $0.66 + $0.60 = $1.26 for a six-item drop with video.

Package tier Composition Cost
Full colorway clips (Grok Imagine 1.5) 6 × 5s $0.66
Hero detail clips (Veo 3.1 Lite, 720p) 2 × 5s $0.60
Combined rollout Both above $1.26
Flat-rate alternative (Gemini Omni Flash) 6 × $0.10 $0.60

At $1.26 for a six-item drop with a hero tier included, adding video to every colorway on a product page costs less than a single stock fashion-video license, without scheduling a model and studio session around a drop calendar. See the AI apparel photography API guide for the reference-guided image side of the same launch.

Internal Links

FAQ

Does image-to-video work from a flat-lay photo, or does it need an on-model shot?
It works from either, but an on-model or mannequin photo gives the model a starting silhouette to add drape and motion to — a flat-lay reference produces flatter, less convincing fabric motion since there's no body or hanger shape to animate around.

Is per-second or per-generation billing cheaper for apparel showcase clips?
It depends on clip length — Grok Imagine 1.5 stays cheaper than Gemini Omni Flash's flat $0.10 (720p) up to roughly 4.5 seconds; past that, the flat rate wins regardless of duration.

Does Veo 3.1 Lite's audio track require a separate API call?
No. Audio generates synchronized with the video in the same request when using Veo 3.1 Lite — there's no separate audio generation step or additional endpoint.

How fast can a six-colorway batch finish?
Individual clips typically complete within a few minutes; a six-clip batch submitted with bounded concurrency finishes well within a same-day turnaround for a drop deadline.

Is there a free tier to compare models before committing to a full drop?
Yes. GenRelay includes free credits on signup, enough to generate sample clips across Grok Imagine 1.5 and Veo 3.1 Lite before choosing a model for the full rollout.


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

Related posts

Join our DiscordAI Video Generation API for Apparel and Clothing Brands — GenRelay