Erros
Neste guia, vamos falar sobre o que acontece quando algo corre mal enquanto trabalha com a Meshy API.
Erros de Pedido
Estes erros são devolvidos imediatamente quando o seu pedido de API é rejeitado. Verifique o código de estado HTTP e o campo message para perceber o que correu mal.
Formato da Resposta
A resposta de erro contém um único campo message que descreve o que correu mal:
- Name
- message
- Type
- string
- Description
Uma breve descrição do erro.
Códigos de Estado
- Name
2xx- Description
Um código de estado 2xx indica uma resposta bem-sucedida.
- Name
200 - OK- Description
Por predefinição, se tudo correr como esperado, será devolvido um código de estado 200.
- Name
202 - Accepted- Description
O seu pedido foi aceite para processamento, mas o processamento ainda não foi concluído. Esta é uma resposta não vinculativa da Meshy API. Por exemplo, um pedido para criar uma nova tarefa devolverá um código de estado 202.
- Name
4xx- Description
Um código de estado 4xx indica um erro do cliente.
- Name
400 - Bad Request- Description
O pedido foi inaceitável, frequentemente devido à falta de um parâmetro obrigatório ou porque um dos parâmetros estava mal formado.
- Name
401 - Unauthorized- Description
Não foi fornecida uma chave de API válida ou a chave de API fornecida não está autorizada a aceder ao endpoint da Meshy API.
- Name
402 - Payment Required- Description
Fundos insuficientes na conta associada à chave de API fornecida.
- Name
403 - Forbidden- Description
Não tem permissão para fazer este pedido. Por exemplo, o pedido proveio de um endereço fora da lista de IPs autorizados da chave de API, uma verificação de conteúdo de um plano Enterprise bloqueou os ficheiros de uma tarefa ao lê-la, ou o endpoint não está disponível no seu plano.
- Name
404 - Not Found- Description
O recurso solicitado não existe. Por exemplo, quando tenta obter uma tarefa pelo seu ID mas fornece um ID inválido, receberá um código de estado 404.
- Name
409 - Conflict- Description
O recurso existe, mas o seu estado atual não permite a operação. Por exemplo, eliminar uma tarefa que já está
IN_PROGRESSdevolve um 409: o worker já iniciou o trabalho, que não pode ser reembolsado, pelo que a tarefa é deixada em execução. Aguarde por um estado terminal (SUCCEEDED,FAILEDouCANCELED) e tente novamente.
- Name
429 - Too Many Requests- Description
Foram enviados demasiados pedidos à Meshy API num curto espaço de tempo. Aguarde o número de segundos indicado no cabeçalho
Retry-Afterantes de tentar novamente. Consulte o guia Limites de Taxa para mais detalhes.
- Name
5xx- Description
Um código de estado 5xx indica um erro do servidor. Se encontrar um, consulte a nossa página de estado para mais informações e contacte-nos através do Discord para obter ajuda.
Example: 400 Bad Request
{
"message": "Invalid model file extension: .3dm"
}
Erros de Tarefa
Estes erros ocorrem após uma tarefa ter sido criada e estar em processamento. Verifique o objeto task_error na resposta da tarefa para obter detalhes sobre o erro.
O objeto task_error contém os seguintes campos:
- Name
- type
- Type
- string
- Description
A categoria do erro. Sempre presente em tarefas falhadas. Veja Tipos de Erro abaixo.
- Name
- message
- Type
- string
- Description
Uma descrição legível do erro. Sempre presente em tarefas falhadas.
- Name
- code
- Type
- string
- Opcional
- Description
Um código de erro específico que identifica o problema. Presente quando detalhes adicionais estão disponíveis. Veja Códigos de Erro abaixo.
- Name
- doc_url
- Type
- string
- Opcional
- Description
Um link para documentação detalhada sobre este código de erro, incluindo orientações de resolução. Presente quando
codeestá presente.
Erro com detalhes
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"status": "FAILED",
"task_error": {
"type": "invalid_input",
"code": "image_too_complex",
"message": "The uploaded image is too complex for 3D generation.",
"doc_url": "https://docs.meshy.ai/en/api/errors#image-too-complex"
}
}
Erro sem detalhes
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"status": "FAILED",
"task_error": {
"type": "server_error",
"message": "An internal error occurred. Please retry."
}
}
Tipos de Erro
O campo type indica a categoria geral da falha. Utilize-o para decidir a sua estratégia de repetição.
- Name
invalid_input- Description
Algo está incorreto com o input que forneceu. Verifique os campos
codeemessagepara mais pormenores, corrija o problema e tente novamente.
- Name
timeout- Description
A tarefa ultrapassou um limite de tempo do lado do servidor, seja no processamento ou na espera na fila, e falhou. Os seus créditos são reembolsados. Isto é frequentemente transitório: crie a tarefa novamente e, se continuar a falhar, tente simplificar o seu input.
- Name
service_unavailable- Description
O serviço esteve temporariamente indisponível. Aguarde um momento e, em seguida, crie a tarefa novamente.
- Name
server_error- Description
Ocorreu um erro interno durante o processamento. Crie a tarefa novamente. Se o problema persistir, contacte o suporte com o ID da sua tarefa.
Códigos de Erro
Quando o campo code está presente, identifica um problema específico e acionável. Abaixo está a referência completa para cada código de erro.
image_too_complex
Este erro ocorre quando a imagem de entrada ou prompt descreve um sujeito que é demasiado complexo geometricamente para o modelo de geração 3D processar.
Exemplos comuns incluem:
- Pilhas densas de pequenos objetos (por exemplo, uma caixa cheia de frutas, uma pilha de livros)
- Padrões repetitivos intrincados (por exemplo, estruturas de treliça, andaimes, malhas de arame)
- Estruturas de edifícios complexas (por exemplo, edifícios de vários andares com muitas janelas e varandas)
- Múltiplos objetos distintos numa só imagem em vez de um único sujeito
Exemplos de entradas que são provavelmente demasiado complexas:




