H3 Max · Creative notes

H3 Max Reference Director: How Named References Work in a Live World

Understand H3 Max Reference Director, choose it over Director or Reference-to-Video, map named image and audio references, and plan a live WebRTC session.

AI Live GeneratorCreate an H3 Max video
Table of Contents

H3 Max Reference Director is a live video session with a reusable cast, not a reference-to-video job that returns one finished MP4. You open a WebRTC connection, give images and audio stable names, and keep directing the world while video and sound arrive as a stream.

That makes it useful for an interactive show, game-like scene, live character or agent-controlled world. It is unnecessary overhead when the deliverable is one short file. In that case, use Reference-to-Video for a multi-reference clip, or a regular text/image generator for a simpler shot.

The word “reference” is doing two different jobs in those product names. The difference is easier to see in the output:

WorkflowWhat you receiveNamed image/audio referencesChange direction while it runs?Available on this site?
H3 Max Reference DirectorA continuous WebRTC video/audio streamYesYesNo
H3 Max DirectorA continuous WebRTC video/audio streamNot the same live reference deckYesNo
H3 Max Reference-to-VideoOne completed clip from a queued requestNo; numbered references for one requestNoA limited photo workflow
H3 Max Turbo generator hereOne completed 5–15 second clipNo; text or opening/end framesNoYes

If the viewer must influence the next scene while the same people and world carry forward, Reference Director is the relevant route. If you need a file to put on a timeline, it is probably not.

Start with a reference deck, not a giant prompt

fal's current Reference Director schema accepts up to nine image references and three audio references. Each reference can carry a name. That name is more useful than “Image 1” once a session has several characters, locations and updates.

A small deck for an overnight radio-station scene might be:

NameAssetOne job in the world
MaraClean portrait of the adult hostFace, hair, age and clothing
JonahClean portrait of the adult callerFace, hair, age and clothing
StudioWide empty control-room imageDesk layout, windows, practical lights and color palette
StormRoomToneCleared or original audio clipRain, distant thunder and quiet electrical room ambience

Then write the opening direction in names: “Mara sits at the Studio desk while Jonah appears outside the glass booth.” Do not ask the portrait of Mara to define the studio, the weather and a camera move as well. One reference with one clear responsibility is easier to update and diagnose.

The image fidelity field has high, medium and low choices. The live schema describes those as 768, 512 and 256-pixel vision-conditioning detail. That is an input-processing choice, not an identity-lock percentage. A high-fidelity portrait gives the model more visual detail to condition on; it does not promise the same face in every frame of an indefinite stream.

Use only material you have the right to upload. Naming a public figure's photo in a request does not create consent or a license.

Configure establishes the world; prompt messages steer it

The first client message is configure. It establishes the opening prompt, the initial references and session-level choices such as resolution, aspect ratio, memory and seed. Later prompt messages can change the direction, add a script or update references without reopening the connection.

Those messages need an increasing prompt_version. More importantly, sending a version is not the same as seeing it take effect. The server contract includes states such as:

  • prompt_pending, prompt_applied and prompt_rejected;
  • audio_pending, audio_applied, audio_exhausted and audio_rejected;
  • reference_state, with each reference's ID, name, kind and revision;
  • chunk, session_info, session_metrics and stream_exhausted.

A useful interface should show the last applied version, not optimistically label every click “live.” It should also preserve the rejection reason. stale_prompt_version, queue_full, invalid_script and infeasible_timing require different fixes.

The reference_state message matters when a character image changes mid-session. Store the revision the server accepted. Otherwise the control panel may show a new portrait while the model is still conditioning on the previous one.

Scripts are timed plans, not a finished edit

Reference Director currently accepts a script with up to 64 beats. Each beat has an offset from the start of that script. Fractional offsets are allowed and are quantized to the 24 fps frame grid. A beat can carry a prompt, audio and reference images.

For the radio-station world, a short plan could read:

0.0s — Wide view of Studio. Mara watches the storm through the control-room glass.
        Keep StormRoomTone low under the scene.

6.0s — Jonah enters the booth, shakes rain from his coat and sits opposite Mara.
        Keep both faces readable; no cut to an unrelated location.

12.5s — Mara raises one hand for silence as the desk telephone begins to ring.
         Hold on the unanswered phone and the two characters' reactions.

