Skip to main content
Interactive sessions give you a multi-turn conversation with the Video Agent. Instead of going straight to rendering, the agent pauses at checkpoints (like storyboard review) so you can provide feedback, adjust direction, and approve before the final video is generated. For the fire-and-forget alternative, see Prompt to Video.

Session lifecycle

1

Create a session

POST /v3/video-agents with "mode": "chat" — Send your initial prompt. The agent begins processing.
2

Poll for status

GET /v3/video-agents/{session_id} — Check progress and read agent messages. The session pauses at reviewing status.
3

Review and iterate

POST /v3/video-agents/{session_id} — Send feedback or approve the storyboard. Repeat as needed.
4

Generate the video

Approve the storyboard by sending a confirmation message. The session moves to generating, then completed. Fetch the final video with GET /v3/videos/{video_id}.

Session statuses

Create a session

Full schema: POST /v3/video-agents. Pass "mode": "chat" to enable interactive mode.

Request body

To skip the review step entirely, create the session with "mode": "generate" instead of "chat". It runs straight through to generation and you still get a session_id to track. mode is the only control over whether the agent pauses — there is no separate flag.

Example

Response

Poll session status

Full schema: GET /v3/video-agents/{session_id}. Returns the current session status, progress percentage, chat messages, and the video_id once generation starts.

Response

Response fields

Message object

Send a follow-up message

Full schema: POST /v3/video-agents/{session_id}. Send feedback, request changes, or approve the storyboard. The agent processes your message and updates the session.

Request body

There is no auto_proceed parameter. Sending any follow-up message resumes the agent, so a confirmation like “looks good, generate it” is what approves the storyboard. Both this endpoint and session creation reject unrecognized fields with a 422.

Example: Request changes

Example: Approve and generate

Response

After sending a message, poll GET /v3/video-agents/{session_id} to see the agent’s response and updated status.

Get a session resource

Full schema: GET /v3/video-agents/{session_id}/resources/{resource_id}. Retrieve a specific resource by ID — storyboard images, draft videos, selected avatars, and voices are all exposed as resources. Resource IDs are referenced in message resource_ids arrays. To list all videos generated by a session, use GET /v3/video-agents/{session_id}/videos.

Example

Response

Resource object

Stop a session

Full schema: POST /v3/video-agents/{session_id}/stop. Stop an in-progress agent run — the agent halts at the next checkpoint, and partial results are preserved.
Response