Erros
Descubra porque é que um pedido ou uma tarefa falhou, e o que fazer a seguir. Um pedido pode falhar de imediato com um erro HTTP, e uma tarefa pode falhar mais tarde com um task_error.
Request errors
A Meshy devolve estes erros de imediato, quando rejeita um pedido. Para descobrir o que correu mal, verifique o código de estado HTTP e o campo message.
Formato da resposta
A resposta de erro tem um 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
Sucesso.
- Name
200 - OK- Description
O pedido funcionou.
- Name
202 - Accepted- Description
A Meshy aceitou o pedido, e o processamento ainda não terminou. Por exemplo, um pedido que cria uma tarefa devolve
202.
- Name
4xx- Description
Algo está errado com o pedido ou com a sua conta. Cada estado indica o que fazer.
- Name
400 - Bad Request- Description
O pedido não é válido, muitas vezes porque falta um parâmetro obrigatório ou um parâmetro está mal formado.
- Name
401 - Unauthorized- Description
A chave de API está em falta, não é válida, ou não consegue aceder a este endpoint. Consulte Autenticação.
- Name
402 - Payment Required- Description
A conta da chave de API não tem créditos suficientes para o pedido. No plano gratuito, a maioria dos pedidos que criam uma tarefa também devolve
402.
- Name
403 - Forbidden- Description
Não tem permissão para fazer este pedido, por exemplo por uma destas razões:
- O pedido veio de um endereço fora da lista de IPs permitidos da chave de API.
- A filtragem de IP da sua organização bloqueou os ficheiros de uma tarefa quando os leu.
- O endpoint não está disponível no seu plano.
- A moderation de conteúdo bloqueou o input. Alguns endpoints devolvem
400para este caso; cada página de endpoint lista os seus códigos. - A chave de API pertence a um membro da equipa que já não está ativo na equipa.
- A conta está banida.
- Name
404 - Not Found- Description
O recurso não existe. Por exemplo, obter uma tarefa com um ID que não existe devolve
404.
- Name
409 - Conflict- Description
O recurso existe, mas o seu estado não permite a operação. Por exemplo, eliminar uma tarefa
IN_PROGRESSdevolve409, porque a Meshy não pode reembolsar uma tarefa que um worker já iniciou. A tarefa continua a ser executada. Aguarde por um estado final (SUCCEEDED,FAILED, ouCANCELED) e depois elimine a tarefa.
- Name
422 - Unprocessable Entity- Description
O pedido é válido, mas a Meshy não consegue processar o seu input. Por exemplo, o Rigging devolve
422quando não consegue encontrar um corpo humanoide no modelo.
- Name
429 - Too Many Requests- Description
Enviou demasiados pedidos, ou tem demasiadas tarefas em fila ou em execução. Quando a resposta tiver um cabeçalho
Retry-After, aguarde esse número de segundos e tente novamente. Consulte Limites de taxa.
- Name
5xx- Description
Algo correu mal do lado da Meshy. Tente novamente com espera progressiva. Se o erro persistir, consulte a página de estado e contacte-nos no Discord.
Example: 400 Bad Request
{
"message": "Invalid model file extension: .3dm"
}
Erros de tarefa
Uma tarefa que o Meshy criou ainda pode falhar durante a sua execução. O seu status passa a FAILED, o Meshy reembolsa os seus créditos, e task_error explica o motivo.
O task_error de uma tarefa falhada tem estes campos:
- Name
- type
- Type
- string
- Description
A categoria do erro. Está sempre presente numa tarefa falhada. Use-a para decidir se deve tentar novamente. Consulte Tipos de erro.
- Name
- message
- Type
- string
- Description
Uma descrição do erro, legível por humanos. Está sempre presente numa tarefa falhada.
- Name
- code
- Type
- string
- Opcional
- Description
Um problema específico e documentado sobre o qual pode agir. Presente quando o Meshy tem mais detalhes. Consulte Códigos de erro. O Meshy pode adicionar novos códigos, pelo que deve tratar um código que não reconheça com base no seu
type.
- Name
- doc_url
- Type
- string
- Opcional
- Description
Uma ligação à entrada do código nesta página, que indica o que fazer. Presente quando
codeestá presente.
Error with details
{
"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"
}
}
Error without details
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"status": "FAILED",
"task_error": {
"type": "server_error",
"message": "An internal error occurred. Please retry."
}
}
Tipos de erro
type é a categoria ampla da falha. Use-a para decidir o que fazer a seguir.
- Name
invalid_input- Description
Algo está errado com o input que enviou. Leia
codeemessage, corrija o input e crie uma nova tarefa.
- Name
timeout- Description
A tarefa ultrapassou um limite de tempo definido do lado do servidor, seja para processamento ou para espera na fila, e falhou. A Meshy reembolsa os respetivos créditos. Isto é frequentemente temporário. Crie novamente a tarefa e, se continuar a falhar, tente um input mais simples.
- Name
service_unavailable- Description
O serviço esteve temporariamente indisponível. Aguarde um momento e, depois, crie novamente a tarefa.
- Name
server_error- Description
Algo correu mal do lado da Meshy enquanto a tarefa era executada. Crie novamente a tarefa. Se continuar a falhar, contacte o suporte com o ID da tarefa.
Códigos de erro
Quando code está presente, identifica um dos seguintes problemas.
image_too_complex
A imagem de entrada ou o prompt descreve um motivo demasiado complexo em termos geométricos para a geração 3D.
Por exemplo:
- Pilhas densas de pequenos objetos, como um caixote cheio de fruta ou uma pilha de livros
- Padrões repetitivos intrincados, como estruturas em treliça, andaimes ou malhas de arame
- Edifícios complexos, como edifícios de vários pisos com muitas janelas e varandas
- Vários objetos distintos numa única imagem, em vez de um único motivo
Estas entradas são provavelmente demasiado complexas:




