Ir para a documentação
Abrir painel
Nesta página

Cotar geração

tong_generation_quote

Obtenha uma cotação para o modelo, entradas e configuração exatos antes de enviar a ação.

POST/v1/tools/tong_generation_quote/operations

Exemplo de solicitação#

curl -X POST 'https://platform.tongai.io/v1/tools/tong_generation_quote/operations' \  -H "Authorization: Bearer $TONG_API_KEY" \  -H "Content-Type: application/json" \  -H "Idempotency-Key: 45be69f1-c266-4a09-a82c-bf3c6303eb03" \  -d '{  "input": {    "body": {      "operation": "TEXT_TO_IMAGE",      "model": "tong_ea55aff4f3b5c8aba3a35569",      "routingParameters": {        "ratio": "16:9"      }    }  }}'
Configuração
curl --version

Permissões#

Use uma chave API no servidor para sua conta, ou OAuth para a conta de cada cliente. Nunca envie chaves em prompts ou argumentos.

generation:writequotes:write

Corpo da solicitação#

As solicitações REST envolvem os argumentos em input. As chamadas MCP enviam os mesmos argumentos diretamente.

bodyobjectObrigatório
Mostrar campos aninhados
operationstringObrigatório

Selecione um fluxo compatível com o modelo escolhido.

Valores permitidos"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"
Exemplo"TEXT_TO_IMAGE"
modelstringObrigatório

Escolha um ID de modelo público Tong da descoberta atual.

Comprimento mínimo: 1 caracteres.

Comprimento máximo: 100 caracteres.

Exemplo"tong_ea55aff4f3b5c8aba3a35569"
resolutionstring | nullOpcional
Valores permitidos"480p""720p""768p""1080p""2k""4k"
quantityintegerOpcional

Mínimo: 1.

Máximo: 60.

durationSecondsintegerOpcional

Mínimo: 1.

Máximo: 60.

inputAssetIdsstring[]Opcional

Máximo de itens: 20.

characterProfileIdstringOpcional

Um ID hexadecimal de 24 caracteres.

annotationGuidebooleanOpcional
routingParametersobjectOpcional

Use os ajustes retornados para este modelo e fluxo. Mantenha-os na cotação e no envio.

Mostrar campos aninhados
directorRequiredReferenceCountintegerOpcional

Mínimo: 1.

Máximo: 20.

recreateReferenceRolesstring[]Opcional

Máximo de itens: 20.

ratiostringOpcional
Valores permitidos"21:9""16:9""4:3""1:1""3:4""9:16""adaptive"
Exemplo"16:9"
generateAudiobooleanOpcional
promptExtendbooleanOpcional
seedintegerOpcional

Mínimo: -1.

Máximo: 2147483647.

negativePromptstringOpcional

Comprimento máximo: 3000 caracteres.

negativePromptModestringOpcional
Valores permitidos"REPLACE"
referenceRequestobjectOpcional
Mostrar campos aninhados
ratiostringOpcional

Comprimento mínimo: 1 caracteres.

Comprimento máximo: 20 caracteres.

generateAudiobooleanOpcional
promptstringObrigatório

Descreva o resultado que deseja criar.

Comprimento mínimo: 1 caracteres.

Comprimento máximo: 20000 caracteres.

directionobjectObrigatório
Mostrar campos aninhados
versionnumberObrigatório
Valores permitidos1
capabilityRevisionstringObrigatório

Comprimento mínimo: 1 caracteres.

Comprimento máximo: 100 caracteres.

keepVideoSoundbooleanOpcional
seedintegerOpcional

Mínimo: 0.

Máximo: 2147483647.

automaticShotsbooleanOpcional
automaticDurationbooleanOpcional
outputResolutionstringOpcional
Valores permitidos"720p-SR""1080p-SR""1440p-SR"
bitratestringOpcional
Valores permitidos"standard""high"
returnLastFramebooleanOpcional
documentUrlstringOpcional

Formato: uri.

Comprimento máximo: 2048 caracteres.

subjectSequenceintegerOpcional

Mínimo: 0.

Máximo: 999.

subjectsobject[]Opcional

Máximo de itens: 6.

Mostrar campos aninhados
idstringObrigatório

Use um rótulo de sujeito numerado, por exemplo Subject1.

namestringObrigatório

Comprimento mínimo: 1 caracteres.

Comprimento máximo: 80 caracteres.

descriptionstringOpcional

Comprimento máximo: 500 caracteres.

assetIdsstring[]Obrigatório

Mínimo de itens: 1.

Máximo de itens: 4.

shotsobject[]Opcional

Mínimo de itens: 1.

Máximo de itens: 6.

Mostrar campos aninhados
idstringObrigatório

Comprimento mínimo: 1 caracteres.

