Soumettre une génération
Une soumission acceptée renvoie 201. Les statuts produits en V1 sont queued, running, succeeded, failed et canceled. La valeur awaiting_supply est réservée à une version future et n’est jamais produite en V1.
Utilisez une valeur Idempotency-Key unique et stable par génération. Un rejeu terminé renvoie la génération existante avec 200.
La même clé avec un corps différent renvoie 422 idempotency_conflict. Une génération encore en cours renvoie 503 generation_in_progress avec Retry-After: 5.
Lire et lister
GET /api/v1/hub/generations/{id} lit une génération.
GET /api/v1/hub/generations liste les générations les plus récentes.
- Les filtres disponibles sont
limit, cursor, status, from, to, model et media_only.
media_only=true exclut les exécutions LLM avant la pagination et le calcul de total_billed.
next_cursor permet de charger la page suivante. Il est opaque et ne doit pas être modifié.
Annuler
POST /api/v1/hub/generations/{id}/cancel annule uniquement une génération queued. Les autres états renvoient 409 not_cancelable.
Compatibilité Chat Completions
POST /api/v1/hub/chat/completions accepte les champs compatibles OpenAI et transmet les champs supplémentaires au fournisseur. Utilisez stream: false ou omettez stream. Le paramètre n doit être omis. Une réponse 200 contient aussi :
L’alias accepte aussi Idempotency-Key. Un rejeu terminé renvoie la complétion existante. Un rejeu en cours renvoie 503 generation_in_progress avec Retry-After: 5. La même clé avec un autre corps renvoie 422 idempotency_conflict.