Seedance 1.0 Pro
Text-to-Video That Respects Your Camera
- frameImages
- video
Seedance is ByteDance's text-to-video line, and 1.0 Pro is the version that earned the reputation: strong motion, coherent scenes, and - the thing people actually notice - camera control that doesn't feel like an afterthought. In this pack it's a single node under Runware/Video/bytedance: type a prompt, optionally hand it a starting frame or two, and a native VIDEO comes back from Runware's cloud. No local GPU, no weights, no ffmpeg dance to get a result - you pay per run and it renders server-side.
How it works
The node sends your prompt (and any frameImages) to Runware, ByteDance's Seedance 1.0 Pro generates the clip, and the result is decoded into a native VIDEO on your machine. It's text-to-video out of the box, but the frameImages input is what makes it image-to-video too - feed it a still and the model animates from that frame instead of inventing one. The cameraFixed option is the quiet killer feature: lock the camera and you get a stable shot rather than the roaming, drift-prone camera movement that made early text-to-video feel cheap.
The inputs that matter
- positivePrompt (required, multiline) - what you want on screen. This is a video model, so write for motion and scene, not just subject: lighting, camera behavior, and action read better than a list of tags.
- frameImages (IMAGE) - one or more start frames for image-to-video. Skip it for pure text-to-video.
- size - a dropdown of 17 presets:
None (model default), plus 480p/1080p in common aspect ratios (16:9, 4:3, 1:1, 3:4, 9:16, 9:21, 21:9). Only one size is sent, so pick the preset and don't fight it. - duration (1.2–12 seconds) - clip length. The tooltip notes total frames = duration × the model's fps. Longer isn't automatically better; 5 seconds is the default for a reason.
- seed - reproducibility. Set it to lock a take.
- numberResults (1–4) - seed-based variations. For video, where a bad run costs real credits, generating 2–3 and picking the winner often beats rerolling.
- providerSettings.bytedance.cameraFixed (BOOLEAN) - locks camera position and angle, preventing pan/tilt/zoom. On for anything where the scene should hold still.
- safety (toggle gating
safety.checkContentandsafety.modenone/fast/full) - leave the content check on for shared workflows; the node prints the verdict in its title bar. - outputFormat (MP4/WEBM/MOV) and outputQuality (20–99) - delivery and compression.
Wiring it up
Output is video → any VIDEO preview/save node. For image-to-video, pull frameImages from a generation node or a loaded image. You can chain reference videos via the RunwareBuild_referenceVideos builder if the model exposes the socket, but Seedance 1.0 Pro's strength is single-prompt and single-frame control - keep it simple.
Install and setup
One install for the whole catalog: ComfyUI Manager → "Runware" → install → restart, or clone and pip install -r ComfyUI-Runware/requirements.txt (runware-sdk, pillow, soundfile). API key in Settings → Runware API key, RUNWARE_API_KEY, or runware auth login, plus funded credits. Video inference is the priciest thing in this pack, and the community's recurring friction is the ~$20 minimum top-up with a card on file - budget before you batch.
Troubleshooting
- Video lands as a file path - older ComfyUI lacks
VideoFromFile, so the pack saves to your output folder instead of wrapping a VIDEO. Check there. - Camera wanders when you wanted a lock -
cameraFixedexists for exactly this. Flip it on. - Clips come out short/choppy - raise
durationtoward the model's comfort zone and loweroutputQualityif you're iterating; re-encode at high quality only for the final. - Blocked by safety -
safety.mode: fullcan reject borderline content. Adjust content or drop tononeif your material is clearly fine.
Seedance 1.0 Pro is the "just make me a clip" node of this catalog - good motion, controllable camera, and a single obvious place to plug in a starting frame. It won't replace a real production pipeline, but for iterating on a video idea it's the most direct path from prompt to playback.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| positivePrompt | STRING | Text prompt describing elements to include in the generated output. | |
| frameImagesopt | IMAGE | — | |
| sizeopt | COMBO | 480p (16:9) | Output size. Only one of resolution or dimensions is sent. |
| seedopt | INT | 00–9223372036854776000 | Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range. |
| durationopt | FLOAT | 5.001.2–12 | Length of the generated video in seconds. The total number of frames produced is determined by duration multiplied by the model's frame rate (fps). |
| numberResultsopt | INT | 11–4 | Number of results to generate. Each result uses a different seed, producing variations of the same parameters. |
| providerSettings.bytedance.cameraFixedopt | BOOLEAN | false | Fix the camera position and angle, preventing any panning, tilting, or zooming effects. |
| safetyopt | BOOLEAN | false | Enable to set safety. Off uses the model's default. |
| safety.checkContentopt | BOOLEAN | false | Enable or disable content safety checking. |
| safety.modeopt | COMBO | fast | Safety checking mode for video generation. |
| ttlopt | BOOLEAN | false | Enable to set ttl. Off uses the model's default. |
| ttl_valueopt | INT | 60 | Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`. |
| outputFormatopt | COMBO | MP4 | File format for the generated video. |
| outputQualityopt | INT | 9520–99 | Compression quality of the output. Higher values preserve quality but increase file size. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |