Query parameters

All parameters are optional. Project defaults apply when omitted.

Content-affecting (changes asset_id)

ParameterTypeDefaultEffect
motionsubtle / medium / kineticproject defaultMotion intensity
modeloop / animate-in / animate-on-hoverproject defaultPlayback shape (also picks pipeline)
durint 2..8project defaultOutput length in seconds
promptstring ≤500Replaces brand-aware vision prompt
seedintDeterministic random seed
aspect1:1 / 16:9 / 9:16 / preservepreserveOutput framing (seedance only)
idemstringForces a distinct asset from same source

Each unique combination produces a unique asset_id. Same combination produces the same asset_id and serves from cache.

Non-content (stripped from cache key)

ParameterTypeDefaultEffect
wait_msint 0..100000Long-poll up to N ms before returning 202
sighex stringHMAC signature (signed mode)
expunix secondsExpiry (signed mode)

Adding/removing these doesn't bust the cache.

idem recipes

text
# Two distinct generations from the same source…/hero.png.mp4?idem=variant-a…/hero.png.mp4?idem=variant-b# Time-windowed rotation…/hero.png.mp4?idem=2026-q2# Per-user variants (rare; usually overkill)…/hero.png.mp4?idem=user-${userId}

idem is mixed into asset_id after motion/mode/dur/prompt/seed. Two URLs with the same content params but different idem are different assets.

wait_ms recipes

bash
# Block up to 8s waiting for the mp4curl "https://motioness.com/v1/$KEY/cdn.acme.com/hero.png.mp4?wait_ms=8000" -o hero.mp4

If the asset finalizes within the deadline you get 200 + mp4. Otherwise 202 + Retry-After. Useful in CI/build scripts where you'd rather block than poll.

Header equivalents

Two headers can substitute for query params:

HeaderEquivalent param
Idempotency-Key: variant-a?idem=variant-a
X-Request-Id: req_my-correlation(sets the response X-Request-Id)
Ask a question... ⌘I