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

Importer un modèle LoRA

tong_lora_import

Préparez une source de votre compte pour l’étape suivante de ce flux.

POST/v1/tools/tong_lora_import/operations

Exemple de requête#

curl -X POST 'https://platform.tongai.io/v1/tools/tong_lora_import/operations' \  -H "Authorization: Bearer $TONG_API_KEY" \  -H "Content-Type: application/json" \  -H "Idempotency-Key: 45be69f1-c266-4a09-a82c-bf3c6303eb03" \  -d '{  "input": {    "body": {      "url": "https://fixture.invalid/media"    }  }}'
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: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
urlstringObligatoire

Format : uri.

Longueur maximale : 1500 caractères.

Exemple"https://fixture.invalid/media"

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_import",  "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_import",    "arguments": {      "body": {        "url": "https://fixture.invalid/media"      }    },    "_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_import",      "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_import\",\"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é.