Nodes/ComfyUI-emaki/emaki Image to Video (Seedance 2.5)
ComfyUI Node

emaki Image to Video (Seedance 2.5)

Text-to-video is a coin flip, this one isn't

By hanshs474·Created 3 days ago·Updated 3 days ago· 0
emaki Image to Video (Seedance 2.5)
  • image
  • video_path
  • url
◄promptthe camera slowly orbits the subject while soft light sweeps across it►
◄modelseedance_2_5►
◄duration5►
◄resolution480p►
◄aspect_ratioadaptive►
◄generate_audiotrue►
◄api_key►
◄seed0►

If you learn one thing about AI video: image-to-video beats text-to-video the way tracing beats freehand. Anchor the first frame to a picture you already approved and the model has nothing left to invent except motion. The community landed on that years ago - the KB's Wan writeup puts I2V as the favourite mode for exactly this reason.

Reach for it because it takes any IMAGE in your graph, sends it to emaki.ai as the first frame of a Seedance 2.5 clip, and blocks until there's an MP4 on your disk. No GPU, no weights, one API key.

What happens between the wire and the file

The mechanism explains most of the weirdness. On queue, the node takes your tensor - first image of the batch only, downconverted to 8-bit RGB, so alpha is dropped and a four-image batch still makes one clip - encodes it as PNG and uploads it to emaki's storage with a multipart POST. That returns a public URL, which gets submitted as the first frame alongside your prompt and parameters. Poll every five seconds, download the MP4, write it to ComfyUI's output folder as emaki-<unix-timestamp>.mp4.

The inputs that change the result

Seven of the eight fields are settings; the picture and the prompt are the film.

  • image (required) - anything producing IMAGE: a local sampler, a Load Image, an upscale, or the pack's own emaki Generate Image - chain the two and you get "my still, but moving."
  • prompt - describe motion and camera, not the subject. The default is a decent template: "the camera slowly orbits the subject while soft light sweeps across it."
  • duration - integer seconds, 4 to 30. Read the tooltip: Seedance 2.5 takes 4–30, Seedance 2.0 takes 4–15. Pick seedance_2 and ask for 20 and you've asked for something that doesn't exist.
  • resolution - 480p (default), 720p, 1080p. Start at 480p: a wrong motion prompt at 1080p is the most expensive way to learn nothing.
  • aspect_ratio - defaults to adaptive, which keeps your first frame's own shape. Leave it alone unless you need a fixed delivery format.
  • generate_audio - on by default. Seedance 2.5 makes sound natively, the capability that kept closed video models ahead of local ones for a year.
  • model - seedance_2_5 by default, alongside seedance_2, seedance_2_fast, seedance_2_mini, minimax_h3, veo_3_1. The expensive ones are the good ones. fast and mini exist for drafts.

Plus api_key and seed, both optional. Same caveat as the rest of the pack: seed is accepted and never forwarded to the API - it busts ComfyUI's cache to force a fresh paid run, nothing more.

Outputs, and the one that surprises people

Two strings: video_path and url. video_path is an absolute path to the MP4 in ComfyUI's output directory; url is the hosted copy. Neither is a VIDEO or IMAGE, so don't try to wire this into a frame-interpolation or video-combine node - the types won't connect. Load the file instead, e.g. with a VHS-style Load Video node pointed at video_path.

The other thing to know: it's an output node, marked to always execute. No cache to save you - every Queue press buys a new clip. Mute or bypass it while you tune everything upstream.

Install

ComfyUI Manager → search ComfyUI-emaki, or:

cd ComfyUI/custom_nodes
git clone https://github.com/hanshs474/ComfyUI-emaki

Restart. Nothing to install - the pack declares no dependencies and its client is pure standard library - and no models to download. Paste a key from emaki.ai/settings/apikeys into api_key, or set the variable in the shell that launches ComfyUI:

export EMAKI_API_KEY=your_key_here

When it hangs, fails, or bills you twice

  • It blocked for ages and then errored. That's the built-in 900-second deadline, not a crash. The run often keeps going server-side, and the finished clip will be sitting in your emaki library on the site. Long durations at 1080p are the usual culprits: 4–8 seconds at 480p is comfortable, 30 seconds at 1080p is gambling.
  • 409 - one job per account at a time. Two tabs, or a queue fired twice, will collide.
  • 402 / 403. Out of credits, or that model requires a purchase on the account. Step down to seedance_2_fast.
  • 401. The api_key field is empty and EMAKI_API_KEY isn't in the server's environment. Exporting it in a different terminal does nothing until you restart ComfyUI.
  • A refusal. The filter sits inside the hosted model; there's no local bypass, because there are no weights to edit.

Worth saying plainly: API nodes are the right call for models you genuinely cannot run and a subscription trap otherwise. emaki is a Japanese-language front end to ByteDance's model - a middleman charging for one key and a simple UI. Fine for a first frame you care about; price-check the official Seedance node at volume.

Categoryemaki

Inputs (9)

NameTypeDefaultDescription
imageIMAGE—
promptSTRINGthe camera slowly orbits the subject while soft light sweeps across it—
modelCOMBOseedance_2_56 options: seedance_2_5, seedance_2, seedance_2_fast, seedance_2_mini, minimax_h3, veo_3_1
durationINT54–30Seconds. Seedance 2.5 takes 4-30; Seedance 2.0 4-15
resolutionCOMBO480p3 options: 480p, 720p, 1080p
aspect_ratioCOMBOadaptive7 options: 16:9, 9:16, 1:1, 4:3, 3:4, 21:9, +1
generate_audioBOOLEANtrue—
api_keyoptSTRINGKey from emaki.ai/settings/apikeys. Leave empty to read EMAKI_API_KEY from the environment. Runs cost credits on your emaki account, the same price as on the website.
seedoptINT00–4294967295Change to force a new run

Outputs (2)

NameTypeDescription
video_pathSTRING—
urlSTRING—