Comprimento máximo: 80 caracteres.

promptstringObrigatório

Descreva o resultado que deseja criar.

Comprimento mínimo: 1 caracteres.

Comprimento máximo: 1800 caracteres.

durationSecondsintegerObrigatório

Mínimo: 1.

Máximo: 15.

referencesobject[]Obrigatório

Use IDs de recursos da sua conta compatíveis com as referências do modelo escolhido.

Máximo de itens: 120.

Mostrar campos aninhados
idstringObrigatório

Comprimento mínimo: 1 caracteres.

Comprimento máximo: 80 caracteres.

assetIdstringObrigatório

Use o identificador de um recurso da conta autorizada.

Um ID hexadecimal de 24 caracteres.

fieldstringObrigatório

Comprimento mínimo: 1 caracteres.

Comprimento máximo: 80 caracteres.

labelstringObrigatório

Use um rótulo de referência numerado, por exemplo Image1.

assetIdsstring[]Obrigatório

Máximo de itens: 120.

filmSceneobjectOpcional
Mostrar campos aninhados
projectIdstringObrigatório

Use o identificador de um projeto da conta autorizada.

Um ID hexadecimal de 24 caracteres.

shotIdstringObrigatório

Use letras, números, sublinhados ou hífens.

Comprimento mínimo: 1 caracteres.

Comprimento máximo: 120 caracteres.

revisionintegerObrigatório

Mínimo: 0.

Máximo: 9007199254740991.

filmReferenceobjectOpcional
Mostrar campos aninhados
projectIdstringObrigatório

Use o identificador de um projeto da conta autorizada.

Um ID hexadecimal de 24 caracteres.

entityIdstringObrigatório

Use letras, números, sublinhados ou hífens.

Comprimento mínimo: 1 caracteres.

Comprimento máximo: 120 caracteres.

revisionintegerObrigatório

Mínimo: 0.

Máximo: 9007199254740991.

Cabeçalhos da solicitação#

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

Mantenha um UUID por ação e reutilize após timeout ou nova tentativa. Entradas diferentes com o mesmo UUID são rejeitadas.

Campos de resposta#

Uma solicitação aceita não é uma geração concluída. Acompanhe o trabalho até o resultado estar pronto.

Aceita significa que a solicitação foi salva. Consulte a operação para acompanhar a execução.

JSON
{  "id": "e8aa0a87-6cd9-42eb-975a-b72bf43218c8",  "tool": "tong_generation_quote",  "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"  }}
idstringObrigatório

O ID exclusivo da operação salva.

Um UUID, por exemplo e8aa0a87-6cd9-42eb-975a-b72bf43218c8.

toolstringObrigatório
categorystringObrigatório
channelstringObrigatório
Valores permitidos"api""mcp"
statestringObrigatório

O estado atual de execução do trabalho salvo.

Valores permitidos"queued""running""waiting""needs_review""paused""reconciling""succeeded""failed""cancelled"
statusstringObrigatório

O status geral para acompanhar a operação.

Valores permitidos"accepted""running""needs_review""paused""reconciling""succeeded""failed""cancelled"
stagestringObrigatório

A fase atual da operação.

Valores permitidos"admission""dispatch""review""generation""reconciliation""complete"
dispatch_statusstringObrigatório

Indica se a ferramenta aceitou a solicitação. A confirmação não significa que a geração terminou.

Valores permitidos"pending""unknown""acknowledged"
created_atstringObrigatório

Data e hora ISO 8601, por exemplo 2026-10-22T09:00:00Z.

updated_atstringObrigatório

Data e hora ISO 8601, por exemplo 2026-10-22T09:00:00Z.

detail_expires_atstring | nullObrigatório

Quando os detalhes salvos expiram. O valor null indica que não há expiração definida.

Data e hora ISO 8601, por exemplo 2026-10-22T09:00:00Z.

detail_expiredbooleanObrigatório

Indica se os detalhes salvos da operação expiraram.

timingobjectObrigatório

Datas e durações para acompanhar esta operação.

Mostrar campos aninhados
dispatch_started_atstring | nullObrigatório

Data e hora ISO 8601, por exemplo 2026-10-22T09:00:00Z.

acknowledged_atstring | nullObrigatório

Data e hora ISO 8601, por exemplo 2026-10-22T09:00:00Z.

completed_atstring | nullObrigatório

Data e hora ISO 8601, por exemplo 2026-10-22T09:00:00Z.

dispatch_acknowledgement_msnumber | nullObrigatório

Mínimo: 0.

end_to_end_msnumber | nullObrigatório

Mínimo: 0.

reviewJSON | nullObrigatório

Informações de revisão quando a operação exige intervenção humana; caso contrário, null.

resultJSON | nullObrigatório

