POST /v1/filmmaker/runs
Use os campos e permissões documentados para este endpoint HTTP.
Exemplo de solicitação#
curl -X POST 'https://platform.tongai.io/v1/filmmaker/runs' \ -H "Authorization: Bearer $TONG_API_KEY" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: 45be69f1-c266-4a09-a82c-bf3c6303eb03" \ -d '{ "message": "A quiet street at blue hour"}'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.
filmmaker:runcredits:spendParâmetros#
Idempotency-KeystringObrigatórioUm UUID, por exemplo e8aa0a87-6cd9-42eb-975a-b72bf43218c8.
Corpo da solicitação#
application/jsonmessagestringObrigatórioDescreva o resultado que deseja criar.
Comprimento mínimo: 1 caracteres.
Comprimento máximo: 32000 caracteres.
attachmentsstring[]OpcionalUse IDs de recursos da sua conta compatíveis com as referências do modelo escolhido.
Máximo de itens: 30.
Padrão: [].
reference_bindingsobject[]OpcionalMáximo de itens: 30.
Mostrar campos aninhados
labelstringObrigatórioUse um rótulo de referência numerado, por exemplo Image1.
assetIdstringObrigatórioUse o identificador de um recurso da conta autorizada.
Um ID hexadecimal de 24 caracteres.
modestringOpcionalExecuções guiadas aguardam revisão humana no Tong. As automáticas continuam. Ambas cobram durante o trabalho e pausam sem créditos.
"guided""automatic"Padrão: "guided".
conversation_idstringOpcionalUm UUID, por exemplo e8aa0a87-6cd9-42eb-975a-b72bf43218c8.
model_preferencesobjectOpcionalMostrar campos aninhados
imagestring | nullObrigatórioUse letras, números, sublinhados, pontos, dois-pontos, barras ou hífens.
Comprimento mínimo: 1 caracteres.
Comprimento máximo: 150 caracteres.
videostring | nullObrigatórioUse letras, números, sublinhados, pontos, dois-pontos, barras ou hífens.
Comprimento mínimo: 1 caracteres.
Comprimento máximo: 150 caracteres.
sourceobjectOpcionalMostrar campos aninhados
kindstringObrigatório"director""text"idstringObrigatórioUm ID hexadecimal de 24 caracteres.
Esquema 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. |