오류
이 가이드에서는 Meshy API를 사용하는 동안 문제가 발생했을 때 어떤 일이 일어나는지 알아보겠습니다.
요청 오류
이러한 오류는 API 요청이 거부될 때 즉시 반환됩니다. HTTP 상태 코드와 message 필드를 확인하여 무엇이 잘못되었는지 파악하세요.
응답 형식
오류 응답에는 무엇이 잘못되었는지 설명하는 단일 message 필드가 포함됩니다:
- Name
- message
- Type
- string
- Description
오류에 대한 간단한 설명입니다.
상태 코드
- Name
2xx- Description
2xx 상태 코드는 성공적인 응답을 나타냅니다.
- Name
200 - OK- Description
기본적으로 모든 것이 예상대로 작동하면 200 상태 코드가 반환됩니다.
- Name
202 - Accepted- Description
요청이 처리를 위해 접수되었지만 아직 처리가 완료되지 않았습니다. 이는 Meshy API의 비확정적(non-committal) 응답입니다. 예를 들어 새 작업을 생성하는 요청은 202 상태 코드를 반환합니다.
- Name
4xx- Description
4xx 상태 코드는 클라이언트 오류를 나타냅니다.
- Name
400 - Bad Request- Description
요청이 허용되지 않았습니다. 주로 필수 파라미터가 누락되었거나 파라미터 중 하나의 형식이 잘못된 경우 발생합니다.
- Name
401 - Unauthorized- Description
유효한 API 키가 제공되지 않았거나, 제공된 API 키가 Meshy API 엔드포인트에 접근할 권한이 없습니다.
- Name
402 - Payment Required- Description
제공된 API 키와 연결된 계정에 잔액이 부족합니다.
- Name
403 - Forbidden- Description
요청한 리소스에 대한 접근이 금지되었습니다. 이는 클라이언트 측 JavaScript 코드에서 직접 Meshy API에 접근하려고 할 때 발생할 수 있으며, 브라우저의 Cross-Origin Resource Sharing(CORS) 요청은 허용되지 않기 때문입니다. 이러한 요청에는 서버 측 프록시 사용을 고려하세요. 자세한 내용은 MDN CORS 가이드를 참고하세요.
- Name
404 - Not Found- Description
요청한 리소스가 존재하지 않습니다. 예를 들어 작업 ID로 작업을 조회하려 했지만 잘못된 ID를 제공한 경우 404 상태 코드를 받게 됩니다.
- Name
409 - Conflict- Description
리소스는 존재하지만 현재 상태가 해당 작업을 허용하지 않습니다. 예를 들어 이미
IN_PROGRESS상태인 작업을 삭제하려고 하면 409가 반환됩니다: 워커가 이미 환불할 수 없는 작업을 시작했기 때문에 작업이 계속 실행 중인 상태로 남게 됩니다. 최종 상태(SUCCEEDED,FAILED또는CANCELED)가 될 때까지 기다린 후 다시 시도하세요.
- Name
429 - Too Many Requests- Description
너무 많은 요청이 짧은 시간에 Meshy API에 전달되었습니다. 자세한 내용은 속도 제한 가이드를 참고하세요.
Example: 400 Bad Request
{
"message": "Invalid model file extension: .3dm"
}
작업 오류
이 오류들은 작업이 생성되어 처리되는 중에 발생합니다. 오류에 대한 자세한 내용은 작업 응답의 task_error 객체를 확인하세요.
task_error 객체는 다음 필드를 포함합니다:
- Name
- type
- Type
- string
- Description
오류 카테고리입니다. 실패한 작업에는 항상 존재합니다. 아래 오류 유형을 참조하세요.
- Name
- message
- Type
- string
- Description
사람이 읽을 수 있는 오류 설명입니다. 실패한 작업에는 항상 존재합니다.
- Name
- code
- Type
- string
- 선택
- Description
문제를 식별하는 특정 오류 코드입니다. 추가 세부 정보가 있을 때 존재합니다. 아래 오류 코드를 참조하세요.
- Name
- doc_url
- Type
- string
- 선택
- Description
이 오류 코드에 대한 해결 방법을 포함한 상세 문서 링크입니다.
code가 존재할 때 함께 존재합니다.
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."
}
}
오류 유형
type 필드는 실패의 대략적인 범주를 알려줍니다. 이를 사용해 재시도 전략을 결정하세요.
- Name
invalid_input- Description
제공한 입력에 문제가 있습니다.
code및message필드에서 구체적인 내용을 확인하고 문제를 해결한 후 다시 시도하세요.
- Name
timeout- Description
처리 시간이 제한 시간을 초과했습니다. 이는 대개 일시적인 현상입니다. 요청을 재시도하고, 계속 실패하면 입력을 단순화해 보세요.
- Name
service_unavailable- Description
서비스를 일시적으로 사용할 수 없습니다. 잠시 기다린 후 다시 시도하세요.
- Name
server_error- Description
처리 중 내부 오류가 발생했습니다. 요청을 재시도하세요. 문제가 계속되면 작업 ID와 함께 지원팀에 문의하세요.
오류 코드
code 필드가 존재하면 특정하고 조치 가능한 문제를 나타냅니다. 아래는 각 오류 코드에 대한 전체 참조입니다.
image_too_complex
이 오류는 입력 이미지나 prompt가 3D 생성 모델이 처리하기에는 기하학적으로 너무 복잡한 피사체를 설명할 때 발생합니다.
일반적인 예시는 다음과 같습니다:
- 작은 물체가 빽빽하게 쌓인 더미 (예: 과일이 가득 담긴 상자, 책 더미)
- 정교하게 반복되는 패턴 (예: 격자 구조, 비계, 철망)
- 복잡한 건물 구조 (예: 창문과 발코니가 많은 다층 건물)
- 하나의 피사체가 아닌 한 이미지 안의 여러 개별 물체
너무 복잡할 가능성이 높은 입력 예시:




