Перейти к документации
Открыть панель
На этой странице

Сгенерировать актёров

tong_cast_submit

Отправьте настроенное действие со своего аккаунта Tong за свои кредиты. Отслеживайте сохранённую операцию до завершения.

POST/v1/tools/tong_cast_submit/operations

Пример запроса#

curl -X POST 'https://platform.tongai.io/v1/tools/tong_cast_submit/operations' \  -H "Authorization: Bearer $TONG_API_KEY" \  -H "Content-Type: application/json" \  -H "Idempotency-Key: 45be69f1-c266-4a09-a82c-bf3c6303eb03" \  -d '{  "input": {    "params": {      "id": "aaaaaaaaaaaaaaaaaaaaaaaa"    },    "body": {      "quoteId": "aaaaaaaaaaaaaaaaaaaaaaaa"    }  }}'
Настройки
curl --version

Разрешения#

Используйте серверный API-ключ для своего аккаунта или OAuth для аккаунта каждого клиента. Не передавайте ключи в запросах модели или аргументах инструментов.

characters:writecredits:spend

Тело запроса#

Запросы REST помещают аргументы инструмента в input. Вызовы MCP отправляют те же аргументы напрямую.

paramsobjectОбязательно
Показать вложенные поля
idstringОбязательно

Шестнадцатеричный ID из 24 символов.

Пример"aaaaaaaaaaaaaaaaaaaaaaaa"
bodyobjectОбязательно
Показать вложенные поля
quoteIdstringОбязательно

Используйте значение отправки расчёта, возвращённое для этих точных настроек.

Шестнадцатеричный ID из 24 символов.

Пример"aaaaaaaaaaaaaaaaaaaaaaaa"

Заголовки запроса#

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

Сохраняйте один UUID для каждого действия и повторно используйте его после тайм-аута. Другие входные данные с тем же UUID отклоняются.

Поля ответа#

Принятый запрос не означает завершённую генерацию. Отслеживайте сохранённое задание до готовности результата.

Принят означает, что запрос сохранён. Просматривайте операцию для отслеживания выполнения.

JSON
{  "id": "e8aa0a87-6cd9-42eb-975a-b72bf43218c8",  "tool": "tong_cast_submit",  "category": "characters",  "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"  }}
idstringОбязательно

Уникальный ID сохранённой операции.

UUID, например e8aa0a87-6cd9-42eb-975a-b72bf43218c8.

toolstringОбязательно
categorystringОбязательно
channelstringОбязательно
Допустимые значения"api""mcp"
statestringОбязательно

Текущее состояние выполнения сохранённой работы.

Допустимые значения"queued""running""waiting""needs_review""paused""reconciling""succeeded""failed""cancelled"
statusstringОбязательно

Общий статус для отслеживания операции.

Допустимые значения"accepted""running""needs_review""paused""reconciling""succeeded""failed""cancelled"
stagestringОбязательно

Текущий этап операции.

Допустимые значения"admission""dispatch""review""generation""reconciliation""complete"
dispatch_statusstringОбязательно

Принял ли инструмент запрос. Подтверждение не означает завершение генерации.

Допустимые значения"pending""unknown""acknowledged"
created_atstringОбязательно

Дата и время в формате ISO 8601, например 2026-10-22T09:00:00Z.

updated_atstringОбязательно

Дата и время в формате ISO 8601, например 2026-10-22T09:00:00Z.

detail_expires_atstring | nullОбязательно

Срок хранения деталей операции. null означает, что срок пока не задан.

Дата и время в формате ISO 8601, например 2026-10-22T09:00:00Z.

detail_expiredbooleanОбязательно

Истёк ли срок хранения деталей операции.

timingobjectОбязательно

Метки времени и длительности для отслеживания операции.

Показать вложенные поля
dispatch_started_atstring | nullОбязательно

Дата и время в формате ISO 8601, например 2026-10-22T09:00:00Z.

acknowledged_atstring | nullОбязательно

Дата и время в формате ISO 8601, например 2026-10-22T09:00:00Z.

completed_atstring | nullОбязательно

Дата и время в формате ISO 8601, например 2026-10-22T09:00:00Z.

dispatch_acknowledgement_msnumber | nullОбязательно

Минимум: 0.

end_to_end_msnumber | nullОбязательно

Минимум: 0.

reviewJSON | nullОбязательно

Данные проверки, если нужно участие человека; иначе null.

resultJSON | nullОбязательно

Результат инструмента или null, пока результата нет.

errorobject | nullОбязательно

Публичный код ошибки при сбое операции; иначе null.

Показать вложенные поля
codestringОбязательно
billingobjectОбязательно

Расход кредитов и списания кошелька. Готовность результата и окончательный расчёт учитываются отдельно.

