Aller à la documentation
Ouvrir le tableau de bord
Sur cette page

Chiffrer une génération LoRA

tong_lora_quote

Obtenez un devis pour le modèle, les entrées et la configuration exacts avant de soumettre l’action.

POST/v1/tools/tong_lora_quote/operations

Exemple de requête#

curl -X POST 'https://platform.tongai.io/v1/tools/tong_lora_quote/operations' \  -H "Authorization: Bearer $TONG_API_KEY" \  -H "Content-Type: application/json" \  -H "Idempotency-Key: 45be69f1-c266-4a09-a82c-bf3c6303eb03" \  -d '{  "input": {    "body": {      "model": "aaaa",      "prompt": "aaaa",      "loras": [        {          "versionId": "aaaaaaaaaaaaaaaaaaaaaaaa",          "scale": -1        }      ]    }  }}'
Configuration
curl --version

Autorisations#

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.

lora:writequotes:write

Corps de la requête#

Les requêtes REST placent les arguments dans input. Les appels MCP envoient ces mêmes arguments directement.

bodyobjectObligatoire
Afficher les champs imbriqués
modelstringObligatoire

Choisissez un ID de modèle public Tong dans la découverte actuelle.

Longueur minimale : 1 caractères.

Longueur maximale : 150 caractères.

Exemple"aaaa"
promptstringObligatoire

Décrivez le résultat souhaité.

Longueur minimale : 1 caractères.

Longueur maximale : 4000 caractères.

Exemple"aaaa"
referenceDirectionobjectFacultatif
Afficher les champs imbriqués
versionnumberObligatoire
Valeurs autorisées1
capabilityRevisionstringObligatoire

Longueur minimale : 1 caractères.

Longueur maximale : 100 caractères.

keepVideoSoundbooleanFacultatif
seedintegerFacultatif

Minimum : 0.

Maximum : 2147483647.

automaticShotsbooleanFacultatif
automaticDurationbooleanFacultatif
outputResolutionstringFacultatif
Valeurs autorisées"720p-SR""1080p-SR""1440p-SR"
bitratestringFacultatif
Valeurs autorisées"standard""high"
returnLastFramebooleanFacultatif
documentUrlstringFacultatif

Format : uri.

Longueur maximale : 2048 caractères.

subjectSequenceintegerFacultatif

Minimum : 0.

Maximum : 999.

subjectsobject[]Facultatif

Nombre maximal d’éléments : 6.

Afficher les champs imbriqués
idstringObligatoire

Utilisez un libellé de sujet numéroté, par exemple Subject1.

namestringObligatoire

Longueur minimale : 1 caractères.

Longueur maximale : 80 caractères.

descriptionstringFacultatif

Longueur maximale : 500 caractères.

assetIdsstring[]Obligatoire

Nombre minimal d’éléments : 1.

Nombre maximal d’éléments : 4.

shotsobject[]Facultatif

Nombre minimal d’éléments : 1.

Nombre maximal d’éléments : 6.

Afficher les champs imbriqués
idstringObligatoire

Longueur minimale : 1 caractères.

Longueur maximale : 80 caractères.

promptstringObligatoire

Décrivez le résultat souhaité.

Longueur minimale : 1 caractères.

Longueur maximale : 1800 caractères.

durationSecondsintegerObligatoire

Minimum : 1.

Maximum : 15.

referencesobject[]Obligatoire

Utilisez les ID de ressources de votre compte compatibles avec les références du modèle choisi.

Nombre maximal d’éléments : 120.

Afficher les champs imbriqués
idstringObligatoire

Longueur minimale : 1 caractères.

Longueur maximale : 80 caractères.

assetIdstringObligatoire

Utilisez l’identifiant d’une ressource du compte autorisé.

Un identifiant hexadécimal de 24 caractères.

fieldstringObligatoire

Longueur minimale : 1 caractères.

Longueur maximale : 80 caractères.

labelstringObligatoire

Utilisez un libellé de référence numéroté, par exemple Image1.

aspectstringFacultatif
Valeurs autorisées"1:1""16:9""9:16""4:3""3:4"
durationintegerFacultatif

Minimum : 1.

Maximum : 5.

imageIdstringFacultatif

Un identifiant hexadécimal de 24 caractères.

seedintegerFacultatif

Minimum : 0.

