hello@paintune.com Live now — start creating in seconds

Home / Developers

For developers

Three endpoints.
That is the whole API.

Generate, fetch, list. No SDK you are forced to use, no webhook maze. Every response hands back the settings, so any result can be rebuilt exactly.

A glass gateway branching into image-generation outputs, representing Paintune's developer API.
Getting started

Bearer token, POST a prompt, get a URL

  • REST over HTTPS, JSON in and out
  • Deterministic seeds for reproducible output
  • Batch generation and webhook delivery
  • Usage-based pricing, per-key rate limits
Get your API key
POST /v1/images
// Generate an image
const res = await fetch("https://api.paintune.com/v1/images", {
  method:  "POST",
  headers: {
    "Authorization": `Bearer ${process.env.PAINTUNE_KEY}`,
    "Content-Type":  "application/json"
  },
  body: JSON.stringify({
    prompt:   "a brass lighthouse at golden hour",
    size:     "1248x832",
    steps:    32,
    guidance: 6.5,
    seed:     41882
  })
});

const image = await res.json();
// -> { id, url, seed, steps, guidance, model, created }
Reference

Endpoints and parameters

MethodPathDoes
POST/v1/imagesGenerate one image, or a batch when count is set.
GET/v1/images/:idFetch a generation and its settings.
GET/v1/imagesList generations, filterable by style, date and status.
FieldTypeNotes
promptstringRequired. The image described in ordinary language.
sizestring"1024x1024", "1248x832" and other ratios to 2048 px.
stepsinteger4–50. Defaults to 32.
guidancenumber1–12. Prompt adherence.
seedintegerOmit for random. Supply to reproduce exactly.
stylestringA saved Style Lock preset id.
countintegerBatch size. Each result gets its own seed.
webhookstringURL to POST results to when a batch finishes.

Endpoint shapes describe the intended API surface. Confirm against the shipped service before publishing.

Request lifecycle

Four messages, start to file

Generation is asynchronous: you get an id immediately and the image when it is ready, so a slow render never holds your request open.

Your app Paintune POST /v1/images prompt, size, seed · Bearer key 202 Accepted returns an id straight away GET /v1/images/{id} or wait for the webhook 200 · url, seed, steps signed, expires
No client needed

The same call, from the shell

curl
curl https://api.paintune.com/v1/images \
  -H "Authorization: Bearer $PAINTUNE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt":"a brass lighthouse at golden hour","size":"1248x832","steps":32}'

Get a key

Create a key from your account page and make your first call today.