Gensprite
Jobs

Price a job without creating it

POST
/v1/jobs/quote

Takes the same body as createJob and answers what it would charge. Nothing is created, no credits move, and no provider is called.

tokens in GET /v1/models is the price to show in a menu; this is the price of the job about to be bought. The two differ wherever cost depends on the input rather than only on the model - a model that prices that way is marked price_varies, and no single number in the catalogue can state its price honestly. Every model charges a flat price today, so the two agree; asking is what keeps a client correct when one stops being flat.

POST rather than GET because the body is createJob's, and that is not something a query string can carry. The answer is a price, not a reservation: it holds no credits and expires the moment the price list changes.

Authorization

AuthorizationBearer <token>

API key: Authorization: Bearer gsk_.... Used by the Godot plugin, the MCP server and the engine.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/jobs/quote" \  -H "Content-Type: application/json" \  -d '{    "kind": "sprite",    "input": {      "property1": null,      "property2": null    }  }'
{  "kind": "sprite",  "model": "string",  "cost": {    "tokens": 0  }}