Maximum : 2147483647.

negativePromptstringFacultatif

Longueur maximale : 2000 caractères.

optionsobjectFacultatif
mediaobjectFacultatif
presetsobject[]Facultatif

Nombre maximal d’éléments : 3.

Afficher les champs imbriqués
keystringObligatoire

Longueur minimale : 1 caractères.

Longueur maximale : 80 caractères.

scalenumberObligatoire

Minimum : 0.

Maximum : 4.

lorasobject[]Obligatoire

Nombre maximal d’éléments : 9.

Afficher les champs imbriqués
versionIdstringObligatoire

Un identifiant hexadécimal de 24 caractères.

Exemple"aaaaaaaaaaaaaaaaaaaaaaaa"
scalenumberObligatoire

Minimum : -1.

Maximum : 4.

Exemple-1
rolestringFacultatif
Valeurs autorisées"style""high""low"

En-têtes de requête#

HTTP
Authorization: Bearer $TONG_API_KEYContent-Type: application/jsonIdempotency-Key: 45be69f1-c266-4a09-a82c-bf3c6303eb03

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

JSON
{  "id": "e8aa0a87-6cd9-42eb-975a-b72bf43218c8",  "tool": "tong_lora_quote",  "category": "lora",  "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"  }}
idstringObligatoire

L’identifiant unique de l’opération enregistrée.

Un UUID, par exemple e8aa0a87-6cd9-42eb-975a-b72bf43218c8.

toolstringObligatoire
categorystringObligatoire
channelstringObligatoire
Valeurs autorisées"api""mcp"
statestringObligatoire

L’état d’exécution actuel du travail enregistré.

Valeurs autorisées"queued""running""waiting""needs_review""paused""reconciling""succeeded""failed""cancelled"
statusstringObligatoire

Le statut global à utiliser pour suivre l’opération.

Valeurs autorisées"accepted""running""needs_review""paused""reconciling""succeeded""failed""cancelled"
stagestringObligatoire

La phase actuelle de l’opération.

Valeurs autorisées"admission""dispatch""review""generation""reconciliation""complete"
dispatch_statusstringObligatoire

Indique si l’outil a accepté la requête. Un accusé de réception ne signifie pas que la génération est terminée.

Valeurs autorisées"pending""unknown""acknowledged"
created_atstringObligatoire

Date et heure ISO 8601, par exemple 2026-10-22T09:00:00Z.

updated_atstringObligatoire

Date et heure ISO 8601, par exemple 2026-10-22T09:00:00Z.

detail_expires_atstring | nullObligatoire

Date 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_expiredbooleanObligatoire

Indique si les détails enregistrés ont expiré.

timingobjectObligatoire

Horodatages et durées pour suivre cette opération.

Afficher les champs imbriqués
dispatch_started_atstring | nullObligatoire

Date et heure ISO 8601, par exemple 2026-10-22T09:00:00Z.

acknowledged_atstring | nullObligatoire

Date et heure ISO 8601, par exemple 2026-10-22T09:00:00Z.

completed_atstring | nullObligatoire

Date et heure ISO 8601, par exemple 2026-10-22T09:00:00Z.

dispatch_acknowledgement_msnumber | nullObligatoire

Minimum : 0.

end_to_end_msnumber | nullObligatoire

Minimum : 0.

reviewJSON | nullObligatoire

Informations de validation si une intervention humaine est requise ; sinon null.

resultJSON | nullObligatoire

La sortie de cet outil, ou null si aucune sortie n’est disponible.

errorobject | nullObligatoire

Le code d’erreur public si l’opération a échoué ; sinon null.

Afficher les champs imbriqués
codestringObligatoire
billingobjectObligatoire

Utilisation 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
Valeurs autorisées"none""pending""settled""released""reconciling"
usage_creditsstringObligatoire

Une chaîne décimale avec six chiffres après la virgule, par exemple 1.250000.

wallet_debited_creditsstringObligatoire

Une chaîne décimale avec six chiffres après la virgule, par exemple 1.250000.

released_creditsstringFacultatif

Une chaîne décimale avec six chiffres après la virgule, par exemple 1.250000.

refunded_creditsstringFacultatif

Une chaîne décimale avec six chiffres après la virgule, par exemple 1.250000.

unfunded_creditsstringFacultatif

