Referência da API

Modelos 3D

POST/v1/model3d/tasks
GET/v1/model3d/tasks/{task_id}

Geração 3D assíncrona e pós-processamento. Um campo, operation, define o que a tarefa faz: criar um modelo a partir de texto, de uma imagem ou de várias vistas e depois texturizar, segmentar, retopologizar ou fazer o rigging. O envio retorna um task_id; consulte-o até a URL do modelo aparecer no corpo da tarefa.

#Parâmetros da requisição

  • modelstringobrigatório

    ID de um modelo 3D do catálogo, por exemplo tripo-3d.

  • operationstringobrigatório

    text_to_model · image_to_model · multiview_to_model · texture · smart_segment · retopology · rig · animate.

  • promptstringopcional

    O que criar. Usado por text_to_model.

  • inputstringopcional

    Uma URL pública de imagem para image_to_model, ou o task_id de um modelo 3D concluído para texture, smart_segment, retopology, rig e animate.

  • inputsobject[]opcional

    multiview_to_model: [{"front": url}, {"left": url}, …] — uma vista frontal e pelo menos mais uma.

  • texturebooleanopcional

    Gera texturas junto com o modelo.

  • pbrbooleanopcional

    Gera materiais PBR.

  • texture_promptobjectopcional

    texture: {"text": "weathered bronze"} descreve a nova superfície.

  • face_limitintegeropcional

    retopology: o número máximo de faces que o resultado pode ter.

  • quadbooleanopcional

    retopology: malha de quads em vez de triângulos.

  • animationstringopcional

    animate: a animação a aplicar a um modelo com rigging.

#Erros relacionados

  • 404 not_foundtask_id desconhecido, ou a tarefa de entrada de uma etapa seguinte não existe ou ainda não foi concluída.
  • 401Bearer token inválido ou ausente. Não há error.code neste caminho — verifique o status.
  • 402 insufficient_user_quotaO saldo da carteira não cobre a estimativa pré-reservada.
  • 429Limitação por chave. Corpo vazio; aguarde o Retry-After. Um 429 que traz insufficient_user_quota indica, na verdade, o limite de gastos diário.
  • 503 model_not_foundModelo desconhecido, ou nenhum canal saudável o atende no momento.

Tabela completa de códigos de erro →

#Exemplo de requisição

# 1. make a model from text
curl https://www.aisplice.store/v1/model3d/tasks \
  -H "Authorization: Bearer sk-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "tripo-3d", "operation": "text_to_model", "prompt": "A small ceramic fox", "texture": true}'

# 2. poll until status is completed; the file is in url
curl https://www.aisplice.store/v1/model3d/tasks/$TASK_ID -H "Authorization: Bearer sk-YOUR_KEY"

# 3. texture it: pass the finished task_id as input
curl https://www.aisplice.store/v1/model3d/tasks \
  -H "Authorization: Bearer sk-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "tripo-3d", "operation": "texture", "input": "'$TASK_ID'", "texture_prompt": {"text": "weathered bronze"}}'

#Resposta

response.json
// POST /v1/model3d/tasks
{"task_id": "task_xxx", "status": "queued"}

// GET /v1/model3d/tasks/{task_id} — after completion
{"task_id": "task_xxx", "status": "completed", "url": "https://…/model.glb", "output": {"model_url": "https://…/model.glb"}}

Ainda com problemas?

Envie para nós o ID da requisição ou a mensagem de erro e vamos investigar.