해결 방법:
- 이미지당 하나의 물체만 사용하세요. 모델은 하나의 명확한 피사체가 있을 때 가장 잘 작동합니다. 같은 이미지나 prompt에 여러 개의 개별 물체를 포함하지 마세요.
- 피사체를 단순화하세요. 세부 사항의 수준을 줄이세요. 예를 들어, 수십 송이의 꽃으로 가득 찬 꽃병 대신 단순한 꽃병을 사용하세요.
- 씬 수준의 prompt는 피하세요. 건물 전체, 도시 블록, 가구로 가득 찬 실내, 풍경 등은 모델의 처리 용량을 초과할 가능성이 높습니다. 대신 단일 물체에 집중하세요.
- 밀집된 반복 구조는 피하세요. 비계, 철망, 격자 패턴, 또는 작은 물건이 많이 쌓인 더미 같은 피사체는 흔히 문제를 유발합니다.
model_missing_uv
이 오류는 enable_original_uv를 true로 설정한 상태로 텍스처링할 모델을 업로드했지만, 해당 모델에 UV 좌표가 없을 때 발생합니다. UV 좌표는 2D 텍스처가 모델의 3D 표면에 어떻게 매핑되는지를 정의합니다.

해결 방법:
올바른 해결책은 enable_original_uv를 true로 설정한 이유에 따라 달라집니다:
- 모델의 원본 UV 레이아웃을 보존해야 하는 경우 (예: 정밀한 텍스처 매핑을 위한 커스텀 심(seam) 배치): 모델에 유효한 UV 좌표가 있어야 합니다. 업로드하기 전에 사용 중인 3D 소프트웨어의 UV 에디터에서 UV가 존재하는지 확인하세요. STL 파일은 UV 데이터를 저장할 수 없으므로 대신 GLB, FBX, 또는 OBJ를 사용해야 한다는 점에 유의하세요.
- 특정 UV 제어가 필요하지 않은 경우 (또는 확실하지 않은 경우):
enable_original_uv를 생략하거나false로 설정하세요. 시스템이 모델에 대한 UV 레이아웃을 자동으로 생성합니다. 자동 생성된 UV는 커버리지에 최적화되어 있지만, 텍스처 심(seam)이 배치되는 위치를 제어할 수는 없습니다.
model_insufficient_uv
이 오류는 모델에 UV 좌표가 있지만, UV 적용 범위가 너무 작아 고품질 텍스처링에 부적합할 때 발생합니다. 이는 제대로 된 언랩(unwrap) 없이 자리 표시용 또는 뭉개진 UV를 생성하는 3D 도구에서 내보낸 모델에서 흔히 발생합니다.

