AI Router · CLI · MCPCheapest eligible quotes before you create
task · activation

Cancel a generation and recover reserved credits

Cancel eligible work and verify the credit refund outcome.

Connect OfflineCreator with OAuth
Output contact sheet

Cancel through MCP or API, not a guessed CLI word

The current CLI parser has no standalone `cancel` command. Use the MCP `cancel_generation` tool or the authenticated API with the target generation UUID. An unknown CLI word prints help and fails; it does not alter the job. Persist the UUID at submission time and inspect current status before asking to cancel, so an operator does not accidentally target a different generation or start replacement work before the original outcome is known.

Cancellation is a separate authorized control, not a timeout handler. Require the saved UUID, a current status observation, and an explicit operator or policy decision before invoking the MCP or API surface. Then preserve the returned job state and a separately read credit balance; neither an unknown CLI command nor a local wait deadline says that remote work was cancelled or refunded.

Transport switch

Know what the public client sends

The public client validates the UUID and posts to `/api/v1/generations/<uuid>/cancel`. This establishes the request path, not universal eligibility. The first-party README describes the tool as cancelling reserved work and refunding, while the product page says failed jobs refund credits automatically. Do not generalize that every state can be cancelled or that every cancellation has the same financial result; read the authenticated response for the specific job.

Reject `cancel` as a CLI subcommand before process launch, then require a saved UUID and an explicit cancellation decision for the MCP tool. The parser's unknown-command branch only prints help and returns failure; it provides no evidence that the remote job changed state.

Scope ledger

Verify both job and credit outcomes

After a cancellation request, inspect the returned generation state and then read the current credit balance through the supported credit surface. Keep the before and after observations with timestamps, but describe them as evidence for that transaction rather than a platform-wide benchmark. If the response says the job is ineligible, do not loop cancellation calls. Surface the state to an operator and avoid submitting a replacement until the credit outcome is understood.

Send one cancellation request for the validated UUID and retain the authenticated response. The public client posts to that generation's `/cancel` path, while the README limits its description to reserved work. If the response indicates ineligibility, stop rather than looping against a state the sources do not promise can be cancelled.

Tool rack

Make cancellation an explicit control

Unattended automation should cancel only under a documented policy, such as an operator request tied to one UUID. A local timeout is not sufficient evidence that the remote job should be cancelled, because the wait helper can time out while work continues. Separate status polling, cancellation authorization, cancellation execution, and refund verification into distinct logged steps. Never expose the API key while collecting diagnostics or include it in a cancellation URL.

Capture a credit reading before the authorized request and another after the returned cancellation state is known. Associate both observations with the UUID and timestamps. Report the measured difference for that job only; do not turn it into a universal refund amount or timing guarantee.

Failure trace

Report evidence boundaries honestly

The current first-party sources document the cancellation tool and client method, but they do not publish a complete state-transition table or promise a refund for every attempted cancellation. The recent engine results concerned unrelated uses of “cancel” and had failed social sources, so no community anecdote is used as product evidence. Keep the page as a researched draft, verify the actual response for each UUID, and route unresolved credit discrepancies to account support rather than inventing retry behavior.

Separate timeout handling from cancellation policy. The wait helper can return `timedOut: true` while a job remains unresolved, so that local result should trigger a status read, not automatic cancellation. Require the status evidence and operator policy to select the UUID before invoking the documented cancellation endpoint.