Skip to content

Agent FAQ

The questions an agent hits most while driving a FlixML install. SKILL.md in the repo is the short guide to picking a workflow and running it; this page is the part worth looking up on its own.

run_time.by_provider on the workflow, in seconds, measured on that install rather than estimated. Quote it to the user before submitting anything long. It’s null until the workflow has completed a run there.

One whose vram_gb meets the workflow’s requirements.vram_gb, is online, and — for video — has video in its roles. Read them from GET /api/nodes.

A workflow’s own compatible_providers field lists backend types, not nodes. The provider a generate call takes is the node’s provider id — local-<node>, listed by GET /api/providers. The node’s own name is not it: srv01 is rejected where local-srv01 is accepted.

Can I have a clip longer than five seconds?

Section titled “Can I have a clip longer than five seconds?”

Yes. wan22_i2v renders 81 frames, about five seconds at 16 fps. For one continuous action past that, use wan22_i2v_context and set length — 161 frames is about ten seconds, and costs roughly twice an 81-frame render.

Don’t chain clips to get there. Each chained clip starts the model from a still, so the motion restarts and the grade can shift between clips. Chaining is for a new shot.

The user pasted FlixML asset <prompt_id> and said “same but …”

Section titled “The user pasted FlixML asset <prompt_id> and said “same but …””

That line comes from the Studio UI. Look the job up rather than asking them for the workflow, checkpoint, seed or params:

Terminal window
curl <your-api-url>/api/jobs/<prompt_id>
curl "<your-api-url>/api/listing?q=<filename>" # uploads and imports have no job

Change what they asked for, keep the rest, and keep the seed only if they want the same picture back.

A job reads back differently from the request that made it. steps, cfg, sampler and scheduler are sent top-level but come back inside workflow_params. settings is read off the graph the node actually ran, so it also carries what nobody passed — the sampler passes, frame rate and LoRA strengths the workflow supplied itself.

Check the character’s loras for an entry naming the exact workflow you used. Each entry names the one workflow it loads in, and the name has to match exactly — sdxl_lora or flux2_dev_lora, not sdxl_base.

A workflow that isn’t listed loads no identity LoRA, and no trigger word is injected either — a trigger only means something to the weights it was trained into. The job still completes, so a wrong workflow looks like a working call that hands back a stranger, built from the character’s base_prompt and nothing else.

An empty loras means the likeness is base_prompt alone — a written description, which holds a type and drifts between seeds. See Characters & LoRAs.

Why doesn’t passing a character to a video job keep the likeness?

Section titled “Why doesn’t passing a character to a video job keep the likeness?”

POST /api/video/generate takes identity from the start frame. A character there injects no trigger and loads no LoRA — it only stands in as the reference image for image-to-video when you pass none. Make the face in an image first, then animate that image.

POST /api/tts/generate for the line, then infinitetalk_i2v with image and audio. It needs an ElevenLabs key on the install; a 503 means there isn’t one, and the rest of the pipeline is unaffected.

Audio laid over a finished clip does not move the mouth — voice at the video stage, not at assembly.

Can I add a voiceover when the project renders?

Section titled “Can I add a voiceover when the project renders?”

No. Render plays scenes and shots in number order, burns in each subtitle, and keeps each clip’s own audio. To give a project spoken dialogue, voice each shot before rendering: speak the line with /api/tts/generate, run infinitetalk_v2v with that audio and the shot’s clip as video, PATCH the shot’s video_file to the voiced clip, and clear its subtitle.

There’s a workflow I’ve never heard of

Section titled “There’s a workflow I’ve never heard of”

Check its source. shipped means FlixML ships and documents it. local means the install’s owner dropped it into workflows/local/ themselves — nothing in the docs, the site or SKILL.md describes it. Read its params and ask them what it’s for rather than assuming it behaves like the shipped workflow whose name it resembles.

Only once the user confirms they have the right to use that likeness.