RelayDanceRelayDance
HomeModelsPricingDocsGuides
Get API Key

Docs / Model Capabilities

Model Capabilities and Parameters

Every video model on RelayDance is called through the same request shape (model, prompt, seconds, image, metadata), but the families behind those model IDs accept very different inputs. This page is the contract: for each family, which fields are honoured, which are forwarded as-is, which are silently ignored, and which make the request fail before anything is billed. When a field is not listed as supported for a family, assume it does nothing.

#Capability matrix

FamilyDurationResolutionAspect ratioAudio outBilling
Seedance 2.54 to 30 s, or omit to let the model choose480p / 720p, fixed by SKU16:9, 9:16, 1:1, 4:3, 3:4, 21:9, adaptiveOptional (generate_audio)Per token, settled on actual output
Seedance 2.05 to 15 s480p / 720p / 1080p / 4K, fixed by SKUSame list as 2.5Optional (generate_audio); 1.5 Pro is split into audio / silent SKUsPer token, settled on actual output
Kling5 or 10 s only720p (std) or 1080p (pro), fixed by SKU16:9, 9:16, 1:1 for text-to-video; follows the image otherwiseNonePer second, charged at submission
MiniMax H34 to 15 s (integer)768P or 2K, fixed by SKURequired for text-to-video; adaptive only with a reference imageAlways on (native stereo)Per second
Grok Video6, 8, 10, 12 or 15 s720paspect_ratio required: 16:9, 9:16 or 1:1NonePer second, charged at submission
HappyHorseInteger seconds, default 5Model defaultModel defaultNonePer second, charged at submission
FamilyFirst frameLast frameReference imagesReference videoReference audio
Seedance 2.5YesYesUp to 30, cited as @imageNUp to 10Up to 10, audio-only reference allowed
Seedance 2.0YesYesUp to 9, cited as @imageNYesYes, only alongside an image or video
KlingYes (exactly one)OptionalNo (a reference image is treated as the first frame)No, rejectedNo, rejected
MiniMax H3NoNoOneNoNo
Grok VideoYes (required, exactly one)NoNoNoNo
HappyHorsei2v: one imageNor2v: one imagevideo-edit: source clip in imageNo
Three rules apply everywhere: the resolution is always locked by the SKU you call (a metadata.resolution that disagrees with the SKU is ignored, so a cheaper SKU can never produce a pricier output); failed tasks are never billed; and the result url is a temporary download link, fetch it promptly rather than storing the URL.

#Seedance 2.5

Model IDs: doubao-seedance-2-5-720p, doubao-seedance-2-5-480p. The most capable family: longest clips, the most reference media, and the only family that combines a character reference with a motion reference video in one request.

Honoured fields

FieldValuesNotes
seconds"4" to "30", or omitOmit (or send "-1") and the model picks a length up to 30 s. The pre-charge hold assumes the maximum; the final charge follows the actual output.
metadata.ratio16:9, 9:16, 1:1, 4:3, 3:4, 21:9, adaptiveadaptive follows the first reference. First/last-frame mode, video extension and video editing require adaptive.
metadata.generate_audiotrue | falseSame token price with or without audio
metadata.seedintegerForwarded
metadata.camera_fixedtrue | falseForwarded
metadata.watermarktrue | falseForwarded
metadata.output_format"mp4" | "mov"mov is Seedance 2.5 only (H.264 + yuv444p + PCM), rejected by every other family
metadata.callback_urlURLWebhook on completion
metadata.content[]image_url / video_url / audio_url entries with a roleUp to 50 entries: 30 images, 10 videos, 10 audio clips

Reference media roles

