Sviluppatori

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
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.

curl
npm i -g genlaxy
Documentazione CLI →

2 · 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.

Modello selezionatovidu/q3/start-end-to-video
Pagina del modello →
Campi
NomeTipoObbligatorioPredefinito
prompttextsì-
imageurl (image)sì-
last_imageurl (image)sì-
durationnumberno5
resolution540p | 720p | 1080pno720p
bgmtogglenotrue
generate_audiotogglenotrue
movement_amplitudeauto | small | medium | largenoauto
seednumberno-

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
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": "vidu/q3/start-end-to-video",
  "inputs": {
    "prompt": "a lighthouse on a cliff at dusk, soft light",
    "image": "https://example.com/input.png",
    "last_image": "https://example.com/input.png"
  }
}'

Controlla prima il prezzo (facoltativo)

Gli stessi input, con il prezzo calcolato senza avviare nulla. La risposta è in centesimi.

curl
curl -X POST https://genlaxy.ai/api/v1/api/catalog/quote \
  -H 'Authorization: Bearer gl_live_...' \
  -H 'Content-Type: application/json' \
  -d '{"modelId":"vidu/q3/start-end-to-video","inputs":{"prompt":"a lighthouse on a cliff at dusk, soft light","image":"https://example.com/input.png","last_image":"https://example.com/input.png"}}'

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
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.mp4

Endpoint

URL di base: https://genlaxy.ai/api/v1/api/catalog

GET/meLa tua chiave e il saldo
GET/modelsTutti i modelli
GET/models/detail?id=MODEL_IDUn modello e i suoi campi
POST/quotePrezzo per input esatti
POST/generationsAvvia un render
GET/generationsI tuoi render recenti
GET/generations/IDStato di un render
GET/generations/ID/contentIl file del risultato
DELETE/generations/IDElimina 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.