Skip to main content
A run is one task you submitted. The API calls it an execution, so its ID is execution_id. Every run moves through a small set of statuses and ends in one final status. The result holds the model output. The receipt records how the run was handled, without the prompt or the output. Start with the status, then use the table of common problems.

What each live-run status means

A live submission returns queued when a model fits. If none fits, it already returns failed. Millwork charges the platform fee at the first event, accepted, and returns the fee and quota automatically when no model fits. A test run (the API calls it Echo, mode: "echo") finishes during submission without a model call or fee. A successful test returns completed and has a receipt but no result. You can cancel a run while its status is queued, running, or progress. The four final statuses are completed, failed, cancelled, and expired; a cancel request sent then returns invalid_state. See when the platform fee is charged.

Common problems

Result and receipt

The result contains the model output. The receipt records how the run was handled and does not copy the prompt or the output. Keep the execution_id. It connects the status, events, result, receipt, and any support request.

Retry safely

Recover without starting the same work twice.

Stop a run

Cancel work you no longer need.