FastH3 Omni API reference
An event-driven interface for FastH3 Omni. Commands move the session through a state machine while typed messages report queue, clip, canvas and playback changes.
1. About
FastH3 Omni accepts text, up to nine reference pictures and up to three audio clips. The model produces a synchronized main_video and main_audio track.
const session = await client.fastH3Omni.connect({
model: 'fast-h3-omni',
prompt: 'Two friends share a bowl of ramen.',
pictures: [aki, jun, ramenBar],
audio: [akiVoice, junVoice],
});First and last frames
Frame controls let an application define a starting composition and guide the final frame without changing the model audio timeline.
Continue a clip
Queue another clip to continue motion, maintain character continuity and overlap generation with playback.
Get started
Subscribe to a paid plan to use the interactive demo queue. This site is an independent interface preview and does not expose a production inference key.
3. Events
pop
Client-to-model pop command. The TypeScript SDK exposes a typed method, while the Python SDK uses the corresponding snake-case command field.
move
Client-to-model move command. The TypeScript SDK exposes a typed method, while the Python SDK uses the corresponding snake-case command field.
play
Client-to-model play command. The TypeScript SDK exposes a typed method, while the Python SDK uses the corresponding snake-case command field.
stop
Client-to-model stop command. The TypeScript SDK exposes a typed method, while the Python SDK uses the corresponding snake-case command field.
reset
Client-to-model reset command. The TypeScript SDK exposes a typed method, while the Python SDK uses the corresponding snake-case command field.
enqueue
Client-to-model enqueue command. The TypeScript SDK exposes a typed method, while the Python SDK uses the corresponding snake-case command field.
setSeed
Client-to-model setSeed command. The TypeScript SDK exposes a typed method, while the Python SDK uses the corresponding snake-case command field.
getQueue
Client-to-model getQueue command. The TypeScript SDK exposes a typed method, while the Python SDK uses the corresponding snake-case command field.
getState
Client-to-model getState command. The TypeScript SDK exposes a typed method, while the Python SDK uses the corresponding snake-case command field.
setCanvas
Client-to-model setCanvas command. The TypeScript SDK exposes a typed method, while the Python SDK uses the corresponding snake-case command field.
setAutoplay
Client-to-model setAutoplay command. The TypeScript SDK exposes a typed method, while the Python SDK uses the corresponding snake-case command field.
setClipSeconds
Client-to-model setClipSeconds command. The TypeScript SDK exposes a typed method, while the Python SDK uses the corresponding snake-case command field.
setFlushOnClipEnd
Client-to-model setFlushOnClipEnd command. The TypeScript SDK exposes a typed method, while the Python SDK uses the corresponding snake-case command field.
4. Messages
clip_moved— model-to-client state or clip event.clip_failed— model-to-client state or clip event.clip_popped— model-to-client state or clip event.clip_queued— model-to-client state or clip event.clip_started— model-to-client state or clip event.clip_stopped— model-to-client state or clip event.queue_update— model-to-client state or clip event.state_update— model-to-client state or clip event.clip_finished— model-to-client state or clip event.command_error— model-to-client state or clip event.seed_accepted— model-to-client state or clip event.session_reset— model-to-client state or clip event.clip_generated— model-to-client state or clip event.
5. Tracks
| Name | Kind | Direction | Transport |
|---|---|---|---|
| main_video | video | out | recvonly |
| main_audio | audio | out | recvonly |