Une chaîne décimale avec six chiffres après la virgule, par exemple 1.250000.

pending_creditsstringFacultatif

Une chaîne décimale avec six chiffres après la virgule, par exemple 1.250000.

tokensobjectFacultatif
Afficher les champs imbriqués
inputnumberFacultatif

Minimum : 0.

outputnumberFacultatif

Minimum : 0.

cachednumberFacultatif

Minimum : 0.

cache_writenumberFacultatif

Minimum : 0.

componentsobject[]Facultatif
Afficher les champs imbriqués
idstringFacultatif
source_idstringObligatoire
toolstringObligatoire
modelstring | nullObligatoire
channelstringObligatoire
Valeurs autorisées"api""mcp"
credential_idstringObligatoire
kindstringObligatoire
Valeurs autorisées"text_pool""reasoning""generation"
usage_creditsstringObligatoire

Une chaîne décimale avec six chiffres après la virgule, par exemple 1.250000.

wallet_debited_creditsstringObligatoire

Une chaîne décimale avec six chiffres après la virgule, par exemple 1.250000.

evidence_atstringFacultatif

Date et heure ISO 8601, par exemple 2026-10-22T09:00:00Z.

updated_atstringFacultatif

Date et heure ISO 8601, par exemple 2026-10-22T09:00:00Z.

quoteobjectFacultatif

La configuration, le prix et les valeurs de soumission lorsqu’un devis est disponible.

Afficher les champs imbriqués
idstringObligatoire

Un UUID, par exemple e8aa0a87-6cd9-42eb-975a-b72bf43218c8.

operation_idstringObligatoire

Un UUID, par exemple e8aa0a87-6cd9-42eb-975a-b72bf43218c8.

toolstringObligatoire
operationstring | nullObligatoire
modelstring | nullObligatoire
configurationobjectObligatoire
submit_valuestringObligatoire
submit_fieldstringObligatoire
quoted_creditsstring | nullObligatoire

Une chaîne décimale avec six chiffres après la virgule, par exemple 1.250000.

expires_atstring | nullObligatoire

Date et heure ISO 8601, par exemple 2026-10-22T09:00:00Z.

Appel MCP#

JSON
{  "jsonrpc": "2.0",  "id": 1,  "method": "tools/call",  "params": {    "name": "tong_lora_quote",    "arguments": {      "body": {        "model": "aaaa",        "prompt": "aaaa",        "loras": [          {            "versionId": "aaaaaaaaaaaaaaaaaaaaaaaa",            "scale": -1          }        ]      }    },    "_meta": {      "io.tongai/idempotency-key": "45be69f1-c266-4a09-a82c-bf3c6303eb03"    }  }}

Les requêtes REST placent les arguments dans input. Les appels MCP envoient ces mêmes arguments directement.

Réponse

JSON
{  "jsonrpc": "2.0",  "id": 1,  "result": {    "structuredContent": {      "id": "e8aa0a87-6cd9-42eb-975a-b72bf43218c8",      "tool": "tong_lora_quote",      "category": "lora",      "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_lora_quote\",\"category\":\"lora\",\"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#

HTTPErreurReprise
400Requête invalideREQUEST_INVALIDCorrigez les champs indiqués par l’erreur avant de réessayer.
401Identifiant invalideCREDENTIAL_INVALIDVérifiez l’identifiant, son expiration et son éventuelle révocation.
402Crédits insuffisantsINSUFFICIENT_CREDITSAjoutez des crédits au compte de l’identifiant, puis poursuivez le travail enregistré.
403Autorisation refuséeSCOPE_REQUIREDUtilisez un identifiant disposant des autorisations requises et de l’accès à la ressource choisie.
404Ressource indisponibleRESOURCE_UNAVAILABLEVérifiez l’ID de la ressource et son appartenance au compte autorisé.
409Conflit d’intentionIDEMPOTENCY_CONFLICTRéutilisez une intention uniquement avec sa requête initiale. Utilisez un nouvel UUID pour une autre action.
429Limite de débit atteinteRATE_LIMITEDAttendez le délai Retry-After avant de répéter la même requête.
503Temporairement indisponibleDEPENDENCY_UNAVAILABLEAttendez Retry-After et réessayez avec la même intention. Vérifiez l’opération enregistrée après un délai dépassé.