Reference · Images
POST/images/quote
Price it: make pictures from words and reference pictures
The price for exactly this body, the balance beside it and any notes. Nothing runs and nothing is charged. Run it with POST /api/v1/images, the same body, confirmCredits set to credits and the same Idempotency-Key.
- Key needs
create· Make things and spend credits- Runs it
POST /images- Answers
- A quote · free
Request
curl -X POST https://vessero.com/api/v1/images/quote \ -H "Authorization: Bearer $VESSERO_API_KEY" \ -H "Idempotency-Key: 47f8f6f5-ea00-4fb1-925f-76aac956a0ec" \ -H "Content-Type: application/json" \ -d '{ "prompt": "The shirt in the picture on a wooden hanger by a window, soft morning light", "model": "nano-banana-pro", "resolution": "4K", "referenceKeys": [ "https://example.com/products/linen-shirt.jpg" ] }'
Response200 OK
{ "object": "quote", "credits": 12, "balance": 840, "lines": [ "1 image × 12 (Nano Banana Pro · 4K)" ], "notes": [], "requestId": "47f8f6f5-ea00-4fb1-925f-76aac956a0ec", "run": { "method": "POST", "path": "/api/v1/images", "confirmCredits": 12, "idempotencyKey": "47f8f6f5-ea00-4fb1-925f-76aac956a0ec" } }
Header
- Idempotency-KeystringYour id for this request: 8–64 letters, digits, - or _. A repeat within 10 minutes gets the first answer back and never runs twice. Use the same one for the quote and the run.
Body
- promptstringrequiredWhat the picture shows, e.g. "A linen shirt on a wooden hanger by a window, soft morning light".
- modelstringA picture model id from GET /api/v1/models (studio "images"), e.g. "nano-banana-pro". Default: the Images page’s own.
- aspectRatiostringA shape the model lists (its aspectRatios), e.g. "16:9". Default: the model’s own.
- resolutionstringA size the model lists (its resolutions), e.g. "2K" — or, where its resolutionsAre says "Speed", a speed: Midjourney’s "Fast" or "Turbo". Default: the model’s own.
- referenceKeysstring[] · up to 16Pictures to work from, up to the model’s maxPictures. A model that needs a picture (needsPicture) makes nothing without one.
- negativePromptstringWhat to leave out of the picture, for a model that takes it (takesNegativePrompt).
- styleIdstringA style, on a model with a list of them (styles in GET /api/v1/models, studio "images": Soul): one of its styles.choices ids. Default: none, the model’s own look. Never moves the price.
- styleStrengthnumberHow strongly the style is applied, 0–1, on a model that takes it (styles.strength), with a styleId. Default: auto.
- seedintegerA seed, 1–1,000,000, on a model that takes one (seed "optional"): the same seed and settings make the same picture again. Default: a new one each run.
- polishPromptboolean"Polish my words", on a model that has it (polish "optional"): the model rewrites the prompt into a fuller one before it runs; polishWithPicture says what it does with a picture in. Default: off.
Answers
- 200quoteThe price for exactly this body, your balance and any notes. Nothing ran.
- 400invalid_requestA field is missing or not accepted: see details.
- 403feature_unavailableThe studio this needs is switched off for the account right now.
- 429rate_limitedToo many calls this minute: see Retry-After.