Install
openclaw skills install @permew/seedance-2-5-reference-to-videoSeedance 2.5 Reference to Video on RunComfy. Seedance 2.5 Reference to Video is ByteDance's reference-guided video endpoint: it takes up to 9 reference images, 1-3 reference video clips, and 3 reference audio files and returns a 4-30 second 1080p clip with native synchronized audio, identity and art direction locked to your references. This skill calls Seedance 2.5 Reference to Video through the RunComfy CLI, and Seedance 2.5 Reference to Video bills $0.53 per counted second. Triggers on "seedance 2.5", "seedance 2.5 reference to video", "reference to video", "seedance 1080p", "ByteDance Seedance 2.5", "consistent character video", or any explicit ask to generate video from reference images with Seedance 2.5 Reference to Video.
openclaw skills install @permew/seedance-2-5-reference-to-videoruncomfy.com · Seedance 2.5 Reference to Video 1080p model page · 480p draft tier · CLI docs
Seedance 2.5 Reference to Video is ByteDance's reference-guided video model, hosted on the RunComfy Model API. Hand Seedance 2.5 Reference to Video the images that must stay stable, a short clip that carries the camera move, and a prompt that directs the action — it returns a delivery-resolution 1080p clip with synchronized audio. No ByteDance API key, no GPU rental, just runcomfy run bytedance/seedance-2.5/reference-to-video/1080p from your terminal.
openclaw skills install @permew/seedance-2-5-reference-to-video
Seedance 2.5 Reference to Video is the reference-conditioned endpoint of ByteDance's Seedance 2.5 generation. Three properties make it distinct from prompt-only video models:
generate_audio on (the default), Seedance 2.5 Reference to Video produces speech, sound effects, and music timed to the visuals, without a separate post-sync step.Seedance 2.5 Reference to Video generates 4 to 30 second clips in seven aspect ratios. Prompts accept Chinese (roughly 500 characters) or English (roughly 1000 words).
Pick Seedance 2.5 Reference to Video when any of these is true:
Reach for something else when there are no references at all (use Seedance 2.5 text-to-video), when you have exactly one still and no reference clip (use Seedance 2.5 image-to-video), or when you are still deciding which references work (draft on the 480p reference tier first).
npm i -g @runcomfy/cli, or run it ad hoc with npx -y @runcomfy/cli.runcomfy login opens a browser device-code flow and writes the token to ~/.config/runcomfy/token.json.RUNCOMFY_TOKEN — the only environment variable this skill needs. It is the RunComfy Model API token used to authenticate the generation request. Set it instead of runcomfy login in CI or containers; nothing else reads it.bytedance/seedance-2.5/reference-to-video/1080p| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
prompt | string | yes | — | Scene description that uses the references as cues. Chinese roughly 500 chars or English roughly 1000 words recommended. |
videos | array (video URIs) | no | — | 0-3 reference clips for camera motion and rhythm. MP4/MOV, roughly 2-15 s each. Optional in practice — see below. |
images | array (image URIs) | no | — | 0-9 reference images for identity, look, style, environment. JPEG/PNG/WebP/BMP/TIFF/GIF. |
audios | array (audio URIs) | no | — | 0-3 reference audio for mood and pacing. WAV/MP3, roughly 2-15 s, under 15 MB. |
aspect_ratio | enum | no | 16:9 | 16:9, 9:16, 1:1, 4:3, 3:4, 21:9, adaptive. |
duration | int | no | 5 | 4-30 seconds, whole seconds. |
generate_audio | bool | no | true | Native synchronized speech, SFX, and music. |
Output resolution is fixed at 1080p — this endpoint has no resolution field.
videos is optional, despite what the schema says. The published input schema for Seedance 2.5 Reference to Video 1080p lists videos as required with a one-item minimum, but the endpoint accepts and completes a prompt-plus-images body carrying no videos key. Send reference clips when you want camera motion and rhythm copied from an existing plate; omit them when your references are stills. Omitting them also drops reference duration out of the bill: counted seconds fall back to output duration alone, so a 5 s clip costs $2.65 instead of $5.30.
Field names changed from Seedance 2.0. Seedance 2.0 Pro used image_url / video_url / audio_url. Seedance 2.5 Reference to Video uses images / videos / audios. A copied 2.0 body fails schema validation (exit 65).
Seedance 2.5 Reference to Video 1080p bills $0.53 per counted video second, where counted seconds = reference video duration + output duration. Image and audio references are not billed as duration.
| Job | Counted seconds | Cost |
|---|---|---|
| 5 s output, no reference clip | 5 | $2.65 |
| 5 s output, one 5 s reference clip | 10 | $5.30 |
| 10 s output, one 6 s reference clip | 16 | $8.48 |
| 10 s output, three 10 s reference clips | 40 | $21.20 |
Two things follow. Trim reference clips before uploading — a 15 s reference costs exactly as much as 15 s of output. And select references on the 480p tier, which bills $0.12 per counted second with reference videos, or $0.20 per second of generated video with none.
Minimum viable call — prompt plus one reference clip:
runcomfy run bytedance/seedance-2.5/reference-to-video/1080p \
--input '{
"prompt": "Slow push-in down the aisle, dust motes drifting through warm side light, shallow depth of field, continuous smooth motion, no text, no watermark.",
"videos": ["https://your-cdn.example/camera-move-6s.mp4"]
}' \
--output-dir ./out
Consistent character final — identity from stills, motion from a plate:
runcomfy run bytedance/seedance-2.5/reference-to-video/1080p \
--input '{
"prompt": "The woman from the reference images walks toward camera and stops, glancing off-frame. Handheld follow, soft overcast light, quiet street ambience. No text, no watermark.",
"images": [
"https://your-cdn.example/hero-front.jpg",
"https://your-cdn.example/hero-profile.jpg",
"https://your-cdn.example/wardrobe.jpg"
],
"videos": ["https://your-cdn.example/handheld-follow-4s.mp4"],
"duration": 8,
"aspect_ratio": "9:16"
}' \
--output-dir ./out
Full reference stack — add "audios": ["https://your-cdn.example/bed-8s.mp3"] to hand Seedance 2.5 Reference to Video a pacing and mood reference alongside the images and clip.
The CLI submits the request, polls status, fetches the result, and downloads *.runcomfy.net / *.runcomfy.com URLs into --output-dir. Ctrl-C cancels the remote request before exit.
Let references anchor, let the prompt direct. Whatever must stay stable — face, wardrobe, product geometry, brand palette — goes in images. Whatever evolves — action, camera, lighting change, mood — goes in prompt. Describing a face in prose while also supplying a face reference produces drift, not reinforcement.
Reference videos carry camera and rhythm, not content. A four-second handheld-follow plate teaches Seedance 2.5 Reference to Video the move. It will not transfer the subject; that is what images is for.
Keep reference media short. Roughly 2-15 seconds per clip and per audio file, audio under 15 MB. Overlong files are rejected, and on this endpoint they also inflate the bill.
Name every sound source when generate_audio is on: who speaks, what makes each noise, what the ambience is. "Quiet street ambience, distant traffic, no music" beats "good audio".
Use negative instructions. "No text, no watermark" is the pattern in RunComfy's own example prompt for this model, and it works. Add "no camera shake" or "no extra people" as needed.
Match aspect ratios. Reference media in a different aspect from aspect_ratio invites crops. Use adaptive when your references disagree and the exact frame does not matter.
Common failure modes: nine reference images drawn from nine unrelated aesthetics; a 15-second reference clip when four seconds carry the move; asking for 30 seconds from a prompt with a single beat; and reusing a Seedance 2.0 body with the old image_url field names.
RunComfy's guidance for this model family is to validate the reference stack at low resolution, then reuse the winning combination at delivery resolution. Both endpoints take the same parameters.
bytedance/seedance-2.5/reference-to-video/480p at duration: 5..../reference-to-video/1080p, raising duration only once the beat is right.At $0.12 per counted second on 480p versus $0.53 on 1080p, five drafts cost roughly what one 1080p final costs.
| Use case | Why this endpoint |
|---|---|
| Consistent character finals | Up to 9 identity references hold face and wardrobe across shots |
| Product reference films | Geometry comes from stills; the turntable move comes from a plate |
| Style-locked brand clips | A moodboard in images beats a paragraph of style adjectives |
| Previz that survives to delivery | Native 1080p output, no upscale step |
| Dialogue and ambience in one pass | generate_audio produces synchronized speech, SFX, and music |
| Endpoint | Takes | Billing |
|---|---|---|
seedance-2.5/reference-to-video/1080p | prompt + up to 3 videos + up to 9 images + 3 audios, videos optional | $0.53 / counted second |
seedance-2.5/reference-to-video/480p | same inputs, 480p output | $0.12 / counted second with videos, $0.20 / output second without |
seedance-2.5/text-to-video/1080p | prompt only | $0.88 / output second |
seedance-2.5/image-to-video/1080p | prompt + one image | $0.88 / output second |
seedance-v2/pro | the older Seedance 2.0 Pro generation, 4-15 s, 480p/720p, image_url field names | see model page |
Other reference-to-video families in the RunComfy catalog: Wan 3.0 Prime Reference to Video and MiniMax H3 Reference to Video.
| code | meaning |
|---|---|
| 0 | success |
| 64 | bad CLI args |
| 65 | bad input JSON / schema mismatch (Seedance 2.0 field names, out-of-range duration, bad aspect_ratio) |
| 69 | upstream 5xx |
| 75 | retryable: timeout / 429 |
| 77 | not signed in or token rejected |
Full reference: docs.runcomfy.com/cli/troubleshooting.
The skill builds a JSON body matching the schema above and runs runcomfy run bytedance/seedance-2.5/reference-to-video/1080p. The CLI POSTs to https://model-api.runcomfy.net/v1/models/bytedance/seedance-2.5/reference-to-video/1080p, polls request status, fetches the result, and downloads any .runcomfy.net / .runcomfy.com output URL into --output-dir.
npm i -g @runcomfy/cli or npx -y @runcomfy/cli. Never pipe a remote install script into a shell on the user's behalf.runcomfy login writes the API token to ~/.config/runcomfy/token.json with mode 0600. RUNCOMFY_TOKEN is the single declared environment variable and exists solely to authenticate the generation request in CI or containers. The skill reads no other environment variable, no shell history, and no other skill's configuration. Never echo the token into prompts, logs, or generated files.--input. The CLI does not shell-expand prompt content, so prompt text is not a shell-injection surface.model-api.runcomfy.net for submission and *.runcomfy.net / *.runcomfy.com for downloads. No telemetry, no callbacks.