Price a run without creating it
POST/runs/estimate
Validates the same body as POST /runs and returns the quote. Writes nothing and charges nothing; needs only runs:read. When the account has a daily API credit budget, budget reports it — even when it is already too small for this run, so the price can be checked before anyone agrees to it.
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 409
- 422
- 429
The quote this recipe would be created at.
Bad Request. A cross-field rule failed (VALIDATION_ERROR, naming the fix), the run has more items than the plan allows (TOO_MANY_ITEMS), or a product has no primary image (NO_PRIMARY_IMAGE).
Unauthorized. Missing, malformed, unknown, revoked or expired bearer token — or the key owner no longer holds the Create API entitlement (CREATE_API_ENTITLEMENT_LOST).
Forbidden. The key lacks the required scope (API_TOKEN_SCOPE_DENIED): reads need runs:read, creating and stopping need runs:write. Or the plan does not include the requested imageSize (IMAGE_SIZE_NOT_ENTITLED): omit it for 1K. The size is refused, never reduced.
Not Found (PRODUCTS_NOT_IN_CATALOG). Every product id not in the account's catalog is named.
Conflict. The quote exceeds maxCredits (PRICE_EXCEEDS_MAX) or differs from expectedTotalCredits (PRICE_CHANGED), or the requested imageSize has no published price yet (IMAGE_SIZE_UNPRICED). Nothing was written or charged.
Unprocessable Content (VALIDATION_ERROR). A field has the wrong type or range, or is unknown; every offending field is listed in errors[].
Too Many Requests (RATE_LIMITED). More than 120 requests per minute on this key.
Response Headers
Seconds to wait before retrying.