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

Отправить генерацию

tong_generation_submit

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

POST/v1/tools/tong_generation_submit/operations

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

curl -X POST 'https://platform.tongai.io/v1/tools/tong_generation_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": "000000000000000000000001"    },    "body": {      "quoteId": "fixture-image-quote-token",      "prompt": "A quiet street at blue hour",      "operation": "TEXT_TO_IMAGE",      "inputAssetIds": [],      "parameters": {        "textToImageModel": "tong_ea55aff4f3b5c8aba3a35569",        "ratio": "16:9"      }    }  }}'
Настройки
curl --version

Разрешения#

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

generation:writecredits:spend

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

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

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

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

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

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

Минимальная длина: 1 символов.

Максимальная длина: 120 символов.

Пример"fixture-image-quote-token"
promptstringОбязательно

Опишите результат, который хотите создать.

Минимальная длина: 1 символов.

Максимальная длина: 5000 символов.

Пример"A quiet street at blue hour"
operationstringОбязательно

Выберите процесс, поддерживаемый выбранной моделью.

Допустимые значения"TEXT_TO_IMAGE""IMAGE_EDIT""CHARACTER_RECREATE""CHARACTER_RECREATE_SPICY""TEXT_TO_VIDEO""IMAGE_TO_VIDEO""CHARACTER_TO_VIDEO""CHARACTER_TO_VIDEO_SPICY""FIRST_LAST_TO_VIDEO"
Пример"TEXT_TO_IMAGE"
inputAssetIdsstring[]Обязательно

Максимум элементов: 120.

Пример[]
parametersobjectОбязательно
Показать вложенные поля
directorRequiredReferenceCountintegerНеобязательно

Минимум: 1.

Максимум: 20.

referenceDirectionobjectНеобязательно
Показать вложенные поля
versionnumberОбязательно
Допустимые значения1
capabilityRevisionstringОбязательно

Минимальная длина: 1 символов.

Максимальная длина: 100 символов.

keepVideoSoundbooleanНеобязательно
seedintegerНеобязательно

Минимум: 0.

Максимум: 2147483647.

automaticShotsbooleanНеобязательно
automaticDurationbooleanНеобязательно
outputResolutionstringНеобязательно
Допустимые значения"720p-SR""1080p-SR""1440p-SR"
bitratestringНеобязательно
Допустимые значения"standard""high"
returnLastFramebooleanНеобязательно
documentUrlstringНеобязательно

Формат: uri.

Максимальная длина: 2048 символов.

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

Минимум: 0.

Максимум: 999.

subjectsobject[]Необязательно

Максимум элементов: 6.

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

Используйте метку субъекта с номером, например Subject1.

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

Минимальная длина: 1 символов.

Максимальная длина: 80 символов.

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

Максимальная длина: 500 символов.

assetIdsstring[]Обязательно

Минимум элементов: 1.

Максимум элементов: 4.

shotsobject[]Необязательно

Минимум элементов: 1.

Максимум элементов: 6.

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

Минимальная длина: 1 символов.

Максимальная длина: 80 символов.

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

Опишите результат, который хотите создать.

Минимальная длина: 1 символов.

Максимальная длина: 1800 символов.

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

Минимум: 1.

Максимум: 15.

referencesobject[]Обязательно

Используйте ID своих ресурсов, соответствующих возможностям референсов выбранной модели.

Максимум элементов: 120.

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

Минимальная длина: 1 символов.

Максимальная длина: 80 символов.

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

Используйте идентификатор ресурса авторизованного аккаунта.

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

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

Минимальная длина: 1 символов.

Максимальная длина: 80 символов.

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

Используйте метку референса с номером, например Image1.

autoEnhancePromptbooleanНеобязательно
promptEnhancementIdstringНеобязательно

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

negativePromptModestringНеобязательно
Допустимые значения"REPLACE"
cameraMotionstringНеобязательно
Допустимые значения"AUTO""ORBIT_RIGHT""ORBIT_LEFT""PUSH_IN""PULL_BACK""RISE"
qualityPresetstringНеобязательно
Допустимые значения"REALISTIC""DRAFT"
casualPhoneFinishbooleanНеобязательно
recreateReferenceRolesstring[]Необязательно

Минимум элементов: 2.

Максимум элементов: 20.

characterVideoReferenceRolesstring[]Необязательно

Минимум элементов: 1.

Максимум элементов: 30.

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

Минимальная длина: 1 символов.

Максимальная длина: 150 символов.

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

Минимальная длина: 1 символов.

Максимальная длина: 150 символов.

Пример"tong_ea55aff4f3b5c8aba3a35569"
videoModelstringНеобязательно

Минимальная длина: 1 символов.

Максимальная длина: 150 символов.

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

Минимум: 2.

Максимум: 30.

resolutionstringНеобязательно
Допустимые значения"480p""720p""768p""1080p""2k""4k"
ratiostringНеобязательно
Допустимые значения"21:9""16:9""4:3""1:1""3:4""9:16""adaptive"
Пример"16:9"
videoStylestringНеобязательно
Допустимые значения"NATURAL_PHONE""CINEMATIC""FOLLOW_PROMPT"
generateAudiobooleanНеобязательно
seedintegerНеобязательно

Минимум: 0.

Максимум: 2147483647.

promptExtendbooleanНеобязательно
negativePromptstringНеобязательно

Максимальная длина: 2000 символов.

workspaceProjectIdstring | nullНеобязательно

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

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

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

annotationsobject[]Необязательно

Максимум элементов: 8.

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

Минимум: 0.

Максимум: 1.

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

Минимум: 0.

Максимум: 1.

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

Минимум: 0.02.

Максимум: 0.5.

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

Минимальная длина: 1 символов.

Максимальная длина: 500 символов.

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

Используйте идентификатор проекта авторизованного аккаунта.

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

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

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

Минимальная длина: 1 символов.

Максимальная длина: 120 символов.

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

Минимум: 0.

Максимум: 9007199254740991.

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

Используйте идентификатор проекта авторизованного аккаунта.

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

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

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

Минимальная длина: 1 символов.

Максимальная длина: 120 символов.

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

Минимум: 0.

Максимум: 9007199254740991.

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

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_generation_submit",  "category": "generation",  "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_generation_submit",    "arguments": {      "params": {        "id": "000000000000000000000001"      },      "body": {        "quoteId": "fixture-image-quote-token",        "prompt": "A quiet street at blue hour",        "operation": "TEXT_TO_IMAGE",        "inputAssetIds": [],        "parameters": {          "textToImageModel": "tong_ea55aff4f3b5c8aba3a35569",          "ratio": "16:9"        }      }    },    "_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_generation_submit",      "category": "generation",      "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_generation_submit\",\"category\":\"generation\",\"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 и повторите с тем же намерением. После тайм-аута проверьте сохранённую операцию.