Nodes/arkennemasis - ChatGPT / Codex / fal AI nodes/arkennemasis fal · Seedance 2.5 US Image to Video · $0.26-1.40/s
ComfyUI Node

arkennemasis fal · Seedance 2.5 US Image to Video · $0.26-1.40/s

First frame, last frame, and the model fills the gap

By Hishamahmer·Created 3 months ago·Updated 9 days ago· 11
arkennemasis fal · Seedance 2.5 US Image to Video · $0.26-1.40/s
  • image
  • end_image
  • video
  • video_path
  • seed
  • draft_id
  • info
◄prompt►
◄resolution720p►
◄durationauto►
◄generate_audiotrue►
◄bitrate_modestandard►
◄codecauto►
◄max_cost_usd20.0►
◄reuse_identical_runtrue►
◄extra_json►
◄max_concurrent1►

This is the Seedance node you'll reach for when you already know what the shot looks like. Give it a still, describe the motion you want, and it animates up to thirty seconds of it with synchronized audio - footsteps, ambience, a line of dialogue if you asked for one. Every frame is generated, so nothing pops or warps the way a per-frame img2vid pass on a local model does.

The interesting extra is end_image. Supply both a starting and an ending frame and the model runs the whole clip as a transition between them - which turns "animate this photo" into "get me from here to there," a genuinely different and much more useful tool for shot planning.

How it works

The node is generated from fal's endpoint schema, which is why it looks exactly like the other Seedance nodes and nothing like a local sampler. On Run it reads FAL_KEY, validates the inputs and the picture, estimates the cost, uploads your images to fal's CDN (free), makes the one billed call, polls while showing status on the node, then downloads the result to output/fal/bytedance_seedance-2.5_us_image-to-video/. "US" is the point of the name: this is the region-hosted twin of the endpoint, and it's priced accordingly - roughly $0.26/s at 480p, $0.57/s at 720p, $1.40/s at 1080p, against the cheaper non-US text-to-video rate. You're paying for the routing.

The inputs that matter

Three of them, honestly:

  • image - the starting frame. JPEG, PNG or WebP, max 30 MB. It gets uploaded as you connected it; if you want 16:9 output, hand it a 16:9 still.
  • prompt - motion and action, not scene description. "She turns to the window, curtain lifts, slow push in" beats a re-description of a photograph the model can already see. Empty is allowed.
  • end_image - optional, and the reason to pick this node over its siblings. Set it and you've authored a transition.

Then resolution (480p / 720p / 1080p), duration (auto or 4–30), generate_audio (free either way per the node's tooltip - sound effects, ambience, lip-synced speech), plus bitrate_mode and codec for the encode. Note there's no aspect_ratio widget: the output follows your picture, so the framing decision happens upstream.

Outputs are video, video_path, seed, draft_id and info. One honest note: draft_id is in the output list because fal's response carries it, but this endpoint has no draft switch, so expect it empty. There's no cheap 480p preview trick here the way there is on the text-to-video node - plan your spend with resolution and duration and nothing else.

Install

Manager → search comfyui-arkennemasis, or:

cd ComfyUI/custom_nodes
git clone https://github.com/Hishamahmer/comfyui-arkennemasis

Restart. Put FAL_KEY=your-key in the .env sitting next to run_nvidia_gpu.bat (or in the ComfyUI folder). No key field on the node, by design - a typed key would be saved into every workflow and every exported graph.

Common issues & troubleshooting

The $20 default cap trips. It applies to this node too, and a 30-second 1080p shot is about $42. The node stops before it uploads or sends anything, so you lose nothing but the click. Lower the duration, drop the resolution, or raise max_cost_usd.

A 30 MB image is rejected. Look at the file size before blaming the node - camera raws and big upscales blow past it. Downscale first; it's a starting frame, not a delivery master.

Same settings, instant result, no charge. That's reuse_identical_run doing exactly what it says: identical settings and the same picture, with the files still in output/fal, come back from disk. Turn it off for a fresh roll.

A clip where the motion stalls halfway. Not the node - a short, specific prompt plus an end_image that's visually far from the start frame asks the model to invent a lot. Move the frames closer together.

Cancelled mid-run and want to know what it cost. ComfyUI's Cancel also cancels on fal, and the ledger at output/fal/_requests.jsonl has the request id either way. If ComfyUI died instead of cancelling, the job kept running - collect it for free with fal Recover Result.

Categoryarkennemasis/fal/Video/Seedance

Inputs (12)

NameTypeDefaultDescription
promptSTRINGThe text prompt describing the desired motion and action for the video. Empty leaves it out.
imageIMAGEThe URL of the starting frame image to animate. Supported formats: JPEG, PNG, WebP. Max 30 MB.
resolutionCOMBO720pVideo resolution - 480p for faster generation, 720p for balance, 1080p for high quality.
durationCOMBOautoDuration of the video in seconds. Supports 4 to 30 seconds, or auto to let the model decide based on the prompt.
generate_audioBOOLEANtrueWhether to generate synchronized audio for the video, including sound effects, ambient sounds, and lip-synced speech. The cost of video generation is the same regardless of whether audio is generated or not.
bitrate_modeCOMBOstandardOutput bitrate mode. 'high' requests a higher-quality, larger-file encode from the model; 'standard' uses the default bitrate.
codecCOMBOauto'auto' retains default video codec behaviour; 'H264' uses H.264; 'H265' uses H.265.
end_imageoptIMAGEThe URL of the image to use as the last frame of the video. When provided, the generated video will transition from the starting image to this ending image. Supported formats: JPEG, PNG, WebP. Max 30 MB.
max_cost_usdoptFLOAT20.00–100000Safety cap. If the estimated cost of this run is above this many US dollars the node stops BEFORE sending anything to fal. 0 = no cap.
reuse_identical_runoptBOOLEANtrueIf these exact inputs (the settings AND the same pictures/clips/audio) were already paid for and the files are still in output/fal, return them instead of paying again - also after a ComfyUI restart. Turn off for a fresh take with the same settings.
extra_jsonoptSTRINGAdvanced: a JSON object merged into the request last, for any fal field this node has no box for. Example: {"seed": 7}. Leave empty normally.
max_concurrentoptINT11–32How many paid fal calls may run at the same time in one run, across every fal node. 1 (default) = one after another. This node starts its paid part only while fewer than this many fal calls are running. Once any fal node fails, the ones still waiting are not started, so nothing more is billed.

Outputs (5)

NameTypeDescription
videoVIDEO—
video_pathSTRING—
seedINT—
draft_idSTRING—
infoSTRINGJSON: request id, cost estimate, saved files and fal's full answer.