POST /v1/images/generations
Utilisez les champs et autorisations documentés pour ce point de terminaison HTTP.
Exemple de requête#
curl -X POST 'https://platform.tongai.io/v1/images/generations' \ -H "Authorization: Bearer $TONG_API_KEY" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: 45be69f1-c266-4a09-a82c-bf3c6303eb03" \ -d '{ "quote_id": "example", "media_conversation_id": "aaaaaaaaaaaaaaaaaaaaaaaa", "prompt": "A quiet street at blue hour", "parameters": {}}'Configuration
curl --versionAuthentification#
Utilisez une clé API côté serveur pour votre compte, ou OAuth pour chaque client. N’envoyez jamais de clés dans les prompts ou arguments.
generation:writecredits:spendParamètres#
Idempotency-KeystringObligatoireUn UUID, par exemple e8aa0a87-6cd9-42eb-975a-b72bf43218c8.
Corps de la requête#
application/jsonquote_idstringObligatoireUtilisez des lettres, chiffres ou traits d’union.
Longueur minimale : 1 caractères.
Longueur maximale : 120 caractères.
media_conversation_idstringObligatoireUn identifiant hexadécimal de 24 caractères.
promptstringObligatoireDécrivez le résultat souhaité.
Longueur minimale : 1 caractères.
Longueur maximale : 32000 caractères.
input_asset_idsstring[]FacultatifNombre maximal d’éléments : 30.
Valeur par défaut : [].
parametersobjectObligatoireworkspace_project_idstringFacultatifUn identifiant hexadécimal de 24 caractères.
Schéma de réponse#
{ "id": "e8aa0a87-6cd9-42eb-975a-b72bf43218c8", "tool": "example", "category": "example", "channel": "api", "state": "queued", "status": "accepted", "stage": "admission", "dispatch_status": "pending", "created_at": "2026-10-22T09:00:00.000Z", "updated_at": "2026-10-22T09:00:00.000Z", "detail_expires_at": "2026-10-22T09:00:00.000Z", "detail_expired": false, "timing": { "dispatch_started_at": "2026-10-22T09:00:00.000Z", "acknowledged_at": "2026-10-22T09:00:00.000Z", "completed_at": "2026-10-22T09:00:00.000Z", "dispatch_acknowledgement_ms": 0, "end_to_end_ms": 0 }, "review": null, "result": null, "error": { "code": "example" }, "billing": { "status": "none", "usage_credits": "0.000000", "wallet_debited_credits": "0.000000" }}HTTP 202
application/jsonidstringObligatoireL’identifiant unique de l’opération enregistrée.
Un UUID, par exemple e8aa0a87-6cd9-42eb-975a-b72bf43218c8.
toolstringObligatoirecategorystringObligatoirechannelstringObligatoire"api""mcp"statestringObligatoireL’état d’exécution actuel du travail enregistré.
"queued""running""waiting""needs_review""paused""reconciling""succeeded""failed""cancelled"statusstringObligatoireLe statut global à utiliser pour suivre l’opération.
"accepted""running""needs_review""paused""reconciling""succeeded""failed""cancelled"stagestringObligatoireLa phase actuelle de l’opération.
"admission""dispatch""review""generation""reconciliation""complete"dispatch_statusstringObligatoireIndique si l’outil a accepté la requête. Un accusé de réception ne signifie pas que la génération est terminée.
"pending""unknown""acknowledged"created_atstringObligatoireDate et heure ISO 8601, par exemple 2026-10-22T09:00:00Z.
updated_atstringObligatoireDate et heure ISO 8601, par exemple 2026-10-22T09:00:00Z.
detail_expires_atstring | nullObligatoireDate d’expiration des détails enregistrés. La valeur null indique qu’aucune expiration n’est définie.
Date et heure ISO 8601, par exemple 2026-10-22T09:00:00Z.
detail_expiredbooleanObligatoireIndique si les détails enregistrés ont expiré.
timingobjectObligatoireHorodatages et durées pour suivre cette opération.
Afficher les champs imbriqués
dispatch_started_atstring | nullObligatoireDate et heure ISO 8601, par exemple 2026-10-22T09:00:00Z.
acknowledged_atstring | nullObligatoireDate et heure ISO 8601, par exemple 2026-10-22T09:00:00Z.
completed_atstring | nullObligatoireDate et heure ISO 8601, par exemple 2026-10-22T09:00:00Z.
dispatch_acknowledgement_msnumber | nullObligatoireMinimum : 0.
end_to_end_msnumber | nullObligatoireMinimum : 0.
reviewJSON | nullObligatoireInformations de validation si une intervention humaine est requise ; sinon null.
resultJSON | nullObligatoireLa sortie de cet outil, ou null si aucune sortie n’est disponible.
errorobject | nullObligatoireLe code d’erreur public si l’opération a échoué ; sinon null.
Afficher les champs imbriqués
codestringObligatoirebillingobjectObligatoireUtilisation des crédits et débits du portefeuille. La disponibilité du résultat et le règlement sont distincts.
Afficher les champs imbriqués
statusstringObligatoire"none""pending""settled""released""reconciling"usage_creditsstringObligatoireUne chaîne décimale avec six chiffres après la virgule, par exemple 1.250000.
wallet_debited_creditsstringObligatoireUne chaîne décimale avec six chiffres après la virgule, par exemple 1.250000.
released_creditsstringFacultatifUne chaîne décimale avec six chiffres après la virgule, par exemple 1.250000.
refunded_creditsstringFacultatifUne chaîne décimale avec six chiffres après la virgule, par exemple 1.250000.
unfunded_creditsstringFacultatifUne chaîne décimale avec six chiffres après la virgule, par exemple 1.250000.
pending_creditsstringFacultatifUne chaîne décimale avec six chiffres après la virgule, par exemple 1.250000.
tokensobjectFacultatifAfficher les champs imbriqués
inputnumberFacultatifMinimum : 0.
outputnumberFacultatifMinimum : 0.
cachednumberFacultatifMinimum : 0.
cache_writenumberFacultatifMinimum : 0.
componentsobject[]FacultatifAfficher les champs imbriqués
idstringFacultatifsource_idstringObligatoiretoolstringObligatoiremodelstring | nullObligatoirechannelstringObligatoire"api""mcp"credential_idstringObligatoirekindstringObligatoire"text_pool""reasoning""generation"usage_creditsstringObligatoireUne chaîne décimale avec six chiffres après la virgule, par exemple 1.250000.
wallet_debited_creditsstringObligatoireUne chaîne décimale avec six chiffres après la virgule, par exemple 1.250000.
evidence_atstringFacultatifDate et heure ISO 8601, par exemple 2026-10-22T09:00:00Z.
updated_atstringFacultatifDate et heure ISO 8601, par exemple 2026-10-22T09:00:00Z.
quoteobjectFacultatifLa configuration, le prix et les valeurs de soumission lorsqu’un devis est disponible.
Afficher les champs imbriqués
idstringObligatoireUn UUID, par exemple e8aa0a87-6cd9-42eb-975a-b72bf43218c8.
operation_idstringObligatoireUn UUID, par exemple e8aa0a87-6cd9-42eb-975a-b72bf43218c8.
toolstringObligatoireoperationstring | nullObligatoiremodelstring | nullObligatoireconfigurationobjectObligatoiresubmit_valuestringObligatoiresubmit_fieldstringObligatoirequoted_creditsstring | nullObligatoireUne chaîne décimale avec six chiffres après la virgule, par exemple 1.250000.
expires_atstring | nullObligatoireDate et heure ISO 8601, par exemple 2026-10-22T09:00:00Z.
Erreurs et limites#
| HTTP | Erreur | Reprise |
|---|---|---|
400 | Requête invalideREQUEST_INVALID | Corrigez les champs indiqués par l’erreur avant de réessayer. |
401 | Identifiant invalideCREDENTIAL_INVALID | Vérifiez l’identifiant, son expiration et son éventuelle révocation. |
402 | Crédits insuffisantsINSUFFICIENT_CREDITS | Ajoutez des crédits au compte de l’identifiant, puis poursuivez le travail enregistré. |
403 | Autorisation refuséeSCOPE_REQUIRED | Utilisez un identifiant disposant des autorisations requises et de l’accès à la ressource choisie. |
404 | Ressource indisponibleRESOURCE_UNAVAILABLE | Vérifiez l’ID de la ressource et son appartenance au compte autorisé. |
409 | Conflit d’intentionIDEMPOTENCY_CONFLICT | Réutilisez une intention uniquement avec sa requête initiale. Utilisez un nouvel UUID pour une autre action. |
429 | Limite de débit atteinteRATE_LIMITED | Attendez le délai Retry-After avant de répéter la même requête. |
503 | Temporairement indisponibleDEPENDENCY_UNAVAILABLE | Attendez Retry-After et réessayez avec la même intention. Vérifiez l’opération enregistrée après un délai dépassé. |