EntryroleMeaning
image_urlfirst_frameThe clip starts on this image
image_urllast_frameThe clip ends on this image
image_urlreference_imageIdentity or style reference, cited in the prompt as @image1 to @imageN in content order
video_urlreference_videoMotion or camera reference; a video input is billed at the video-input token rate
audio_urlreference_audioSound reference; audio may be the only reference on 2.5
Reference images and first/last-frame mode are mutually exclusive in one request. Prompts that describe editing or extending an existing clip are classified as edit tasks and must use ratio: "adaptive" (and omit seconds for editing); keep that wording out of ordinary reference-to-video prompts. Prompts that name specific songs or artists can fail output review for the audio track, and that failure is not billed.
seedance-2.5-character-plus-motion.jsonjson
{
  "model": "doubao-seedance-2-5-720p",
  "prompt": "@image1 rises onto tiptoes, holds for a beat, then lowers the heels, matching the motion of the reference video",
  "seconds": "5",
  "metadata": {
    "ratio": "adaptive",
    "generate_audio": false,
    "content": [
      { "type": "image_url", "role": "reference_image", "image_url": { "url": "https://your-cdn.example.com/character.png" } },
      { "type": "video_url", "role": "reference_video", "video_url": { "url": "https://your-cdn.example.com/motion.mp4" } }
    ]
  }
}

#Seedance 2.0

Model IDs: doubao-seedance-2-0-480p, doubao-seedance-2-0-720p, doubao-seedance-2-0-1080p, doubao-seedance-2-0-4k, doubao-seedance-2-0-fast-260128 (720p, faster), doubao-seedance-2-0-mini-480p, doubao-seedance-2-0-mini-720p, plus seedance-1-5-pro-with-audio and seedance-1-5-pro-no-audio. Same request shape and the same metadata fields as 2.5, with tighter limits.

FieldValuesNotes
seconds"5" to "15"The pre-charge hold assumes 15 s when omitted
metadata.ratioSame list as 2.5, including adaptiveFirst/last-frame mode requires adaptive
metadata.generate_audiotrue | falseFree on 2.0; on 1.5 Pro the SKU decides and the field is overridden
seed, camera_fixed, watermark, callback_urlForwarded exactly like 2.5
metadata.output_format"mp4"mov is rejected by the 2.0 family
metadata.content[]Same roles as 2.5Up to 9 reference images; a reference audio must be accompanied by an image or video
Native 4K is Seedance 2.0 Pro only (doubao-seedance-2-0-4k); Fast has a single 720p tier and Mini stops at 720p. To upscale an existing clip instead of regenerating it, use Super-Resolution.

#Kling

Model IDs: kling-v2-6, kling-v2-6-pro, kling-v3, kling-v3-pro, kling-v3-omni, kling-v3-omni-pro. The -pro suffix selects the 1080p tier; without it you get 720p. Kling is a text-to-video and first-frame image-to-video route with a deliberately small surface: it does not take reference images, reference videos, audio, or any motion-transfer input. Requests that include those are rejected before billing rather than quietly downgraded to text-to-video.

Honoured fields

FieldValuesNotes
seconds"5" | "10"Any other value is normalised: 5 and below becomes 5, above 5 becomes 10, and billing follows the normalised length
metadata.aspect_ratio (or metadata.ratio)16:9 | 9:16 | 1:1Text-to-video only. Ignored when an image is present (the output follows the image). Unrecognised values, including adaptive without an image, fall back to 16:9.
image (top level) or images[0]public https URLUsed as the first frame
metadata.content[]image_url with role first_frame or reference_imageUsed as the first frame; role last_frame or end_frame adds an end frame (requires a first frame)
metadata.callback_urlURLWebhook on completion

Rejected (HTTP 400, nothing billed)

  • video_url or audio_url entries in metadata.content: there is no reference-video, motion-control or video-edit mode on this route
  • More than one first-frame image, or an end frame without a first frame
  • Images given as base64 data URLs or asset:// references: Kling needs a publicly reachable https URL

Ignored

generate_audio (Kling output has no audio track), seed, camera_fixed, watermark, output_format, resolution (locked by SKU). The Seedance @imageN syntax means nothing to Kling and is stripped from the prompt.

Output and billing