A saída desta ferramenta, ou null enquanto não houver saída disponível.

errorobject | nullObrigatório

O código de erro público se a operação falhou; caso contrário, null.

Mostrar campos aninhados
codestringObrigatório
billingobjectObrigatório

Uso de créditos e cobranças da carteira. A disponibilidade da saída e a liquidação são independentes.

Mostrar campos aninhados
statusstringObrigatório
Valores permitidos"none""pending""settled""released""reconciling"
usage_creditsstringObrigatório

Uma string decimal com seis casas decimais, por exemplo 1.250000.

wallet_debited_creditsstringObrigatório

Uma string decimal com seis casas decimais, por exemplo 1.250000.

released_creditsstringOpcional

Uma string decimal com seis casas decimais, por exemplo 1.250000.

refunded_creditsstringOpcional

Uma string decimal com seis casas decimais, por exemplo 1.250000.

unfunded_creditsstringOpcional

Uma string decimal com seis casas decimais, por exemplo 1.250000.

pending_creditsstringOpcional

Uma string decimal com seis casas decimais, por exemplo 1.250000.

tokensobjectOpcional
Mostrar campos aninhados
inputnumberOpcional

Mínimo: 0.

outputnumberOpcional

Mínimo: 0.

cachednumberOpcional

Mínimo: 0.

cache_writenumberOpcional

Mínimo: 0.

componentsobject[]Opcional
Mostrar campos aninhados
idstringOpcional
source_idstringObrigatório
toolstringObrigatório
modelstring | nullObrigatório
channelstringObrigatório
Valores permitidos"api""mcp"
credential_idstringObrigatório
kindstringObrigatório
Valores permitidos"text_pool""reasoning""generation"
usage_creditsstringObrigatório

Uma string decimal com seis casas decimais, por exemplo 1.250000.

wallet_debited_creditsstringObrigatório

Uma string decimal com seis casas decimais, por exemplo 1.250000.

evidence_atstringOpcional

Data e hora ISO 8601, por exemplo 2026-10-22T09:00:00Z.

updated_atstringOpcional

Data e hora ISO 8601, por exemplo 2026-10-22T09:00:00Z.

quoteobjectOpcional

A configuração, o preço e os valores de envio quando há uma cotação.

Mostrar campos aninhados
idstringObrigatório

Um UUID, por exemplo e8aa0a87-6cd9-42eb-975a-b72bf43218c8.

operation_idstringObrigatório

Um UUID, por exemplo e8aa0a87-6cd9-42eb-975a-b72bf43218c8.

toolstringObrigatório
operationstring | nullObrigatório
modelstring | nullObrigatório
configurationobjectObrigatório
submit_valuestringObrigatório
submit_fieldstringObrigatório
quoted_creditsstring | nullObrigatório

Uma string decimal com seis casas decimais, por exemplo 1.250000.

expires_atstring | nullObrigatório

Data e hora ISO 8601, por exemplo 2026-10-22T09:00:00Z.

Chamada MCP#

JSON
{  "jsonrpc": "2.0",  "id": 1,  "method": "tools/call",  "params": {    "name": "tong_generation_quote",    "arguments": {      "body": {        "operation": "TEXT_TO_IMAGE",        "model": "tong_ea55aff4f3b5c8aba3a35569",        "routingParameters": {          "ratio": "16:9"        }      }    },    "_meta": {      "io.tongai/idempotency-key": "45be69f1-c266-4a09-a82c-bf3c6303eb03"    }  }}

As solicitações REST envolvem os argumentos em input. As chamadas MCP enviam os mesmos argumentos diretamente.

Resposta

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

Erros e limites#

HTTPErroRecuperação
400Solicitação inválidaREQUEST_INVALIDCorrija os campos indicados pelo erro antes de tentar novamente.
401Credencial inválidaCREDENTIAL_INVALIDVerifique a credencial, a validade e se foi revogada.
402Créditos insuficientesINSUFFICIENT_CREDITSAdicione créditos à conta da credencial e continue o trabalho salvo.
403Permissão negadaSCOPE_REQUIREDUse uma credencial com os escopos necessários e acesso ao recurso selecionado.
404Recurso indisponívelRESOURCE_UNAVAILABLEVerifique o ID do recurso e se pertence à conta autorizada.
409Conflito de intençãoIDEMPOTENCY_CONFLICTReutilize uma intenção apenas com a solicitação original. Use um novo UUID para outra ação.
429Limite de requisições atingidoRATE_LIMITEDAguarde o prazo de Retry-After antes de repetir a mesma solicitação.
503Temporariamente indisponívelDEPENDENCY_UNAVAILABLEAguarde Retry-After e repita com a mesma intenção. Verifique a operação salva após um tempo limite.