Ask why the run stopped before you spend another generate
Check or resume a stuck workflow run is one agent job. get_workflow_run_scenes diagnoses a scene. Cancelling a healthy run to start over wastes completed-scene credits.
"Why did my video stop?" — the agent checks and fixes it. Check or resume a stuck workflow run is that job. Primary tool get_workflow_run_scenes: scene-by-scene status, error, a stuck flag for anything idle over ten minutes in generate. Supporting: list runs, resume_workflow_run, stop_workflow_run. Using a second full workflow generate because scene 4 looked quiet, or cancelling a run that had four completed scenes, throws away work you already paid for.
Checking status is free. Resuming a stuck scene does not re-charge scenes that already completed. That is the credit fact. A new run from zero re-pays the completed ones.
Diagnose, then resume or stop
The agent looks up recent runs and pulls the breakdown: pending, generating_image, generating, completed, failed, cancelled. Content preview per scene once you have it — name, prompt snippet, URLs only after complete. If a scene is genuinely stuck, resume resets the earliest stale one to pending and dispatches. Safe on a healthy run: it no-ops. If you meant kill, stop cancels in-flight scenes immediately; completed scenes stay.
"My video generation seems stuck — resume it." "Which scene failed?" "Cancel that run, I don't need it." Three different asks. The first two should hit this job. The third is still this job, not a new create_from_script. Starting over feels faster in chat. It is slower on the bill.
A single-clip generate_videos that is merely slow is not a workflow run. Resume does not apply. Do not wrap a one-shot plate in a workflow just so you can press resume. And do not poll every two minutes for sport; check when you have a reason.
Provider webhooks that arrive after a cancel are ignored. Already-terminal runs (completed, failed, cancelled) return a no-op on stop. That is also why "cancel and start over" on a failed scene 4 is usually worse than resume: scenes 1–3 already have URLs. The breakdown includes those URLs once a scene is completed, so you can inspect the actual output instead of guessing from a spinner.
Stuck is a flag, not a vibe
Ten minutes without updates in generating / generating_image. That is stuck. "I am impatient at minute two" is not. Resume with force exists; it is not the default. Stop is for "never mind," not for "hurry."
FAQ
If I start a new workflow run, do I keep the finished scenes?
No. A new run regenerates the recipe. Resume keeps completed scenes. That is the whole reason this job exists.
Does checking status cost credits?
No. Status is free. The expensive move is a duplicate generate of scenes that already landed.
What if nothing is stuck?
resume_workflow_run no-ops on a healthy run. You get a status, not a secret second bill. If you wanted it gone, say cancel.
Is this the same as interrupting chat?
No. Interrupt/cancel on a turn is the conversation control. This job is a video_workflow_run's scenes. Different object, different tool.