Nodes/arkennemasis - ChatGPT / Codex / fal AI nodes/arkennemasis fal · MiniMax H3 Max Styles 16-bit Pixel · $0.08/s
ComfyUI Node

arkennemasis fal · MiniMax H3 Max Styles 16-bit Pixel · $0.08/s

Video in a style the prompt can't ruin

By Hishamahmer·Created 3 months ago·Updated 9 days ago· 11
arkennemasis fal · MiniMax H3 Max Styles 16-bit Pixel · $0.08/s
  • image
  • video
  • video_path
  • seed
  • info
◄prompt►
◄duration5►
◄aspect_ratio16:9►
◄seed-1►
◄max_cost_usd20.0►
◄reuse_identical_runtrue►
◄extra_json►
◄max_concurrent1►

Style locked in the endpoint, not in your prompt

You can get a pixel-art look from a general video model with the right prompt and enough luck. This endpoint removes the luck: the 16-bit pixel style is applied automatically, and your prompt describes only the scene, the action, the camera and the sound. No "retro SNES sprite art, 16-bit, dithering" incantation, no style drift when you change a word, no fighting the model's default realism.

That's the trade. You give up control of the look and get consistency across shots - which, if you're making a sequence, is the thing you were going to spend an afternoon failing to hold with prompts.

How it works

This is an H3 Max style endpoint: text prompt in, 768p video with audio out, durations 5–15 seconds. Audio is included in the price rather than generated as a separate pass, so describing a sound effect in your prompt is not wasted. You can optionally feed a first-frame image, and if you do, its aspect ratio sets the output canvas and the aspect_ratio box is ignored.

Cost is flat for the tier: $0.08 per second at 768p, audio included. Five seconds is $0.40, fifteen seconds is $1.20. No 480p rung and no 1080p rung to think about.

Inputs that matter

  • prompt - scene, action, camera, sound. Describe what happens; don't describe the style, because the node applies it. This is the adjustment people miss: a prompt stuffed with style keywords fights the endpoint's own pipeline for no gain.
  • image - optional first frame. The tooltip's advice is worth following: use pixel artwork for the most consistent style. Feeding it a photoreal frame into a pixel endpoint is asking it to translate, and translations wobble.
  • duration - seconds, default 5, and the endpoint supports 5 to 15.
  • aspect_ratio - 21:9, 16:9 (default), 4:3, 1:1, 3:4, 9:16. Only used for text-only generation; ignored when you supply an image.
  • seed - -1 lets the model pick. Set a value when you want the same scene twice.

Plus the pack's shared guards on every fal node: max_cost_usd (default $20, checked before upload, 0 turns it off), reuse_identical_run (identical inputs return the already-paid result instead of buying a second one), extra_json (raw JSON merge for anything the widgets don't cover) and max_concurrent (default 1 - one paid fal call at a time across the whole run).

Outputs

video (to SaveVideo, PreviewVideo, or the pack's Video Assemble), video_path, seed (the one actually used, which matters when you left it at -1 and loved the result) and info with the request id, cost estimate, saved files and fal's raw answer.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/Hishamahmer/comfyui-arkennemasis
pip install -r comfyui-arkennemasis/requirements.txt

Restart ComfyUI, then it's under arkennemasis/fal/Video/MiniMax - the styles nodes sit alongside the general H3 ones. Key line in the .env next to run_nvidia_gpu.bat:

FAL_KEY=your-key-from-fal.ai/dashboard/keys

Where people get burned

Writing style into the prompt. "16-bit pixel art, retro game, sprite" in a prompt for a node that applies 16-bit pixel styling is at best neutral and at worst noisy. Save the tokens for the scene.

Expecting 1080p. This endpoint is 768p, full stop, and the price is fixed per second accordingly. If you need bigger, upscale locally afterward - a pixel-art clip survives upscaling far better than most styles.

Feeding it a photoreal first frame. The first frame sets the canvas and anchors the look, so the more unlike pixel art your input is, the more the model has to convert, and conversion is where the seams appear.

Chaining clips and losing the palette. Each run is independent. If you're building a sequence, keep the seed and the first-frame source stable, or accept that shot four will have a slightly different colour ramp than shot one.

Billing is per generated second, so duration is your budget dial. Fifteen seconds is three times a five-second clip. Do the motion test at 5 and extend once you're happy.

A crash mid-wait doesn't cost extra. Submits are logged in output/fal/_requests.jsonl; the job finishes on fal and fal Recover Result collects it by request id, free.

Categoryarkennemasis/fal/Video/MiniMax

Inputs (9)

NameTypeDefaultDescription
promptSTRINGDescribe the scene, action, camera and sound. The 16-bit pixel style is applied automatically.
durationINT55–15Requested video duration in seconds.
aspect_ratioCOMBO16:9Video aspect ratio for text-only generation. Ignored when image_url is provided.
seedINT-1-1–2147483647Random seed. Omit to choose one automatically. -1 leaves it to the model.
imageoptIMAGEOptional first-frame image. Use pixel artwork for the most consistent style. When provided, its aspect ratio determines the output canvas.
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 (4)

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