Découvrir les modèles
tong_workflowsDécouvrez les modèles activés, prix et capacités de référence du flux choisi.
/v1/tools/tong_workflows/operationsExemple de requête#
curl -X POST 'https://platform.tongai.io/v1/tools/tong_workflows/operations' \ -H "Authorization: Bearer $TONG_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "input": { "query": { "operation": "TEXT_TO_VIDEO" } }}'Configuration
curl --versionAutorisations#
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.
catalog:readCorps de la requête#
Les requêtes REST placent les arguments dans input. Les appels MCP envoient ces mêmes arguments directement.
queryobjectFacultatifAfficher les champs imbriqués
operationstringFacultatifSélectionnez un flux pris en charge par le modèle choisi.
Longueur minimale : 1 caractères.
Longueur maximale : 100 caractères.
"TEXT_TO_VIDEO"modelstringFacultatifChoisissez un ID de modèle public Tong dans la découverte actuelle.
Longueur minimale : 1 caractères.
Longueur maximale : 100 caractères.
En-têtes de requête#
Authorization: Bearer $TONG_API_KEYContent-Type: application/jsonConservez un UUID par action et réutilisez-le après un délai ou une nouvelle tentative. Une entrée différente avec le même UUID est refusée.
Champs de réponse#
Une requête acceptée n’est pas une génération terminée. Suivez le travail jusqu’à ce que le résultat soit prêt.
Acceptée signifie que la requête a été enregistrée. Consultez l’opération pour suivre son exécution.
{ "id": "e8aa0a87-6cd9-42eb-975a-b72bf43218c8", "tool": "tong_workflows", "category": "discovery", "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": null, "detail_expired": false, "timing": { "dispatch_started_at": null, "acknowledged_at": null, "completed_at": null, "dispatch_acknowledgement_ms": null, "end_to_end_ms": null }, "review": null, "result": null, "error": null, "billing": { "status": "pending", "usage_credits": "0.000000", "wallet_debited_credits": "0.000000" }}idstringObligatoireL’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.
Appel MCP#
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "tong_workflows", "arguments": { "query": { "operation": "TEXT_TO_VIDEO" } } }}Les requêtes REST placent les arguments dans input. Les appels MCP envoient ces mêmes arguments directement.
Réponse
{ "jsonrpc": "2.0", "id": 1, "result": { "structuredContent": { "id": "e8aa0a87-6cd9-42eb-975a-b72bf43218c8", "tool": "tong_workflows", "category": "discovery", "channel": "mcp", "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": null, "detail_expired": false, "timing": { "dispatch_started_at": null, "acknowledged_at": null, "completed_at": null, "dispatch_acknowledgement_ms": null, "end_to_end_ms": null }, "review": null, "result": null, "error": null, "billing": { "status": "pending", "usage_credits": "0.000000", "wallet_debited_credits": "0.000000" } }, "content": [ { "type": "text", "text": "{\"id\":\"e8aa0a87-6cd9-42eb-975a-b72bf43218c8\",\"tool\":\"tong_workflows\",\"category\":\"discovery\",\"channel\":\"mcp\",\"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\":null,\"detail_expired\":false,\"timing\":{\"dispatch_started_at\":null,\"acknowledged_at\":null,\"completed_at\":null,\"dispatch_acknowledgement_ms\":null,\"end_to_end_ms\":null},\"review\":null,\"result\":null,\"error\":null,\"billing\":{\"status\":\"pending\",\"usage_credits\":\"0.000000\",\"wallet_debited_credits\":\"0.000000\"}}" } ] }}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é. |