Para corrigir isto, experimente uma ou mais das seguintes sugestões:
- Utilize um objeto por imagem. O Meshy funciona melhor com um único motivo claro, pelo que não deve colocar vários objetos separados na mesma imagem ou prompt.
- Simplifique o seu motivo. Por exemplo, utilize um vaso simples em vez de um vaso cheio de dezenas de flores.
- Evite cenas. Edifícios inteiros, quarteirões urbanos, divisões mobiladas e paisagens são, provavelmente, demasiado. Concentre-se num único objeto.
- Evite estruturas repetitivas densas. Andaimes, malhas de arame, treliças e pilhas de pequenos itens são causas comuns.
model_missing_uv
Enviou 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 envolve a superfície 3D.

Para corrigir, faça uma das seguintes opções:
- Para manter a própria disposição UV do seu modelo, por exemplo para um posicionamento de costuras personalizado, adicione UVs ao modelo no seu software 3D. Verifique-as no respetivo editor de UV e, depois, volte a carregar o modelo. Os ficheiros STL não conseguem armazenar UVs, por isso utilize GLB, FBX ou OBJ.
- Se não precisar da sua própria disposição, ou não tiver a certeza, omita
enable_original_uvou defina-o comofalse. O Meshy cria então uma disposição UV para o modelo. As novas UVs cobrem bem o modelo, mas não é possível controlar onde ficam as costuras da textura.
model_insufficient_uv
O modelo tem coordenadas UV, mas estas cobrem muito pouco do espaço UV para permitir uma boa texturização. Isto acontece frequentemente com modelos cujo exportador escreveu UVs de marcador de posição ou colapsadas sem um desdobramento adequado.

