Skip to main content
A Millwork run is one task you submit with data rules, a model-usage budget, and a runtime limit. The API calls a run an execution. Each principle below is something you can check yourself in a run’s status, result, or receipt. Every live run has a platform fee, charged when Millwork accepts the run; read Model access and billing for the full rule.

Your request governs the run

Your request sets the data rules, model-usage budget, runtime limit, and allowed responses to an output check. These settings govern the run; wording in the task does not grant broader permission. Millwork checks recorded model spend before starting another call. Once that spend reaches your budget, no further call starts. A call already running can take the total above the budget. The platform fee is separate. Read how the budget works.

A model that is not ready is not used

Millwork picks only from the saved models that fit your limits and are ready. It does not fall back to a model you did not save, or to one your limits exclude. An unavailable model is skipped, not tried later.

You can compare requested and reported models

For a completed live run on a catalog model, the result and receipt distinguish the model requested from the model the provider reports. A more specific reported name does not by itself mean Millwork fell back to a different model. How model routing works explains the details available for each kind of saved model.

You know who bills the model usage

With your provider key, your provider bills the model usage. With a model Millwork provides, Millwork bills the model usage, at a price not yet published. The platform fee is charged when Millwork accepts the run in both cases.

The result and the receipt stay separate

The result of a completed live run carries the model output. The receipt explains what ran. The receipt never contains the prompt or the output, so you can keep it longer and share it more widely than the result.

Nothing changes without your say

Trying another saved model or proposing a repair happens only when your run request allows it (on_eval). A proposed repair to a skill (a versioned procedure you saved as an option) changes the saved skill only after a person in your organization approves it.

Availability is what the catalog shows

Provider names and examples in these docs are not promises. Your organization’s catalog (GET /v1/model-catalog) shows the models you can save. A catalog entry does not guarantee capacity for the next call. If the catalog is empty, connect a provider account or ask support about access.

See what is available today

Check the private-preview boundary before you design an integration.