L'API di Genlaxy
Ogni modello del catalogo, dal tuo codice. Una chiave, un saldo, gli stessi prezzi dello studio.
1 · Autenticazione
Crea una chiave in Impostazioni, Chiavi API. Inviala a ogni richiesta come token Bearer. Le chiavi iniziano con gl_live_ e funzionano solo su Genlaxy; tienile sul tuo server, mai in un browser o in un'app.
curl https://genlaxy.ai/api/v1/api/catalog/me \
-H 'Authorization: Bearer gl_live_...'Oppure usa la CLI
Preferisci il terminale o un agente di programmazione? Il pacchetto npm genlaxy incapsula questa API: installalo, accedi con la tua chiave ed esegui qualsiasi modello tramite il suo id.
npm i -g genlaxy2 · Scegli un modello
Scegli un modello per vedere una richiesta pronta costruita sui suoi campi. I campi obbligatori sono compilati; ogni impostazione facoltativa usa il valore predefinito del modello.
mureka-ai/mureka-v8/extend-song| Nome | Tipo | Obbligatorio | Predefinito |
|---|---|---|---|
| audio | url (audio) | sì | - |
| lyrics | text | sì | - |
| extend_at | number | sì | 30000 |
| extend_type | tail | head | no | tail |
| output_format | mp3 | wav | flac | no | mp3 |
3 · Avvia un render
Una sola chiamata calcola il prezzo dei tuoi input esatti e addebita il saldo. La risposta arriva subito con stato queued; il render prosegue in background. Invia un header Idempotency-Key così una richiesta ripetuta non addebita mai due volte.
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": "mureka-ai/mureka-v8/extend-song",
"inputs": {
"audio": "https://example.com/input.mp3",
"lyrics": "a lighthouse on a cliff at dusk, soft light",
"extend_at": 30000
}
}'Controlla prima il prezzo (facoltativo)
Gli stessi input, con il prezzo calcolato senza avviare nulla. La risposta è in centesimi.
curl -X POST https://genlaxy.ai/api/v1/api/catalog/quote \
-H 'Authorization: Bearer gl_live_...' \
-H 'Content-Type: application/json' \
-d '{"modelId":"mureka-ai/mureka-v8/extend-song","inputs":{"audio":"https://example.com/input.mp3","lyrics":"a lighthouse on a cliff at dusk, soft light","extend_at":30000}}'4 · Controlla lo stato e scarica
Richiedi il render ogni pochi secondi finché lo stato è succeeded, failed o refunded. In caso di successo, scarica il file da contentUrl con la stessa chiave. Un modello di testo restituisce invece la risposta in textOutput.
curl https://genlaxy.ai/api/v1/api/catalog/generations/GENERATION_ID \
-H 'Authorization: Bearer gl_live_...'curl https://genlaxy.ai/api/v1/api/catalog/generations/GENERATION_ID/content \
-H 'Authorization: Bearer gl_live_...' \
-o result.pngEndpoint
URL di base: https://genlaxy.ai/api/v1/api/catalog
| GET | /me | La tua chiave e il saldo |
| GET | /models | Tutti i modelli |
| GET | /models/detail?id=MODEL_ID | Un modello e i suoi campi |
| POST | /quote | Prezzo per input esatti |
| POST | /generations | Avvia un render |
| GET | /generations | I tuoi render recenti |
| GET | /generations/ID | Stato di un render |
| GET | /generations/ID/content | Il file del risultato |
| DELETE | /generations/ID | Elimina un render |
Prezzi e saldo
I render via API usano lo stesso saldo dello studio e costano uguale. Ogni importo nell'API è in centesimi di euro: costCents è quanto ha addebitato un render, balanceCents quanto resta.
Errori e limiti
Gli errori tornano come JSON con un codice e un messaggio. 401: chiave mancante, errata o revocata. 400: un campo non è valido (i dettagli lo indicano). 402: saldo insufficiente. 409 API_KEY_DAILY_CAP: è stato raggiunto il limite giornaliero della chiave. 429: troppe richieste, rallenta. Un render non riuscito viene rimborsato automaticamente. 403 con una pagina HTML: la richiesta è stata fermata prima di raggiungere l'API, di solito a causa del suo User-Agent. Quello predefinito di Python-urllib è bloccato, quindi invia il tuo, ad esempio User-Agent: my-app/1.0.