해결 방법:
- 원본 UV 레이아웃을 유지해야 하는 경우: 3D 소프트웨어에서 모델의 UV를 다시 언랩하세요. UV 아일랜드가 작은 영역에 뭉쳐 있지 않고 UV 공간 전체에 고르게 펼쳐지도록 하세요.
- 특정 UV 제어가 필요하지 않은 경우:
enable_original_uv를 생략하거나false로 설정하세요. 시스템이 자동으로 새로운 UV 레이아웃을 생성합니다. 이 경우 원본 심(seam) 배치는 잃게 되지만, 자동 생성된 UV는 텍스처링에 적합한 적용 범위를 갖게 됩니다.
model_missing_texture
이 오류는 Multi-Color Print 작업의 입력 모델에 컨버터가 프린트 색상으로 분리할 수 있는 색상 정보가 전혀 없을 때 발생합니다. 다색 프린트용 3MF는 모델의 색상을 바탕으로 생성되므로, 예를 들어 한 번도 텍스처링되지 않은 텍스트로 3D 또는 이미지로 3D 프리뷰나, 복구되거나 자동 분할된 출력물처럼 단순히 흰색뿐인 메시에는 작업할 대상이 없습니다.
무엇이 색상 소스로 간주되는지는 요청한 style에 따라 달라집니다:
realistic은 모델의 UV를 통해 기본 색상 텍스처를 샘플링하므로, 모든 메시 부분에 UV 좌표가 있는 단일 기본 색상 텍스처가 필요합니다.cartoon은 면 단위로 색상을 평탄화하며, 어느 부분에든 있는 기본 색상 텍스처 또는 정점별 색상(COLOR_0)을 받아들입니다.
기본 색상 텍스처도 정점 색상도 없는 모델은 두 스타일 모두에서 거부됩니다. cartoon의 경우 그렇지 않으면 단색 프린트로 "성공"해 버리기 때문입니다.
대부분의 요청은 작업이 생성되기 전에 거부되며(같은 설명과 함께 400 Bad Request), 따라서 이 코드는 보통 입력을 사전에 검사할 수 없었던 경우에만 표시됩니다 — 예를 들어 .fbx 업로드는 작업이 이를 정규화한 이후에 검사됩니다.
해결 방법:
- 먼저 모델에 텍스처를 적용하세요. Retexture 작업을 실행하거나, 텍스처링이 활성화된 상태로 생성한 뒤(텍스트로 3D refine 작업, 또는
should_texture: true로 설정한 이미지로 3D 작업), 해당 작업을input_task_id로 전달하세요. - 정점 색상 모델 (포토그래메트리 스캔, 수작업으로 채색된 메시)의 경우:
COLOR_0을 읽는style: "cartoon"을 요청하세요. realistic에서 부분적으로 텍스처링되었거나 텍스처가 여러 개인 모델: 모든 메시 부분에 UV와 동일한 단일 기본 색상 텍스처가 필요합니다. 나머지 부분에 텍스처를 적용하거나 텍스처들을 하나의 아틀라스로 병합하거나,style: "cartoon"으로 전환하세요.
invalid_input
이는 입력값이 유효성 검사에 실패했지만 더 구체적인 코드가 적용되지 않을 때 사용되는 대체 오류 코드입니다. message 필드에는 실패의 구체적인 원인이 포함되어 있습니다.
일반적인 원인은 다음과 같습니다:
- 비어 있거나 손상된 모델 파일
- 지원되지 않는 파일 형식 변형 (예: ASCII FBX 파일, meshopt로 압축된 GLB)
- 업로드된 모델에서 유효한 3D 객체를 찾을 수 없음 (예: 파일에 아마추어, 카메라, 조명만 포함된 경우)
- 안전 필터를 통과하지 못한 콘텐츠
해결 방법: 무엇이 잘못되었는지 구체적인 내용을 확인하려면 message 필드를 확인하세요. 입력 파일과 매개변수가 엔드포인트의 요구 사항과 일치하는지 확인하세요.
moderation_blocked
이 오류는 prompt 또는 참조 이미지가 AI 안전 필터에 의해 거부될 때 발생합니다. 필터는 텍스트 prompt와 참조 이미지를 함께 평가합니다.
해결 방법:
- 선정적이거나 민감한 표현을 제거하도록 텍스트 prompt를 다시 작성하세요.
- 안전 필터를 유발할 수 있는 콘텐츠를 담고 있다면 참조 이미지를 조정하세요.
timeout
이 오류는 작업의 처리 시간이 허용된 한도를 초과했음을 의미합니다. 이는 시스템 부하가 높거나 입력이 시간 제한 내에 처리하기에 너무 복잡할 때 발생할 수 있습니다.
해결 방법:
- 요청을 재시도하세요. timeout은 종종 일시적인 현상이므로 재시도하면 성공할 수 있습니다.
- 입력을 단순화하세요. 재시도가 계속 실패한다면 입력이 너무 복잡할 수 있습니다. 이미지나 prompt의 세부 수준을 줄여보세요. 처리하기 더 어려운 입력 유형에 대한 가이드는
image_too_complex를 참고하세요.
format_conversion_failed
이 오류는 생성된 3D 모델을 요청한 출력 형식으로 변환할 수 없을 때 발생합니다. 모델 생성 자체는 성공했지만 변환 단계에서 실패한 경우입니다.
해결 방법:
- 요청을 재시도하세요.
- 다른 출력 형식을 시도하세요. 특정 형식에서 계속 실패한다면, 필요에 맞는 다른 형식으로 전환하세요.
모범 사례
- 재시도 로직을 구현하세요.
timeout및service_unavailable오류의 경우, 지수 백오프 재시도 로직을 구현하세요. - 작업 ID를 기록하세요. 디버깅 목적으로 항상 작업 ID를 기록해 두세요. 지원팀에 문의할 때 이를 포함하세요.
- 입력값을 검증하세요. 제출 전에 입력 이미지와 모델이 형식 요구 사항을 충족하는지 확인하세요.