Install
openclaw skills install @permew/seedance-2-5-image-to-video-720pSeedance 2.5 Image to Video animates one still image into a 4-30 second 720p cinematic clip with optional synchronized native audio. Seedance 2.5 Image to Video runs on RunComfy through the RunComfy CLI, and this skill documents the full four-field schema — prompt, image, duration, generate_audio — plus the $0.35 per second pricing. Seedance 2.5 Image to Video takes exactly one image and has no aspect-ratio control, so the output ratio follows your source still and product shots stay composed as photographed. Reach for Seedance 2.5 Image to Video on packshots brought to life, character animation from a portrait, ad variants from one approved frame, and previsualization. Triggers on "seedance 2.5 image to video", "seedance image to video", "seedance i2v", "animate this image", "bytedance image to video", "still to video".
openclaw skills install @permew/seedance-2-5-image-to-video-720pruncomfy.com · Seedance 2.5 Image to Video
ByteDance Seedance 2.5 Image to Video (720p) turns one still image into a 4–30 second cinematic clip with optional synchronized native audio, hosted on the RunComfy Model API. The output aspect ratio follows your input image.
openclaw skills install @permew/seedance-2-5-image-to-video-720p
Seedance 2.5 Image to Video is the single-image path in the Seedance 2.5 family. It has no aspect-ratio control and no multi-reference input — you give it one image and a motion prompt, and it animates that frame. That narrowness is the point: nothing competes with the source still for identity, wardrobe, or composition.
| You want | Use |
|---|---|
| Animate one still, keep subject and framing intact | Seedance 2.5 Image to Video 720p (this skill) |
| Native speech / SFX / music generated in the same pass | Seedance 2.5 Image to Video 720p (generate_audio: true) |
| A single continuous shot up to 30 seconds | Seedance 2.5 Image to Video 720p |
| Cheaper, faster drafts before the final render ($0.17/s) | Seedance 2.5 Image-to-Video 480p |
| Multiple image / video / audio references in one shot, plus an aspect-ratio control | Seedance 2.5 Reference-to-Video |
| No image at all — generate from a prompt only | Seedance 2.5 Text-to-Video |
| Bridge a defined start frame and end frame | Seedance 2.5 First & Last Frame |
| Lip-sync driven by an audio track you already have | Wan 2.7 (audio_url) |
| A different general-purpose i2v model | HappyHorse 1.0 image-to-video |
npm i -g @runcomfy/cliruncomfy login opens a browser device-code flow.RUNCOMFY_TOKEN=<token> instead of runcomfy login. That is the only environment variable this skill uses; it authenticates the RunComfy Model API and nothing else.bytedance/seedance-2.5/image-to-video/720p| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
prompt | string | yes | — | How the subject and camera move, plus any audio. Chinese ~≤500 characters or English ~≤1000 words recommended. |
image | string (URL) | yes | — | The still to animate. jpeg, png, webp, bmp, tiff, gif. Anchors identity and sets the output aspect ratio. |
duration | integer | no | 5 | 4–30 seconds, whole-second steps. |
generate_audio | boolean | no | true | Synchronized speech, sound effects, and music in the same pass. Set false for silent video. |
That is the complete Seedance 2.5 Image to Video schema. There is no aspect_ratio, no resolution (fixed 720p on this page), no seed, and no multi-image input. Passing extra fields is a schema mismatch.
Default (5 s, audio on):
runcomfy run bytedance/seedance-2.5/image-to-video/720p \
--input '{
"prompt": "<how the subject and camera move>",
"image": "https://.../still.png"
}' \
--output-dir <absolute/path>
Longer single take, silent:
runcomfy run bytedance/seedance-2.5/image-to-video/720p \
--input '{
"prompt": "The model turns slowly toward camera and lifts the bottle into the key light; slow push-in, shallow depth of field, no text, no watermark.",
"image": "https://.../packshot.jpg",
"duration": 12,
"generate_audio": false
}' \
--output-dir <absolute/path>
Spoken line with in-pass audio:
runcomfy run bytedance/seedance-2.5/image-to-video/720p \
--input '{
"prompt": "The barista looks up from the counter and says, in a warm conversational tone, that today'\''s roast just landed. Medium close-up, gentle handheld drift, soft cafe ambience and low chatter behind her.",
"image": "https://.../barista.jpg",
"duration": 8
}' \
--output-dir <absolute/path>
The CLI submits the job, polls status (in_queue → in_progress → completed), fetches the result, and downloads *.runcomfy.net / *.runcomfy.com URLs into --output-dir. Ctrl-C cancels a queued request; jobs already in progress cannot be cancelled.
Split subject motion from camera motion. Write them as separate clauses. "The dancer extends her arm overhead" is subject motion; "slow push-in, locked horizon" is camera motion. Merging them into one sentence produces mushy results where neither reads clearly.
Let the image carry what must stay stable. Face, wardrobe, product geometry, logo placement, background layout — all of that is already in the still. Re-describing it in the prompt spends words and invites drift. Spend the prompt on what should change over the clip.
Name every sound source when generate_audio is on. Who speaks, what they say or the tone they say it in, what makes each effect, and what the ambience is. "Warm conversational tone, soft cafe ambience, no music" is directable; "with audio" is not.
Use negative instructions. "No text, no watermark, no on-screen captions" reliably suppresses the artifacts most likely to ruin a commercial shot.
Match duration to narrative structure. 4–8 seconds for a single beat (one gesture, one camera move). Go past ~15 seconds only when the prompt actually defines a beginning, a development, and an ending — otherwise the model fills the extra time with drift.
Anti-patterns:
Seedance 2.5 Image to Video is billed per second of generated video at a fixed 720p: $0.35 per second.
| Duration | Cost |
|---|---|
| 5 s (default) | $1.75 |
| 10 s | $3.50 |
| 15 s | $5.25 |
| 30 s (max) | $10.50 |
For a batch, total is duration × $0.35 × output count. The 480p page runs the identical four-field schema at $0.17/s, so draft motion there first and render the approved direction here.
| Use case | Why this model |
|---|---|
| Packshot brought to life | Product geometry stays exactly as photographed; motion and light are added around it |
| Character animation from a portrait | Identity is anchored by the still, not reconstructed from text |
| Social and ad variants from one approved still | Same source frame, different motion prompts, consistent brand look |
| Previsualization | See how a static frame could move before committing to a shoot |
| Talking-head from a photo | generate_audio: true produces speech and ambience in the same pass |
| code | meaning |
|---|---|
| 0 | success |
| 64 | bad CLI args |
| 65 | bad input JSON / schema mismatch |
| 69 | upstream 5xx |
| 75 | retryable: timeout / 429 |
| 77 | not signed in or token rejected |
Full reference: docs.runcomfy.com/cli/troubleshooting.
The skill invokes runcomfy run bytedance/seedance-2.5/image-to-video/720p with a JSON body matching the four-field schema. The CLI POSTs to https://model-api.runcomfy.net/v1/models/bytedance/seedance-2.5/image-to-video/720p, polls /v1/requests/{request_id}/status, retrieves /v1/requests/{request_id}/result, and downloads any .runcomfy.net / .runcomfy.com output URL into --output-dir.
runcomfy login writes the API token to ~/.config/runcomfy/token.json with mode 0600 (owner-only). Set RUNCOMFY_TOKEN to bypass the file entirely in CI or containers. The skill reads no other environment variable and no other credential store.--input. The CLI does not shell-expand it; it transmits the JSON body over HTTPS. There is no shell-injection surface from prompt content.model-api.runcomfy.net for submission and *.runcomfy.net / *.runcomfy.com for output download. No telemetry, no callbacks, no remote scripts piped into a shell.Does Seedance 2.5 Image to Video generate audio? Yes. generate_audio defaults to true, so the clip can carry synchronized speech, sound effects, and music produced in the same generation pass. Set it to false when you only need silent video and plan to score the clip yourself.
Can I choose 16:9 or 9:16? Not on this page. Seedance 2.5 Image to Video derives the output ratio from the input image, so crop or letterbox the source still to the ratio you want before submitting. If you need an explicit aspect-ratio control, use the Seedance 2.5 Reference-to-Video page instead.
What is the longest clip? 30 seconds, in whole-second steps, from a floor of 4 seconds. A single 30-second generation holds together better than several short takes stitched in an editor, but only if the prompt describes a clear arc rather than one repeated gesture.
How does it differ from the 480p page? Both take one still plus a motion prompt and expose the same four fields. This page renders at 720p and bills at $0.35 per second; the 480p page renders at 480p and bills at $0.17 per second. The usual workflow is to explore motion at 480p and render the approved direction at 720p.
Can I pass more than one reference? No. Seedance 2.5 Image to Video accepts exactly one image. Multi-reference composition — several images, video clips, and audio references guiding one shot — lives on the Seedance 2.5 Reference-to-Video endpoint.
Is the input image uploaded from my machine? No. You pass a public HTTPS URL and the RunComfy model server fetches it. Host the still somewhere that allows server-side fetches without a login, and prefer pre-signed URLs for private assets.