Developers

The Genlaxy API

Every model in the catalog, from your own code. One key, one balance, the same prices as the studio.

1 · Authenticate

Create a key in Settings, API keys. Send it with every request as a Bearer token. Keys start with gl_live_ and work only on Genlaxy; keep them on your server, never in a browser or an app.

curl
curl https://genlaxy.ai/api/v1/api/catalog/me \
  -H 'Authorization: Bearer gl_live_...'

2 · Pick a model

Choose a model to see a ready request built from its own fields. Required fields are filled in; every optional setting uses the model's default.

Selected modelmirelo-ai/sfx-1.6/inpaint-audio
Model page →
Fields
NameTypeRequiredDefault
audiourl (audio)yes-
start_snumberyes2
end_snumberyes6
prompttextno-
num_samplesnumberno1

3 · Start a render

One call prices your exact inputs and charges your balance. The response comes back at once with status queued; the render runs in the background. Send an Idempotency-Key header so a retried request never charges twice.

curl
curl -X POST https://genlaxy.ai/api/v1/api/catalog/generations \
  -H 'Authorization: Bearer gl_live_...' \
  -H 'Content-Type: application/json' \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "modelId": "mirelo-ai/sfx-1.6/inpaint-audio",
  "inputs": {
    "audio": "https://example.com/input.mp3",
    "start_s": 2,
    "end_s": 6,
    "prompt": "a lighthouse on a cliff at dusk, soft light"
  }
}'

Check the price first (optional)

The same inputs, priced without starting anything. The answer is in cents.

curl
curl -X POST https://genlaxy.ai/api/v1/api/catalog/quote \
  -H 'Authorization: Bearer gl_live_...' \
  -H 'Content-Type: application/json' \
  -d '{"modelId":"mirelo-ai/sfx-1.6/inpaint-audio","inputs":{"audio":"https://example.com/input.mp3","start_s":2,"end_s":6,"prompt":"a lighthouse on a cliff at dusk, soft light"}}'

4 · Poll and download

Ask for the render every few seconds until status is succeeded, failed or refunded. On success, download the file from contentUrl with the same key. A text model returns its answer in textOutput instead.

curl
curl https://genlaxy.ai/api/v1/api/catalog/generations/GENERATION_ID \
  -H 'Authorization: Bearer gl_live_...'
curl
curl https://genlaxy.ai/api/v1/api/catalog/generations/GENERATION_ID/content \
  -H 'Authorization: Bearer gl_live_...' \
  -o result.mp3

Endpoints

Base URL: https://genlaxy.ai/api/v1/api/catalog

GET/meYour key and balance
GET/modelsEvery model
GET/models/detail?id=MODEL_IDOne model and its fields
POST/quotePrice for exact inputs
POST/generationsStart a render
GET/generationsYour recent renders
GET/generations/IDOne render's status
GET/generations/ID/contentThe result file
DELETE/generations/IDDelete a render

Prices and balance

API renders use the same balance as the studio and cost the same. Every amount in the API is in euro cents: costCents is what a render charged, balanceCents what is left.

Errors and limits

Errors come back as JSON with a code and a message. 401: missing, wrong or revoked key. 400: a field is invalid (the details name it). 402: not enough balance. 409 API_KEY_DAILY_CAP: the key's own daily cap is reached. 429: too many requests, slow down. A failed render is refunded automatically.