Показать вложенные поля
statusstringОбязательно
Допустимые значения"none""pending""settled""released""reconciling"
usage_creditsstringОбязательно

Десятичная строка с шестью знаками после точки, например 1.250000.

wallet_debited_creditsstringОбязательно

Десятичная строка с шестью знаками после точки, например 1.250000.

released_creditsstringНеобязательно

Десятичная строка с шестью знаками после точки, например 1.250000.

refunded_creditsstringНеобязательно

Десятичная строка с шестью знаками после точки, например 1.250000.

unfunded_creditsstringНеобязательно

Десятичная строка с шестью знаками после точки, например 1.250000.

pending_creditsstringНеобязательно

Десятичная строка с шестью знаками после точки, например 1.250000.

tokensobjectНеобязательно
Показать вложенные поля
inputnumberНеобязательно

Минимум: 0.

outputnumberНеобязательно

Минимум: 0.

cachednumberНеобязательно

Минимум: 0.

cache_writenumberНеобязательно

Минимум: 0.

componentsobject[]Необязательно
Показать вложенные поля
idstringНеобязательно
source_idstringОбязательно
toolstringОбязательно
modelstring | nullОбязательно
channelstringОбязательно
Допустимые значения"api""mcp"
credential_idstringОбязательно
kindstringОбязательно
Допустимые значения"text_pool""reasoning""generation"
usage_creditsstringОбязательно

Десятичная строка с шестью знаками после точки, например 1.250000.

wallet_debited_creditsstringОбязательно

Десятичная строка с шестью знаками после точки, например 1.250000.

evidence_atstringНеобязательно

Дата и время в формате ISO 8601, например 2026-10-22T09:00:00Z.

updated_atstringНеобязательно

Дата и время в формате ISO 8601, например 2026-10-22T09:00:00Z.

quoteobjectНеобязательно

Настройки, цена и значения для отправки при наличии расчёта стоимости.

Показать вложенные поля
idstringОбязательно

UUID, например e8aa0a87-6cd9-42eb-975a-b72bf43218c8.

operation_idstringОбязательно

UUID, например e8aa0a87-6cd9-42eb-975a-b72bf43218c8.

toolstringОбязательно
operationstring | nullОбязательно
modelstring | nullОбязательно
configurationobjectОбязательно
submit_valuestringОбязательно
submit_fieldstringОбязательно
quoted_creditsstring | nullОбязательно

Десятичная строка с шестью знаками после точки, например 1.250000.

expires_atstring | nullОбязательно

Дата и время в формате ISO 8601, например 2026-10-22T09:00:00Z.

Вызов MCP#

JSON
{  "jsonrpc": "2.0",  "id": 1,  "method": "tools/call",  "params": {    "name": "tong_cast_submit",    "arguments": {      "params": {        "id": "aaaaaaaaaaaaaaaaaaaaaaaa"      },      "body": {        "quoteId": "aaaaaaaaaaaaaaaaaaaaaaaa"      }    },    "_meta": {      "io.tongai/idempotency-key": "45be69f1-c266-4a09-a82c-bf3c6303eb03"    }  }}

Запросы REST помещают аргументы инструмента в input. Вызовы MCP отправляют те же аргументы напрямую.

Ответ

JSON
{  "jsonrpc": "2.0",  "id": 1,  "result": {    "structuredContent": {      "id": "e8aa0a87-6cd9-42eb-975a-b72bf43218c8",      "tool": "tong_cast_submit",      "category": "characters",      "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_cast_submit\",\"category\":\"characters\",\"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\"}}"      }    ]  }}

Ошибки и ограничения#

HTTPОшибкаВосстановление
400Недопустимый запросREQUEST_INVALIDПеред повтором исправьте поля, указанные в ошибке.
401Недействительные учётные данныеCREDENTIAL_INVALIDПроверьте учётные данные, срок действия и отзыв доступа.
402Недостаточно кредитовINSUFFICIENT_CREDITSПополните кредиты аккаунта, которому принадлежат учётные данные, и продолжите сохранённую работу.
403Доступ запрещёнSCOPE_REQUIREDИспользуйте учётные данные с нужными разрешениями и доступом к выбранному ресурсу.
404Ресурс недоступенRESOURCE_UNAVAILABLEПроверьте ID ресурса и его принадлежность авторизованному аккаунту.
409Конфликт намеренийIDEMPOTENCY_CONFLICTПовторно используйте намерение только с исходным запросом. Для другого действия создайте новый UUID.
429Превышен лимит частотыRATE_LIMITEDПодождите время из Retry-After, прежде чем повторить тот же запрос.
503Временно недоступноDEPENDENCY_UNAVAILABLEВыждите Retry-After и повторите с тем же намерением. После тайм-аута проверьте сохранённую операцию.