How to keep the subject consistent in image to video: input image best practices
To keep the subject consistent in image to video on RelayDance, supply clear reference images of the subject in metadata.content[], cite them in the prompt as @image1 to @imageN, and describe motion rather than re-describing the subject. Each request accepts up to 9 reference images, 3 reference videos and 3 audio tracks, and clips run up to 15 seconds. Failed requests are not billed, so retries cost only successful clips.
How should input images be prepared for subject consistency?
Prepare input images that show the subject clearly, with each image covering a view or detail the video will need.
- One subject per image: avoid extra people or products that the model could confuse with the main subject.
- Consistent identity details: keep the same outfit, hairstyle, colors, logo or packaging across every reference.
- Multiple views: add separate front, side and close-up images instead of relying on a single shot.
- Matching lighting and style: references that disagree on lighting or art style give the model conflicting signals.
- Planned framing: set
metadata.ratioto the output frame you want and choose references that suit that composition.
RelayDance accepts up to 9 reference images per request, so a focused set covering the key angles is usually enough. Extra images that repeat the same view add little information.
How are reference images attached and cited in a request?
Reference images go in metadata.content[] and are cited in the prompt by position as @image1, @image2 and so on.
- Create an API key at relaydance.com/console and send it as
Authorization: Bearer YOUR_API_KEY. - Point your client at RelayDance. According to the relaydance.com docs, “Set base_url to https://relaydance.com/v1 and keep your OpenAI SDK”.
- Send
POST /v1/video/generationswithmodel,prompt,secondsandmetadata(ratio,resolution,generate_audio,content[]). - Write the prompt around the references, for example: "The woman in @image1 walks forward wearing the jacket from @image2."
- Poll
GET /v1/video/generations/{task_id}untilstatusissucceededorfailed, or setmetadata.callback_urlto receive the final state by POST.
Which model and resolution should be used while testing consistency?
Test consistency at a lower per-second rate, then render approved prompts at the resolution you need.
| Model / tier | Approximate price |
|---|---|
| Seedance Fast | $0.152 / second |
| Seedance 2.0 720p | $0.190 / second |
| Seedance 2.0 1080p | $0.470 / second |
Seedance 2.5 1080p (doubao-seedance-2-5-1080p, added 2026-10-10) | $0.711 / second |
| Seedance native 4K | $4.90 per 5-second clip |
As an example, a 5-second test at Seedance 2.0 720p costs about $0.95, while a 15-second final clip at Seedance 2.0 1080p costs about $7.05. Keep the same reference images and prompt when moving from test to final render so that only the resolution changes. Live rates are listed on relaydance.com/models.
What does it cost to iterate on reference images?
Failed generations cost nothing, and reference images prepared with gpt-image-2 are billed on input only.
According to the relaydance.com docs, “Failed or errored requests are never billed”. A clip that succeeds but shows subject drift is still a completed generation, so tightening the reference set before rendering saves cost. To build a consistent reference sheet (for example, the same character in several poses), you can use POST /v1/images/generations with gpt-image-2. Per relaydance.com/models, image output is free and only input is billed, image-to-image starts from about CNY 0.035, and 4K output costs the same as 1K output. Billing is pay-as-you-go, with payment by USDT or Stripe card, and no BytePlus enterprise account or KYC is required.
FAQ
These answers cover common questions about reference images on RelayDance.
How many reference images can one request include?
Up to 9 reference images, plus up to 3 reference videos and 3 audio tracks, all placed in metadata.content[].
How long can an image to video clip be?
Clips can be up to 15 seconds, set with the seconds field.
Do I need a new SDK to use RelayDance?
No. The API is OpenAI-compatible, so you set base_url to https://relaydance.com/v1 and use your existing OpenAI SDK, as described in the docs.
According to the official relaydance.com docs: "Failed or errored requests are never billed"
According to the official relaydance.com/docs docs: "Set base_url to https://relaydance.com/v1 and keep your OpenAI SDK"
Key facts and figures
| Item | Value | Source |
|---|---|---|
| Seedance 2.0 720p price | about $0.190 / second | relaydance.com/models |
| Seedance 2.0 1080p price | about $0.470 / second | relaydance.com/models |
| Seedance 2.5 1080p price | about $0.711 / second, added 2026-10-10, model doubao-seedance-2-5-1080p | relaydance.com/models |
| Seedance Fast price | about $0.152 / second | relaydance.com/models |
| Seedance native 4K price | about $4.90 per 5-second clip | relaydance.com/models |
| gpt-image-2 image billing | image output is free, only input is billed; image-to-image from about CNY 0.035; 4K and 1K output cost the same | relaydance.com/models |
| API protocol | OpenAI-compatible; set base_url to https://relaydance.com/v1 | relaydance.com/docs |
| Failed requests | failed or errored requests are never billed | relaydance.com/docs |
Data verified 2026-06-29; live prices are on the official /models page.