POST /v1/quotes
Use os campos e permissões documentados para este endpoint HTTP.
Exemplo de solicitação#
curl -X POST 'https://platform.tongai.io/v1/quotes' \ -H "Authorization: Bearer $TONG_API_KEY" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: 45be69f1-c266-4a09-a82c-bf3c6303eb03" \ -d '{ "tool": "tong_generation_quote", "input": { "body": { "operation": "TEXT_TO_IMAGE", "model": "tong_ea55aff4f3b5c8aba3a35569", "routingParameters": { "ratio": "16:9" } } }}'Configuração
curl --versionAutenticação#
Use uma chave API no servidor para sua conta, ou OAuth para a conta de cada cliente. Nunca envie chaves em prompts ou argumentos.
quotes:writeParâmetros#
Idempotency-KeystringObrigatórioUm UUID, por exemplo e8aa0a87-6cd9-42eb-975a-b72bf43218c8.
Corpo da solicitação#
application/jsontoolstringObrigatório"tong_generation_quote""tong_director_planning_quote""tong_director_shots_quote""tong_reference_quote""tong_cast_quote""tong_locations_quote""tong_director_video_edit_quote""tong_video_selection_quote""tong_video_edit_quote""tong_video_edit_route_quote""tong_motion_quote""tong_lora_quote""tong_audio_quote""tong_generation_alternative_quote""tong_text_quote"inputobjectObrigatórioEsquema de resposta#
{ "id": "e8aa0a87-6cd9-42eb-975a-b72bf43218c8", "tool": "example", "category": "example", "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": "2026-10-22T09:00:00.000Z", "detail_expired": false, "timing": { "dispatch_started_at": "2026-10-22T09:00:00.000Z", "acknowledged_at": "2026-10-22T09:00:00.000Z", "completed_at": "2026-10-22T09:00:00.000Z", "dispatch_acknowledgement_ms": 0, "end_to_end_ms": 0 }, "review": null, "result": null, "error": { "code": "example" }, "billing": { "status": "none", "usage_credits": "0.000000", "wallet_debited_credits": "0.000000" }}HTTP 202
application/jsonidstringObrigatórioO ID exclusivo da operação salva.
Um UUID, por exemplo e8aa0a87-6cd9-42eb-975a-b72bf43218c8.
toolstringObrigatóriocategorystringObrigatóriochannelstringObrigatório"api""mcp"statestringObrigatórioO estado atual de execução do trabalho salvo.
"queued""running""waiting""needs_review""paused""reconciling""succeeded""failed""cancelled"statusstringObrigatórioO status geral para acompanhar a operação.
"accepted""running""needs_review""paused""reconciling""succeeded""failed""cancelled"stagestringObrigatórioA fase atual da operação.
"admission""dispatch""review""generation""reconciliation""complete"dispatch_statusstringObrigatórioIndica se a ferramenta aceitou a solicitação. A confirmação não significa que a geração terminou.
"pending""unknown""acknowledged"created_atstringObrigatórioData e hora ISO 8601, por exemplo 2026-10-22T09:00:00Z.
updated_atstringObrigatórioData e hora ISO 8601, por exemplo 2026-10-22T09:00:00Z.
detail_expires_atstring | nullObrigatórioQuando 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órioIndica se os detalhes salvos da operação expiraram.
timingobjectObrigatórioDatas e durações para acompanhar esta operação.
Mostrar campos aninhados
dispatch_started_atstring | nullObrigatórioData e hora ISO 8601, por exemplo 2026-10-22T09:00:00Z.
acknowledged_atstring | nullObrigatórioData e hora ISO 8601, por exemplo 2026-10-22T09:00:00Z.
completed_atstring | nullObrigatórioData e hora ISO 8601, por exemplo 2026-10-22T09:00:00Z.
dispatch_acknowledgement_msnumber | nullObrigatórioMínimo: 0.
end_to_end_msnumber | nullObrigatórioMínimo: 0.
reviewJSON | nullObrigatórioInformações de revisão quando a operação exige intervenção humana; caso contrário, null.
resultJSON | nullObrigatórioA saída desta ferramenta, ou null enquanto não houver saída disponível.
errorobject | nullObrigatórioO código de erro público se a operação falhou; caso contrário, null.
Mostrar campos aninhados
codestringObrigatóriobillingobjectObrigatórioUso 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"none""pending""settled""released""reconciling"usage_creditsstringObrigatórioUma string decimal com seis casas decimais, por exemplo 1.250000.
wallet_debited_creditsstringObrigatórioUma string decimal com seis casas decimais, por exemplo 1.250000.
released_creditsstringOpcionalUma string decimal com seis casas decimais, por exemplo 1.250000.
refunded_creditsstringOpcionalUma string decimal com seis casas decimais, por exemplo 1.250000.
unfunded_creditsstringOpcionalUma string decimal com seis casas decimais, por exemplo 1.250000.
pending_creditsstringOpcionalUma string decimal com seis casas decimais, por exemplo 1.250000.
tokensobjectOpcionalMostrar campos aninhados
inputnumberOpcionalMínimo: 0.
outputnumberOpcionalMínimo: 0.
cachednumberOpcionalMínimo: 0.
cache_writenumberOpcionalMínimo: 0.
componentsobject[]OpcionalMostrar campos aninhados
idstringOpcionalsource_idstringObrigatóriotoolstringObrigatóriomodelstring | nullObrigatóriochannelstringObrigatório"api""mcp"credential_idstringObrigatóriokindstringObrigatório"text_pool""reasoning""generation"usage_creditsstringObrigatórioUma string decimal com seis casas decimais, por exemplo 1.250000.
wallet_debited_creditsstringObrigatórioUma string decimal com seis casas decimais, por exemplo 1.250000.
evidence_atstringOpcionalData e hora ISO 8601, por exemplo 2026-10-22T09:00:00Z.
updated_atstringOpcionalData e hora ISO 8601, por exemplo 2026-10-22T09:00:00Z.
quoteobjectOpcionalA configuração, o preço e os valores de envio quando há uma cotação.
Mostrar campos aninhados
idstringObrigatórioUm UUID, por exemplo e8aa0a87-6cd9-42eb-975a-b72bf43218c8.
operation_idstringObrigatórioUm UUID, por exemplo e8aa0a87-6cd9-42eb-975a-b72bf43218c8.
toolstringObrigatóriooperationstring | nullObrigatóriomodelstring | nullObrigatórioconfigurationobjectObrigatóriosubmit_valuestringObrigatóriosubmit_fieldstringObrigatórioquoted_creditsstring | nullObrigatórioUma string decimal com seis casas decimais, por exemplo 1.250000.
expires_atstring | nullObrigatórioData e hora ISO 8601, por exemplo 2026-10-22T09:00:00Z.
Erros e limites#
| HTTP | Erro | Recuperação |
|---|---|---|
400 | Solicitação inválidaREQUEST_INVALID | Corrija os campos indicados pelo erro antes de tentar novamente. |
401 | Credencial inválidaCREDENTIAL_INVALID | Verifique a credencial, a validade e se foi revogada. |
402 | Créditos insuficientesINSUFFICIENT_CREDITS | Adicione créditos à conta da credencial e continue o trabalho salvo. |
403 | Permissão negadaSCOPE_REQUIRED | Use uma credencial com os escopos necessários e acesso ao recurso selecionado. |
404 | Recurso indisponívelRESOURCE_UNAVAILABLE | Verifique o ID do recurso e se pertence à conta autorizada. |
409 | Conflito de intençãoIDEMPOTENCY_CONFLICT | Reutilize uma intenção apenas com a solicitação original. Use um novo UUID para outra ação. |
429 | Limite de requisições atingidoRATE_LIMITED | Aguarde o prazo de Retry-After antes de repetir a mesma solicitação. |
503 | Temporariamente indisponívelDEPENDENCY_UNAVAILABLE | Aguarde Retry-After e repita com a mesma intenção. Verifique a operação salva após um tempo limite. |