arkennemasis fal · Flux 3 Image to Video · $0.17-0.29/s
Animate one still with FLUX 3 — the photo you already like, now moving
- image
- video
- video_path
- seed
- info
Image-to-video is the honest way to use a video model. Text-to-video asks the model to invent a whole shot; image-to-video asks it to add time to a picture you already chose - so the composition, the lighting and the character are settled before you spend a cent. You keep the frame you like and pay only for the motion.
ArkFal_blackforestlabs_flux_3_image_to_video animates a single still into a clip with synchronized audio, up to 20 seconds, at $0.17/s (720p) or $0.29/s (1080p). It's FLUX 3 Video on fal, which as of now is the only place FLUX 3 Video runs - flux-2.md records it as early-access API with private weights and the open Dev backbone still unshipped.
What you set
image- required. The still the clip starts from. PNG, JPEG or WebP; the node uploads it to fal's CDN for free before the paid call.prompt- what should happen. Not a description of the picture; a description of the motion. "She turns to camera, hair moves, camera slowly pushes in" beats a paragraph about how pretty she is.resolution-720p(default) or1080p. The price difference is real: 1080p is about 70% more per second.duration-auto, or pin the seconds. Video models are seconds-billed; this box is your budget.generate_audio- on by default, and free either way. Dialogue, SFX and ambience arrive with the clip, which is a big part of why FLUX 3 feels different from the silent open models.aspect_ratio-autolets the model choose. With an image input that's usually sensible; set it explicitly if the still's shape and your target don't agree.safety_tolerance- 0 strictest to 4 most permissive, default 2.
Shared optional controls: max_cost_usd (default $20; stops the run before upload if the estimate exceeds it - for 1080p work a $5 cap is not paranoid), reuse_identical_run (on by default), extra_json, max_concurrent.
Outputs: video, video_path, seed (so a good roll can at least be noted down), info.
The draft habit
The companion ArkFal_blackforestlabs_flux_3_image_to_video_draft does the same job at $0.06/s and returns a draft cache you can finish at full quality through draft_enhance. If you're going to run the same still three ways - which is exactly what you'll do - draft all three, pick, and finish one. Ten seconds of 1080p full render is $2.90; ten seconds of draft is $0.60.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/Hishamahmer/comfyui-arkennemasis
Then restart. (ComfyUI Manager → search arkennemasis → install does the same thing with the dependency install handled.) Your key goes in .env:
FAL_KEY=your-key-from-fal.ai/dashboard/keys
next to run_nvidia_gpu.bat, or in the ComfyUI folder on a regular install. There's no key input on the node - a widget would end up baked into every workflow JSON you share.
Where people get burned
Check the still's resolution before you connect it. The model works to a target resolution you select, so a 512px source stretched to 1080p will look soft by construction - upscale first or accept the softness. And if the source has alpha, don't expect it downstream: alpha is dropped on the way through the pipeline in both directions.
The other one is expectation-setting. Independent reviewers of the FLUX 3 showcase have already caught the characteristic failure mode - physics that look right at a glance and wrong on the second look. Add time, and things that were impossible in a still become visible. Keep shots short, keep motion motivated, and it holds up far better.
Files go to output/fal/blackforestlabs_flux-3_image-to-video/, and every paid request is logged in output/fal/_requests.jsonl - the node's recovery net if ComfyUI dies mid-render.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | The text prompt describing the video you want to generate. | |
| aspect_ratio | COMBO | auto | Aspect ratio of the generated video. `auto` lets the model choose. |
| resolution | COMBO | 720p | Resolution of the generated video. |
| duration | COMBO | auto | Duration of the generated video in seconds. `auto` lets the model choose. |
| generate_audio | BOOLEAN | true | Whether to generate audio for the video. |
| safety_tolerance | INT | 20–4 | The safety tolerance level for the generated video. 0 is the strictest and 4 is the most permissive. |
| image | IMAGE | URL of the image the video starts from (PNG, JPEG, or WebP). | |
| max_cost_usdopt | FLOAT | 20.00–100000 | Safety 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_runopt | BOOLEAN | true | If 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_jsonopt | STRING | Advanced: 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_concurrentopt | INT | 11–32 | How 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 (4)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| video_path | STRING | — |
| seed | INT | — |
| info | STRING | JSON: request id, cost estimate, saved files and fal's full answer. |