Resolução:
- Use um único objeto por imagem. O modelo funciona melhor com um sujeito claro. Não inclua múltiplos objetos separados na mesma imagem ou prompt.
- Simplifique o seu sujeito. Reduza o nível de detalhe. Por exemplo, um vaso simples em vez de um vaso cheio de dezenas de flores.
- Evite prompts ao nível da cena. Edifícios inteiros, quarteirões, interiores cheios de mobília ou paisagens provavelmente excedem a capacidade do modelo. Foque-se num único objeto.
- Evite estruturas repetitivas densas. Sujeitos como andaimes, malhas de arame, padrões de treliça ou pilhas de muitos pequenos itens são gatilhos comuns.
model_missing_uv
Este erro ocorre quando carrega um modelo para texturização com enable_original_uv definido como true, mas o modelo não tem coordenadas UV. As coordenadas UV definem como uma textura 2D se aplica à superfície 3D do seu modelo.

Resolução:
A correção adequada depende do motivo pelo qual definiu enable_original_uv como true:
- Se precisar de preservar a disposição UV original do seu modelo (por exemplo, colocação personalizada de costuras para mapeamento de textura preciso): o seu modelo deve ter coordenadas UV válidas. Verifique se as UVs existem no editor UV do seu software 3D antes de carregar. Note que os ficheiros STL não podem armazenar dados UV, por isso use GLB, FBX ou OBJ em vez disso.
- Se não precisar de controlo específico sobre as UVs (ou se não tiver a certeza): omita
enable_original_uvou defina-o comofalse. O sistema irá gerar automaticamente uma disposição UV para o seu modelo. As UVs geradas automaticamente são otimizadas para cobertura, mas não terá controlo sobre onde as costuras de textura são colocadas.
model_insufficient_uv
Este erro ocorre quando um modelo tem coordenadas UV, mas a cobertura UV é demasiado pequena para uma texturização de qualidade. Isto acontece frequentemente com modelos exportados de ferramentas 3D que geram UVs de marcador de posição ou colapsados sem uma descompactação adequada.