This is a request plan, not a claimed result. Its value is that every beat changes one thing and ends on an observable state. If the telephone rings before the hand rises, you know the failure is timing. If Jonah's identity drifts, inspect the reference state and the visual brief rather than rewriting the storm audio.

Three controls decide how a live update interacts with an existing plan:

  • script_mode: "replace" cuts to the new script at the next chunk; append queues it behind the current script.
  • replan: true clears the pending prompt plan so the new direction can reach the next undispatched chunk; false lets already planned chunks finish first.
  • audio behavior replace changes the source at the next eligible chunk; queue waits for the earlier source to end.

That is scheduling, not frame-accurate nonlinear editing. If exact dialogue timing, stems or a locked final cut matter, record the session and finish the piece in an editor.

Memory helps continuity, but it is not permanent memory

The memory setting is the number of prior segment prompts kept as context for future prompt expansion. The current schema allows 1–50 and defaults to 12. It does not mean the renderer remembers every pixel, prop and relationship forever.

For a long session, keep durable facts in the current world prompt and references:

  • the cast names and appearance;
  • the room layout and recurring objects;
  • relationships that affect the next action;
  • the visual and audio rules that should not drift.

Use memory for recent story state. Do not hide the only description of a character in an old prompt and assume it will survive after that segment leaves the context window.

The schema also exposes forced_cut_max_segments, described as a way to open a fresh shot after a number of continuous segments to mitigate reference burn-in. It is a low-level continuity control, not an automatic “make this cinematic” button. A forced cut can protect the pipeline while still being the wrong creative transition for your show.

Reference Director and ordinary Director are different products

The existing H3 Max Director guide covers the text-led live session: open a world, then steer it with new directions. Reference Director adds the named reference deck and the state needed to maintain it across the live session.

Choose ordinary Director when the world can be defined mostly in text and the live control loop is the point. Choose Reference Director when specific people, places or sounds must be introduced as assets, addressed by name and revised while the world continues.

Choose Reference-to-Video instead when several assets should guide one completed clip. That route fits a render queue and a download flow. It does not keep an open world waiting for the next prompt.

Price the session from the live endpoint, not another Director page

On November 2, 2026, fal's Reference Director model page displayed $0.05 per second of video generated and said sessions longer than 15 minutes require approval.

Do not copy the ordinary Director's 60-second minimum onto Reference Director. The Reference Director page does not currently state that minimum. It also reports pricing_status as provisional-experiment in session information and publishes resolution-dependent billable-unit multipliers. Those details make a universal cost table unsafe.

Treat the visible $0.05 figure as a dated public listing, read the live quote before opening a session, and enforce your own server-side ceiling on generated seconds. Persist the session's returned billing and metrics instead of assuming that wall-clock connection time and billable video time are identical.

This site's clip credits do not apply to Reference Director. We do not expose that endpoint here and do not sell a live-session package.

The integration is still an integration project

fal currently documents fal.realtime.open through alpha client packages. The API can change in a minor release. A production product needs more than a video element and a prompt box:

  1. Keep FAL_KEY behind an authenticated server proxy. The official example explicitly requires protecting that proxy route.
  2. Authorize who can open, steer and stop a session. A hidden URL is not access control.
  3. Record the applied prompt version, reference revision, generated seconds and closure reason.
  4. Show pending and rejected states instead of silently dropping a direction.
  5. Set time and spend limits before connecting, then close the session server-side when either limit is reached.
  6. Decide whether the stream is ephemeral or recorded, and make consent and retention visible to participants.

Start with two people, one location and one audio bed. Add live reference changes only after the product correctly reports which version is active. A smaller world exposes control bugs sooner than a 64-beat script with nine images.

Choose by the thing you must deliver

Use H3 Max Reference Director when the product is the continuing interaction: a stable cast inside a live world that viewers, software or an agent can redirect.

Use Reference-to-Video when multiple approved assets should guide one finished take. Use an H3 Max Turbo clip on this site when the brief can be solved with text, an opening image or first and last frames.

The distinction is not “advanced versus basic.” It is session versus file. If a file is the goal, open the H3 Max Generator and make the smallest shot that moves the project forward. If the world must stay open, design the reference state, acknowledgement UI and budget controls before you open the WebRTC session.

Reference Director model page, API schema and pricing checked November 2, 2026. No paid session was run for this article.

The next shot is yours

Take the idea into the studio.

Start with a prompt or an image. Choose the duration and resolution, then check the credit cost before you generate.

Create an H3 Max video
More H3 Max articles