Reference
production_operation
Reconnect to a paid Hosted render, request cancellation, or collect its finished files.
What it does
- Writes
- Destructive
- Idempotent
- Account required
The addressable state of one production render or rendering bundle. It reports persisted progress in panels, estimates the rendering time left, accepts a cooperative cancellation request, and mints fresh short-lived download grants for a successful result without starting or charging the work again.
You can ask: “Reconnect to this production render and collect its finished result.”
There is deliberately no listing, Workflow-run lookup or diagnostics action, and no widget may call it directly.
Progress is reported twice over, in two units. progress.panelsCompleted and progress.panelsTotal count the panels you asked for, and progress.estimatedRemainingSeconds estimates the rendering left from the pace this operation is actually running at. progress.completed and progress.total count internal scheduling items — one per panel plus a bundle item plus a result item — so an eight-panel bundle is ten items. Report the panel numbers; the item counters are bookkeeping.
A full-resolution multi-panel render takes a few seconds per panel, so an eight-panel bundle is well over a minute. Each poll also returns a plain sentence beside the structured result, so an agent has something to tell you instead of leaving the wait unexplained.
Input
actionstringrequired"get" progress, "result" when done, or "cancel".
one of
getcancelresultoperationIdstringrequiredat least 1 characterThe operationId a render returned.
Result
okbooleanrequiredoutputstringoptionalHow panels or the zip were delivered.
countnumberoptionalPanels rendered.
panelsarrayoptionalOne delivery descriptor per panel, in strip order.
each item
object
projectobjectoptionalidstringrequired
openUrlstringoptionalfilenamestringoptionalbundleIdstringoptionalzipUrlstringoptionaloperationIdstringoptionalA queued job: follow it with production_operation.
geometryobjectoptionalstatusstringoptionalprogressobjectoptionalcreditsobjectoptionalCredits this call spent and the balance left. Absent when nothing was charged.
debitednumberoptionalremainingnumberoptional
notestringoptionalAdvisories: fallbacks, clamps, downgrades. Never an error.
messagestringoptionalcontractobjectoptionalcontractVersionstringrequiredstatusstringrequiredterminalbooleanrequired
Example
That request maps to this call:
{
"name": "production_operation",
"arguments": {
"action": "get",
"operationId": "THE_OPERATION_ID"
}
}The same operation id, its persisted status, how many of your panels are finished with a rough estimate of the rendering left, and its reserved or settled cost.
Access and cost
- Needs an account — specifically the same signed-in ShotOps account that owns the operation.
- Reads and cancellation requests spend no cloud credits. The originating render owns reservation and settlement.
When it refuses
- The id is absent, belongs to another account or its project access was revoked.
- The same operation_not_found refusal is returned in every case; its
failure.nextActionsays what to do next. - The operation is still queued, running or cancelling.
- The result action returns persisted state only; poll the same id later.
- A retained final asset is no longer active.
- Delivery fails without rerendering, restarting or charging again.
Where this fits
What the agent is told
The title and description the server publishes on tools/list — this is the copy a model chooses between, reproduced verbatim.
Check or cancel a production render
Follow a queued full-resolution render or bundle: `get` its progress, `result` when done, or `cancel`. Tell the user panelsCompleted of panelsTotal between polls.