mp4, 24 fps, no audio. Standard tier renders 1280×720 (or the portrait / square equivalent), Pro renders 1080p; with a first frame the output keeps the image's aspect ratio. Typical turnaround is one to three minutes. Billing is per second of the normalised duration and is charged once at submission with no post-adjustment; a failed task is refunded in full. Download the result within 24 hours. Kling has a limited concurrency budget: an HTTP 429 means the queue is full, retry with a short backoff.

kling-first-frame.jsonjson
{
  "model": "kling-v3-omni",
  "prompt": "The boy rises onto his toes, holds briefly, then lowers his heels. Static camera, full body in frame.",
  "seconds": "5",
  "image": "https://your-cdn.example.com/character.png"
}
Need a character reference plus a motion video, several reference images, or audio? That is a Seedance 2.5 job (above). Kling is the right pick for a single still image you want animated, or for quick text-to-video at a fixed 5 or 10 seconds.

#MiniMax H3

Model IDs: minimax-h3-768p, minimax-h3-2k. Every clip comes with natively generated stereo audio; there is no silent option and generate_audio has no effect.

FieldValuesNotes
seconds"4" to "15" (integer)Out-of-range values are clamped; default 5
ratio (top level) or metadata.ratio16:9, 9:16, 1:1, ...; adaptive only with a reference imageRequired for text-to-video; missing or invalid falls back to 16:9
image or image_url (top level)public https URLOne reference image (role reference_image). asset:// references are not supported.
metadata.content[]text and image_url entriesIf present it is forwarded as given and replaces the prompt + image composition
metadata.callback_urlURLWebhook on completion

Ignored: resolution (locked by SKU), seed, camera_fixed, watermark, output_format, last-frame and video/audio references. Billed per second; failed tasks are not billed.

#Grok Video

Model IDs: grok-video-1.5, grok-image-video (lighter, cheaper). Image-to-video only: a request without an image is rejected. Output is 720p with no audio.

FieldValuesNotes
image (top level)https URL or base64 data URLRequired. Uploading a file via multipart/form-data on POST /v1/videos also works.
seconds"6" | "8" | "10" | "12" | "15"Other values are rejected upstream
metadata.aspect_ratio16:9 | 9:16 | 1:1Required
metadata.resolution"720p"Required

Ignored: generate_audio, seed, camera_fixed, watermark, last frame, reference images beyond the first, video and audio references. Billed per second of the requested length, charged at submission; failed tasks are refunded.

#HappyHorse

Model IDs: happyhorse-1.0-t2v, happyhorse-1.0-i2v, happyhorse-1.0-r2v, happyhorse-1.0-video-edit. The variant decides how the single image field is interpreted: first frame for i2v, reference image for r2v, and the source clip URL for video-edit. t2v takes the prompt only. Watermarks are always disabled. Other metadata keys are forwarded as given. Billed per second, charged at submission; failed tasks are refunded.

#What happens to fields a model does not support

FamilyUnknown metadata keysUnsupported reference mediaResolution mismatch
Seedance 2.5 / 2.0Dropped silentlyForwarded; the model may reject the taskOverridden by the SKU
KlingDropped silentlyRejected with HTTP 400 before billingOverridden by the SKU
MiniMax H3Dropped silentlyDropped silentlyOverridden by the SKU
Grok VideoForwardedExtra images dropped; video and audio ignored720p only
HappyHorseForwardedDropped silentlyModel default

If you are building a client that switches between families, key your request builder on the family, not on the shared request shape: a payload that is perfect for Seedance 2.5 is a text-only render on MiniMax and a hard error on Kling.

#Choosing a model

  • Character consistency from a reference image plus a motion reference video: Seedance 2.5
  • Clips longer than 15 seconds, or more than 9 reference images: Seedance 2.5
  • Native 4K: Seedance 2.0 Pro, or Super-Resolution on an existing clip
  • Generated soundtrack: Seedance 2.5 / 2.0 with generate_audio, or MiniMax H3 (always on)
  • Animate one still image at a fixed 5 or 10 seconds, lowest cost: Kling standard tier
  • Quick image-to-video at 6 to 15 seconds without audio: Grok Video

#Next steps

Related guides