Para corrigir, faça um dos seguintes:
- Para manter a sua própria disposição UV, desdobre novamente as UVs do modelo no seu software 3D. Distribua as ilhas pelo espaço UV em vez de as concentrar num pequeno canto do mesmo.
- Se não precisar da sua própria disposição, omita
enable_original_uvou defina-o comofalse. O Meshy cria então uma nova disposição UV. Perde o posicionamento das costuras, mas as novas UVs cobrem espaço suficiente para texturizar.
model_missing_texture
O modelo de entrada de uma tarefa de Multi-Color Print não tem nenhuma cor que a Meshy consiga dividir em cores de impressão. A Meshy constrói um 3MF multicor a partir das cores do modelo, pelo que uma malha branca simples não tem nada com que trabalhar. Por exemplo, uma pré-visualização de Texto para 3D ou Imagem para 3D que nunca foi texturizada não tem cor. O mesmo acontece com o resultado de Reparar imprimibilidade, ou uma tarefa de Auto Split que não manteve a textura.
O que conta como cor depende do style solicitado:
realisticobtém a amostra da textura de cor base através das UVs do modelo. Necessita de uma única textura de cor base e de UVs em todas as partes da malha.cartoonachata as cores por face. Aceita uma textura de cor base em qualquer parte, ou cores por vértice (COLOR_0).
A Meshy rejeita um modelo sem textura de cor base nem cores de vértice para ambos os estilos, em vez de permitir que cartoon o transforme numa impressão de cor única.
A Meshy recusa a maioria destes pedidos antes de criar a tarefa, com um 400 e a mesma explicação. Normalmente, só obtém este código quando a Meshy não consegue verificar a entrada antecipadamente. Por exemplo, a Meshy só verifica um carregamento .fbx depois de a tarefa o converter.
Para corrigir isto, use a opção que se adequa ao seu modelo:
- Texturize primeiro o modelo. Execute Retexturizar sobre ele, ou gere-o com uma tarefa de refine de Texto para 3D ou uma tarefa de Imagem para 3D com
should_texture: true. Depois envie essa tarefa comoinput_task_id. - Para um modelo com cores por vértice, como uma digitalização por fotogrametria ou uma malha pintada à mão, use
style: "cartoon", que lêCOLOR_0. - Para um modelo parcialmente texturizado ou com múltiplas texturas com
realistic, dê UVs a todas as partes da malha e a mesma textura de cor base única. Para isso, texturize as partes restantes, ou junte as texturas num único atlas. Também pode mudar parastyle: "cartoon".
textured_split_refused
Uma tarefa de Auto Split com keep_texture: true não consegue manter a textura do modelo de entrada nas peças. Por exemplo, o modelo não tem UVs, ou a sua textura não tem espaço para as novas faces que os cortes criam. A Meshy reembolsa os créditos.
Para corrigir, envie o pedido novamente sem keep_texture, ou com keep_texture: false. As peças voltam então cada uma com uma cor plana.
invalid_input
A entrada falhou numa verificação, e não se aplica nenhum código mais específico. message indica o motivo.
Por exemplo:
- Um ficheiro de modelo vazio ou corrompido
- Uma variante não suportada de um formato de ficheiro, como um ficheiro FBX em ASCII ou um ficheiro GLB comprimido com meshopt
- Um modelo carregado sem objetos 3D válidos, por exemplo um ficheiro apenas com armaduras, câmaras ou luzes
- Conteúdo que não passa nos filtros de segurança
Para corrigir, leia message para saber o problema específico. Verifique se os seus ficheiros de entrada e parâmetros cumprem os requisitos do endpoint.
moderation_blocked
Os filtros de segurança rejeitaram o seu prompt ou as imagens de referência. Os filtros verificam o texto e as imagens em conjunto.
Para corrigir, faça uma ou ambas as seguintes ações:
- Reformule o prompt para remover descrições sugestivas ou sensíveis.
- Altere as imagens de referência que mostrem conteúdo que os filtros possam bloquear.
moderation_unavailable
Tipo: server_error. A moderation de conteúdo esteve temporariamente indisponível, pelo que a Meshy falhou a tarefa em vez de ignorar a verificação. Não há nada de errado com o seu conteúdo.
Para corrigir, crie a tarefa novamente.
timeout
A tarefa ultrapassou um limite de tempo definido no servidor, seja no processamento ou na espera na fila, pelo que a Meshy falhou a tarefa e reembolsou os créditos. Uma carga elevada, ou uma entrada demasiado complexa para terminar a tempo, pode causar isto.
Isto é diferente de um timeout no seu próprio código. Se o seu cliente parou de esperar, a tarefa continua em execução. Consulte Quanto tempo esperar.
Para resolver, siga estes passos:
- Crie a tarefa novamente. Os timeouts são muitas vezes temporários, e uma nova tarefa pode ter sucesso.
- Se continuar a falhar, simplifique a sua entrada, por exemplo reduzindo o detalhe na sua imagem ou prompt. Para entradas mais difíceis de processar, consulte
image_too_complex.
queue_timeout
Tipo: timeout. A tarefa esperou demasiado tempo na fila sem ser iniciada, pelo que o Meshy falhou a tarefa e devolveu quaisquer créditos cobrados por ela. O seu input não causou este erro.
Para corrigir, crie a tarefa novamente.
format_conversion_failed
O Meshy gerou o modelo, mas a conversão para um formato que solicitou falhou.
Para corrigir, siga estes passos:
- Crie a tarefa novamente.
- Se um formato continuar a falhar, solicite um formato diferente que se adeque às suas necessidades.
Best practices
- Repita as tarefas que falharem. Para uma tarefa com falha com
timeout,service_unavailableouserver_error, crie uma nova tarefa com espera exponencial (exponential backoff). - Não crie uma nova tarefa quando o seu próprio pedido expirar. É possível que a primeira tarefa ainda esteja em execução, por isso verifique se esta existe antes de criar outra. Consulte Quanto tempo esperar.
- Registe os IDs das tarefas. Inclua o ID quando contactar o suporte.
- Verifique as entradas antes de as enviar. Certifique-se de que as imagens e os modelos cumprem os requisitos de formato do endpoint.
- Chame a API a partir do seu servidor. O código executado num navegador expõe a sua chave de API a qualquer pessoa que abra a página.