Resolução:
- Se precisar de preservar a sua disposição UV original: descompacte novamente as UVs do modelo no seu software 3D. Certifique-se de que as ilhas UV estão devidamente distribuídas pelo espaço UV em vez de colapsadas numa área pequena.
- Se não precisar de controlo específico sobre as UVs: omita
enable_original_uvou defina-o comofalse. O sistema irá gerar automaticamente uma nova disposição UV. A desvantagem é que perde a colocação original das costuras, mas as UVs geradas automaticamente terão uma cobertura adequada para texturização.
model_missing_texture
Este erro ocorre quando o modelo de entrada de uma tarefa de Multi-Color Print não tem informação de cor que o conversor consiga separar em cores de impressão. Uma 3MF multicor é construída a partir das cores do modelo, pelo que uma malha branca simples — por exemplo, uma pré-visualização de Texto para 3D ou Imagem para 3D que nunca foi texturizada, ou um resultado reparado / dividido automaticamente — não tem nada com que trabalhar.
O que conta como fonte de cor depende do style solicitado:
realisticamostra a textura de cor base através das UVs do modelo, pelo que requer uma única textura de cor base com coordenadas UV em todas as partes da malha.cartoonachata as cores por face e aceita uma textura de cor base em qualquer parte ou cores por vértice (COLOR_0).
Um modelo sem textura de cor base nem cores de vértice é rejeitado em ambos os estilos; com cartoon seria de outro modo "bem-sucedido" como uma impressão de cor única.
A maioria dos pedidos é recusada antes de a tarefa ser criada (400 Bad Request com a mesma explicação), pelo que normalmente só verá este código quando a entrada não pôde ser inspecionada antecipadamente — por exemplo, um carregamento .fbx é verificado assim que a tarefa o normalizou.
Resolução:
- Texturize o modelo primeiro. Execute uma tarefa de Retexturizar sobre ele, ou gere-o com a texturização ativada (uma tarefa refine de Texto para 3D, ou uma tarefa de Imagem para 3D com
should_texture: true), e passe essa tarefa comoinput_task_id. - Modelos com cores por vértice (digitalizações por fotogrametria, malhas pintadas à mão): solicite
style: "cartoon", que lêCOLOR_0. - Modelos parcialmente texturizados ou com múltiplas texturas em
realistic: cada parte da malha precisa de UVs e da mesma textura de cor base única. Texturize as partes restantes ou junte as texturas num único atlas, ou mude parastyle: "cartoon".
invalid_input
Este é o código de erro de recurso quando a validação do input falha, mas não se aplica nenhum código mais específico. O campo message contém a razão específica para a falha.
Causas comuns incluem:
- Ficheiros de modelo vazios ou corrompidos
- Variações de formatos de ficheiro não suportadas (por exemplo, ficheiros FBX ASCII, GLB comprimidos com meshopt)
- Nenhum objeto 3D válido encontrado no modelo carregado (por exemplo, o ficheiro contém apenas armaduras, câmaras ou luzes)
- Conteúdo que não passa nos filtros de segurança
Resolução: Verifique o campo message para obter detalhes sobre o que correu mal. Confirme que os seus ficheiros de input e parâmetros correspondem aos requisitos do endpoint.
moderation_blocked
Este erro ocorre quando o seu prompt ou as imagens de referência são rejeitados pelos filtros de segurança de IA. O filtro avalia tanto o prompt de texto como quaisquer imagens de referência em conjunto.
Resolução:
- Reformule o seu prompt de texto para remover descrições sugestivas ou sensíveis.
- Ajuste as imagens de referência caso representem conteúdo que possa acionar os filtros de segurança.
moderation_unavailable
Este erro ocorre quando a moderation de conteúdo esteve temporariamente indisponível, pelo que a tarefa falhou em vez de ser executada sem a verificação. Não há nada de errado com o seu conteúdo. O seu type é server_error.
Resolução: Crie a tarefa novamente.
timeout
Este erro significa que a tarefa excedeu um limite de tempo definido no servidor, seja para processamento ou para espera na fila, pelo que a tarefa falhou e os seus créditos foram reembolsados. Isto pode acontecer devido a uma carga elevada do sistema ou porque o input é demasiado complexo para ser processado dentro do limite de tempo.
Isto é diferente de um timeout no seu próprio código. Se o seu cliente deixou de esperar, a tarefa continua em execução; consulte Ciclo de Vida da Tarefa.
Resolução:
- Crie a tarefa novamente. Os timeouts são muitas vezes transitórios e uma nova tarefa pode ser bem-sucedida.
- Simplifique o seu input. Se as novas tentativas continuarem a falhar, o seu input pode ser demasiado complexo. Tente reduzir o nível de detalhe na sua imagem ou prompt. Consulte
image_too_complexpara orientações sobre que tipos de inputs são mais difíceis de processar.
queue_timeout
Este erro significa que a tarefa esperou demasiado tempo na fila sem ser iniciada, pelo que falhou e quaisquer créditos cobrados por ela foram devolvidos. A sua entrada não foi a causa. O seu type é timeout.
Resolução: Crie a tarefa novamente.
format_conversion_failed
Este erro ocorre quando o modelo 3D gerado não pôde ser convertido para o formato de saída solicitado. O modelo foi gerado com sucesso, mas o passo de conversão falhou.
Resolução:
- Repita o pedido.
- Experimente um formato de saída diferente. Se um formato específico continuar a falhar, mude para outro formato que satisfaça as suas necessidades.
Best Practices
- Implemente lógica de nova tentativa. Quando uma tarefa falhar com um erro
timeout,service_unavailableouserver_error, crie-a novamente com espera exponencial (exponential backoff). Se, em vez disso, for o seu próprio pedido que atingir o timeout, não crie uma nova tarefa: verifique primeiro a existente (consulte Task Lifecycle). - Registe os IDs das tarefas. Registe sempre o ID da tarefa para fins de depuração. Inclua-o ao contactar o suporte.
- Valide os dados de entrada. Certifique-se de que as suas imagens e modelos de entrada cumprem os requisitos de formato antes do envio.
- Chame a API a partir do seu servidor. Código que é executado num browser exporia a sua chave de API a qualquer pessoa que abra a página.