Job status
get_job_statusCheck one async generation job and, once it has finished, get its result URLs. Use it after any tool that returns a job identifier and names a kind for it. Pass that returned string as jobId (some generation responses name it job_id or taskId); do not call this tool if the job id is missing, or when generation already returned a synchronous result. The response shape and status values depend on kind. Read-only, spends no credits. kind names the tool that returned jobId: generate_image and edit_image "image", generate_video "video", extend_video "video_extend", generate_music "music", remix_music "music_remix", generate_music_video "music_video", separate_stems "stems", generate_midi "midi", beat_sync "beat_sync", create_ad_creative "ad_creative", start_composition "composition", a video analysis "analyze_video", and create_character_reference "character_reference": pass its requestId as jobId with the same seriesId, name and outfit; it answers { ready: false } or { ready: true, referenceUri, previewUrl }. run_flow is polled with get_flow_run, and generate_episode with its own "status" action. seriesId is the flowId of the Flow Studio flow that holds the series (from list_flows).
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"kind": "<kind>",
"jobId": "<jobId>",
"context": "<context>",
"llm_model": "<llm_model>"
},
"name": "get_job_status"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| name | No | Kind "character_reference" only, and required for it: the character's exact name, as passed to create_character_reference. | |
| jobId | Yes | Required non-empty job identifier returned by the generation tool (jobId, job_id, or taskId; for kind "character_reference", the requestId). Do not call until you have an actual id; never pass undefined or a placeholder. | |
| outfit | No | Kind "character_reference" only: the outfit passed to create_character_reference. Default everyday. | |
| context | Yes | Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution." | |
| seriesId | No | Kind "character_reference" only, and required for it: the series the character belongs to. | |
| llm_model | Yes | The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess. | |
| conversation_id | No | Pass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. Keep passing the same conversation_id for the rest of the conversation, including after later user messages or on a different task; do not reset it when the user starts a new request. |