lowpoly는 2026. 10. 30.에 지원 종료됩니다. 요청 오류를 피하려면 해당 날짜 전에 모델을 전환하세요.

프린팅 가능성 복구 API

3D 모델을 프린팅 가능성에 맞게 복구합니다 — 비매니폴드 에지, 퇴화 면, 구멍 및 기타 topology 문제를 수정하여 메시를 프린팅 가능한 상태로 만듭니다. 선택적으로, 프린팅하려는 크기에서 너무 얇은 벽을 두껍게 만들 수도 있습니다.


POST/openapi/v1/print/repair

프린팅 가능성 복구 작업 생성

이 엔드포인트는 새로운 프린팅 가능성 복구 작업을 생성합니다. 이 작업은 3D 모델에 대해 topology 복구를 실행하고 워터타이트하며 프린팅 준비가 완료된 버전을 반환합니다.

이 작업은 백그라운드에서 실행됩니다. 일반적으로 소요되는 시간에 대해서는 처리 시간을 참고하세요.

출력 형식은 입력 형식과 일치합니다. model_url을 통해 .stl을 제출하면, 응답의 model_urls.stl에 복구된 메시가 담기고 다른 형식 필드는 비어 있게 됩니다. input_task_id 경로는 항상 소스 작업의 GLB를 읽으므로, 출력은 항상 .glb입니다.

프린팅하려는 크기에서 벽이 너무 얇은 경우 이를 두껍게 만들려면, printer_type, 프린트 크기, 또는 둘 다를 함께 전송하세요. 벽은 해당 프린터 기준으로 표면의 5% 이상이 너무 얇을 때만 두껍게 처리됩니다. 복구된 모델은 원래 스케일을 유지하며, 크기 조정 API를 사용해 스케일을 조정할 수 있습니다. 이 API는 미터 단위를 사용합니다 (100mm는 0.1입니다).

파라미터

  • Name
    input_task_id
    Type
    string
    필수
    Description

    사용자가 소유한 성공한 작업의 ID입니다. 지원되는 작업 유형: 이미지로 3D, 멀티 이미지로 3D, 텍스트로 3D, 리메시, 리텍스처, 프린팅 가능성 분석. 작업 상태는 SUCCEEDED여야 하며 GLB 에셋을 생성했어야 합니다.

    벽 두께를 확인한 분석 작업은 자신의 프린터 및 크기 정보도 전달하므로, 둘 다 보내지 않더라도 복구 작업은 벽 두께를 확인하고 얇은 벽을 두껍게 만듭니다. 사용자가 전송한 printer_type 또는 프린트 크기는 해당 값을 덮어씁니다. .stl, .fbx, .gltf model_url로 생성된 분석 작업은 허용되지 않습니다. 대신 파일을 model_url로 전송하세요.

  • Name
    model_url
    Type
    string
    필수
    Description

    복구할 3D 모델의 URL입니다. 지원 형식: .glb, .gltf, .obj, .fbx, .stl. http 또는 https URL을 사용하거나, GLB(data:model/gltf-binary;base64,...) 또는 glTF(data:model/gltf+json;base64,...)의 base64 data: URL을 사용하세요. .obj, .fbx, .stl 파일은 반드시 http 또는 https URL로 전송해야 합니다.

    최대 파일 크기: http 또는 https URL의 경우 400MB, data: URI의 경우 100MB.

    100MB를 초과하는 GLB, glTF, FBX 또는 OBJ 파일은 최대 10,000,000개의 면(face)을 가질 수 있습니다. 면은 삼각형 단위로 계산되며, 사각형(quad)은 2개로 계산되고, 여러 번 그려진 메시는 복사본마다 한 번씩 계산됩니다. 100MB를 초과하는 경우, FBX 파일은 바이너리 FBX 7.1 이상이어야 하며, GLB 또는 glTF 파일은 Draco 압축을 사용해서는 안 됩니다.

    Meshy 다운로드 URL(assets.meshy.ai/…?Expires=…&Signature=…)은 서명되어 있으며 작업의 expires_at에 도달하면 작동을 멈춥니다. 작업을 다시 조회해도 URL은 갱신되지 않습니다. Meshy로 생성된 모델의 경우, 대신 input_task_id를 전달하세요. 이는 소스 작업이 보존되어 있는 동안에만 작동합니다(에셋 보존 참고). 이후에도 모델을 재사용하려면 expires_at 이전에 다운로드하여 직접 사본을 전송하세요.

  • Name
    alpha_thumbnail
    Type
    boolean
    기본값 false
    Description

    true로 설정하면, 작업은 미리보기의 투명 배경(RGBA) 버전도 추가로 렌더링하여 GET 응답에서 alpha_thumbnail_url로 반환합니다. 기존 thumbnail_url 필드는 변경되지 않습니다.

  • Name
    printer_type
    Type
    string
    Description

    사용할 프린터입니다. 복구가 목표로 하는 최소 벽 두께를 설정합니다. input_task_id로 전달된 분석 작업에서 프린터 정보를 제공하지 않는 한, 크기만 보내고 이 값을 보내지 않으면 기본값은 fdm입니다.

    사용 가능한 값:

    • fdm: 필라멘트, 최소 벽 두께 1.0mm.
    • sla: 레진, 최소 벽 두께 0.8mm.
    • full_color: 풀컬러, 최소 벽 두께 2.0mm.
  • Name
    intended_print_height_mm
    Type
    number
    Description

    프린트 결과물의 높이(밀리미터 단위)입니다. 범위: [1, 1000]. 가장 가까운 밀리미터로 반올림됩니다. GLB 입력에만 적용됩니다.

  • Name
    intended_print_longest_side_mm
    Type
    number
    Description

    프린트 결과물의 가장 긴 변의 길이(밀리미터 단위)입니다. 범위: [1, 1000]. 가장 가까운 밀리미터로 반올림됩니다. 모든 입력 형식에서 작동합니다.

반환값

응답의 result 속성에는 새로 생성된 프린팅 가능성 복구 작업의 id가 포함됩니다.

실패 모드

  • Name
    400 - Bad Request
    Description

    요청이 허용되지 않았습니다. 일반적인 원인:

    • 파라미터 누락: input_task_id와 model_url 중 어느 것도 제공되지 않았습니다.
    • 잘못된 UUID: input_task_id가 유효한 UUID가 아닙니다.
    • 잘못된 모델 URL: model_url의 형식이 올바르지 않거나, 지원되지 않는 스킴을 사용하거나, 지원되지 않는 파일 확장자를 가지고 있습니다.
    • 모델 파일이 너무 큼: model_url 본문이 400MB(http 또는 https URL) 또는 100MB(data: URI)를 초과했습니다.
    • 면(face)이 너무 많음: model_url이 100MB를 초과하는 GLB, glTF, FBX 또는 OBJ 파일이며 면 수가 10,000,000개를 초과합니다. 면 수를 줄인 다음 파일을 다시 전송하세요.
    • 100MB를 초과하는 ASCII FBX: model_url이 100MB를 초과하는 ASCII FBX입니다. 바이너리 FBX 또는 GLB로 전송하세요.
    • 읽을 수 없는 모델 파일: model_url이 100MB를 초과하지만 헤더를 읽을 수 없습니다. 예를 들어 Draco 압축된 GLB 또는 glTF, 또는 7.1 이전 버전의 바이너리 FBX인 경우입니다.
    • 모델 헤더가 너무 복잡함: model_url이 100MB를 초과하며 헤더에 확인해야 할 메시, 노드, 레코드가 너무 많습니다. 파일 내 객체 수를 줄인 다음 다시 전송하세요.
    • 모델 파일을 다운로드할 수 없음: model_url에서 오류가 반환되었습니다. 대부분 서명된 Meshy 다운로드 URL이 만료되었기 때문입니다. 작업을 다시 조회해도 동일한 만료 시간을 가진 동일한 URL이 반환되므로, 직접 파일 사본을 전송하거나 소스 작업이 아직 보존되어 있는 동안 input_task_id를 사용하세요.
    • 작업이 성공하지 않음: 참조된 작업이 아직 대기 중이거나, 진행 중이거나, 실패했습니다.
    • GLB 누락: 참조된 작업에 복구할 GLB 에셋이 없습니다.
    • 잘못된 프린트 크기: intended_print_height_mm 또는 intended_print_longest_side_mm이 [1, 1000] 범위를 벗어났거나, 둘 다 전송되었습니다.
    • 알 수 없는 프린터 유형: printer_type이 fdm, sla, full_color 중 하나가 아닙니다.
    • GLB가 아닌 모델에 높이 지정: .glb가 아닌 model_url과 함께 intended_print_height_mm이 전송되었습니다. 대신 intended_print_longest_side_mm을 사용하세요.
    • 이 모델의 크기를 높이로 지정할 수 없음: 요청된 높이(또는 기본값 150mm)에서 모델의 가장 긴 변이 [1, 1000]mm 범위를 벗어나거나, 모델이 평평하거나, 크기를 판단할 수 없습니다. 대신 intended_print_longest_side_mm을 사용하세요. .glb model_url과 일부 input_task_id 작업의 경우, 이는 작업이 시작된 후에만 확인되며, 이 경우 작업은 FAILED로 종료됩니다.
    • STL 크기를 사용할 수 없음: printer_type이 크기 없이 전송되었고, .stl 자체의 가장 긴 변을 읽을 수 없거나 [1, 1000]mm 범위를 벗어났습니다. intended_print_longest_side_mm을 전송하세요.
  • Name
    401 - Unauthorized
    Description

    인증에 실패했습니다. API 키를 확인해주세요.

  • Name
    402 - Payment Required
    Description

    일반적인 원인:

    • 무료 플랜: 작업 생성에는 유료 플랜이 필요합니다. 구독 페이지에서 업그레이드하세요.
    • 크레딧 부족: 작업 공간의 크레딧 한도에 도달했습니다.
  • Name
    404 - Not Found
    Description

    참조된 작업이 존재하지 않거나 다른 사용자가 소유하고 있습니다.

  • Name
    429 - Too Many Requests
    Description

    대기 중인 작업 할당량 또는 속도 제한을 초과했습니다.

Request

POST
/openapi/v1/print/repair
# Repair an existing task
curl https://api.meshy.ai/openapi/v1/print/repair \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578"
  }'

# Or repair a model URL directly
curl https://api.meshy.ai/openapi/v1/print/repair \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "model_url": "https://example.com/model.stl"
  }'

# Also thicken walls that are too thin for a 100 mm tall SLA print
curl https://api.meshy.ai/openapi/v1/print/repair \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "printer_type": "sla",
    "intended_print_height_mm": 100
  }'

Response

{
  "result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}

GET/openapi/v1/print/repair/:id

프린팅 가능성 복구 작업 조회

이 엔드포인트는 ID로 프린팅 가능성 복구 작업을 조회합니다.

매개변수

  • Name
    id
    Type
    path
    Description

    조회할 프린팅 가능성 복구 작업의 ID입니다.

반환값

Repair Printability Task Object를 반환합니다. model_urls 블록은 작업이 SUCCEEDED 상태에 도달하기 전까지 비어 있습니다. 입력 포맷과 일치하는 model_urls 필드만 채워집니다. 벽 두께 복구의 경우 시작 시점부터 intended_print가 포함되며, 작업이 성공하면 print_repair_report도 포함됩니다.

Request

GET
/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl https://api.meshy.ai/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-repair",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000030000,
  "expires_at": 1715725401000,
  "task_error": null,
  "model_urls": {
    "glb": "",
    "gltf": "",
    "fbx": "",
    "obj": "",
    "stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***",
    "usdz": "",
    "3mf": "",
    "mtl": ""
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
  "texture_urls": [],
  "consumed_credits": 10
}

Response (wall thickness checked)

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-repair",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000090000,
  "expires_at": 1715725490000,
  "task_error": null,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
    "gltf": "",
    "fbx": "",
    "obj": "",
    "stl": "",
    "usdz": "",
    "3mf": "",
    "mtl": ""
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
  "texture_urls": [],
  "consumed_credits": 10,
  "intended_print": {
    "printer_type": "sla",
    "height_mm": 100,
    "longest_side_mm": 118,
    "wall_thickness_mm": 0.8,
    "dimensions_mm": [118, 72.41, 99.87]
  },
  "print_repair_report": {
    "route": "thin_wall",
    "applied": true,
    "faces_before": 243112,
    "faces_after": 251870,
    "thin_area_ratio_before": 0.083,
    "thin_area_ratio_after": 0.004
  }
}

DELETE/openapi/v1/print/repair/:id

프린팅 가능성 복구 작업 삭제

이 엔드포인트는 프린팅 가능성 복구 작업과 복구된 결과물을 영구적으로 삭제합니다. 이 작업은 되돌릴 수 없습니다.

경로 매개변수

  • Name
    id
    Type
    path
    Description

    삭제할 프린팅 가능성 복구 작업의 ID입니다.

작업 상태

아직 PENDING 상태인 작업은 삭제되며, 생성 시 소비된 크레딧이 환불됩니다.

이미 IN_PROGRESS 상태인 작업은 삭제할 수 없습니다. 요청은 409 Conflict로 거부되며 작업은 계속 실행됩니다. 워커가 이미 시작한 작업의 크레딧은 환불되지 않으므로, 실행 도중 삭제하면 크레딧과 결과물을 모두 잃게 됩니다. SUCCEEDED, FAILED 또는 CANCELED 상태에 도달할 때까지 기다린 후 삭제하세요.

최종 상태(SUCCEEDED, FAILED 또는 CANCELED)에 있는 작업은 환불 없이 삭제됩니다.

반환값

성공 시 200 OK를 반환하며, 작업이 IN_PROGRESS 상태인 경우 409 Conflict를 반환합니다.

Request

DELETE
/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

// 200 OK on success, with an empty body.
//
// 409 Conflict when the task is IN_PROGRESS — the task is left running:
{
  "message": "Task is IN_PROGRESS and cannot be deleted. Credits for a task the worker has already started are not refundable; wait for it to reach SUCCEEDED, FAILED or CANCELED, then delete it."
}

GET/openapi/v1/print/repair

List Repair Printability Tasks

이 엔드포인트를 사용하면 프린팅 가능성 복구 작업 목록을 조회할 수 있습니다.

매개변수

선택적 속성

  • Name
    page_num
    Type
    integer
    Description

    페이지네이션을 위한 페이지 번호입니다. 1부터 시작하며 기본값은 1입니다.

  • Name
    page_size
    Type
    integer
    Description

    페이지 크기 제한입니다. 기본값은 10개 항목이며, 최대 100개 항목까지 허용됩니다.

  • Name
    sort_by
    Type
    string
    Description

    정렬 기준 필드입니다. 사용 가능한 값:

    • +created_at: 생성 시간 오름차순으로 정렬합니다.
    • -created_at: 생성 시간 내림차순으로 정렬합니다.

반환값

프린팅 가능성 복구 작업 객체의 페이지네이션된 목록을 반환합니다.

Request

GET
/openapi/v1/print/repair
curl https://api.meshy.ai/openapi/v1/print/repair?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

[
  {
    "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
    "type": "print-repair",
    "status": "SUCCEEDED",
    "progress": 100,
    "preceding_tasks": 0,
    "created_at": 1699999999000,
    "started_at": 1700000000000,
    "finished_at": 1700000030000,
    "expires_at": 1715725401000,
    "task_error": null,
    "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
      "gltf": "",
      "fbx": "",
      "obj": "",
      "stl": "",
      "usdz": "",
      "3mf": "",
      "mtl": ""
    },
    "thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
    "texture_urls": [],
    "consumed_credits": 10
  }
]

GET/openapi/v1/print/repair/:id/stream

프린팅 가능성 복구 작업 스트리밍

이 엔드포인트는 Server-Sent Events(SSE)를 사용하여 프린팅 가능성 복구 작업의 실시간 업데이트를 스트리밍합니다.

Parameters

  • Name
    id
    Type
    path
    Description

    스트리밍할 프린팅 가능성 복구 작업의 고유 식별자입니다.

Returns

Repair Printability Task Objects의 스트림을 Server-Sent Events로 반환합니다.

모든 프레임은 해당 단계의 전체 작업 객체를 담고 있습니다 — 이는 Get 엔드포인트가 반환하는 것과 동일한 형태입니다 — 따라서 작업이 PENDING 또는 IN_PROGRESS 상태인 동안에는 출력 필드가 아직 채워지지 않고 (null, [] 또는 {}), finished_at은 null입니다. model_urls 블록은 작업이 SUCCEEDED에 도달했을 때만 전송됩니다.

Request

GET
/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream
curl -N https://api.meshy.ai/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response Stream

// Error event example
event: error
data: {
  "status_code": 404,
  "message": "Task not found"
}

// Message event examples illustrate task progress.
// Every frame is the full task object; fields not yet populated are null / empty.
// The PENDING frame below is abbreviated to the fields that change.
event: message
data: {
  "id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
  "type": "print-repair",
  "status": "SUCCEEDED",
  "progress": 100,
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000030000,
  "expires_at": 1715725401000,
  "task_error": null,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/model.glb?Expires=***",
    "gltf": "",
    "fbx": "",
    "obj": "",
    "stl": "",
    "usdz": "",
    "3mf": "",
    "mtl": ""
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/preview.png?Expires=***",
  "texture_urls": [],
  "consumed_credits": 10
}

The Repair Printability Task Object

  • Name
    id
    Type
    string
    Description

    작업의 고유 식별자입니다. 구현 세부 사항으로서 작업 id에는 k-sortable UUID를 사용하지만, id의 형식에 대해 어떠한 가정도 하지 않아야 합니다.

  • Name
    type
    Type
    string
    Description

    프린팅 가능성 복구 작업의 타입입니다. 값은 print-repair입니다.

  • Name
    status
    Type
    string
    Description

    작업의 상태입니다. 가능한 값은 PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED 중 하나입니다.

  • Name
    progress
    Type
    integer
    Description

    작업의 progress입니다. 작업이 아직 시작되지 않았다면 이 속성은 0입니다. 작업이 성공하면 100이 됩니다.

  • Name
    preceding_tasks
    Type
    integer
    Description

    선행 작업의 개수입니다.

  • Name
    created_at
    Type
    timestamp
    Description

    작업이 생성된 시점의 타임스탬프이며, 단위는 밀리초입니다.

  • Name
    started_at
    Type
    timestamp
    Description

    작업이 시작된 시점의 타임스탬프이며, 단위는 밀리초입니다. 작업이 아직 시작되지 않았다면 이 속성은 0입니다.

  • Name
    finished_at
    Type
    timestamp
    Description

    작업이 완료된 시점의 타임스탬프이며, 단위는 밀리초입니다. 작업이 아직 완료되지 않았다면 이 속성은 0입니다.

  • Name
    expires_at
    Type
    timestamp
    Description

    작업 결과가 시스템에서 만료되는 시점의 타임스탬프이며, 단위는 밀리초입니다. 작업이 아직 완료되지 않았다면 0입니다.

  • Name
    task_error
    Type
    object
    Description

    작업이 실패한 경우의 오류 정보입니다. 작업이 실패하지 않았다면 이 속성은 null입니다. 자세한 내용은 오류를 참고하세요.

    • Name
      message
      Type
      string
      Description

      무엇이 잘못되었는지 설명하는 오류 메시지입니다.

  • Name
    model_urls
    Type
    object
    Description

    복구된 3D 모델을 다운로드할 수 있는 URL입니다. 입력 형식과 일치하는 필드만 채워지며, 다른 형식의 필드는 빈 문자열입니다.

    • Name
      glb
      Type
      string
      Description

      복구된 GLB를 다운로드할 수 있는 URL입니다. 입력이 GLB였거나 input_task_id가 사용된 경우 채워집니다.

    • Name
      gltf
      Type
      string
      Description

      복구된 GLTF를 다운로드할 수 있는 URL입니다. 입력이 GLTF 업로드였던 경우 채워집니다.

    • Name
      fbx
      Type
      string
      Description

      복구된 FBX를 다운로드할 수 있는 URL입니다. 입력이 FBX 업로드였던 경우 채워집니다.

    • Name
      obj
      Type
      string
      Description

      복구된 OBJ를 다운로드할 수 있는 URL입니다. 입력이 OBJ 업로드였던 경우 채워집니다.

    • Name
      stl
      Type
      string
      Description

      복구된 STL을 다운로드할 수 있는 URL입니다. 입력이 STL 업로드였던 경우 채워집니다.

    • Name
      usdz
      Type
      string
      Description

      USDZ 출력을 위해 예약되어 있습니다. 프린팅 가능성 복구 작업에서는 항상 빈 문자열입니다.

    • Name
      3mf
      Type
      string
      Description

      3MF 출력을 위해 예약되어 있습니다. 프린팅 가능성 복구 작업에서는 항상 빈 문자열입니다.

    • Name
      mtl
      Type
      string
      Description

      MTL 출력을 위해 예약되어 있습니다. 프린팅 가능성 복구 작업에서는 항상 빈 문자열입니다.

  • Name
    thumbnail_url
    Type
    string
    Description

    복구된 모델로부터 렌더링된 미리보기 이미지의 URL입니다.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    thumbnail_url의 투명 배경(RGBA) 버전을 다운로드할 수 있는 URL입니다. 작업이 alpha_thumbnail: true로 생성되었고 투명 미리보기가 성공적으로 렌더링된 경우에만 존재하며, 그렇지 않으면 이 필드는 생략됩니다.

  • Name
    texture_urls
    Type
    array
    Description

    항상 빈 배열입니다. 복구는 입력 지오메트리만 보존하며 texture를 다시 베이크하지 않습니다.

  • Name
    consumed_credits
    Type
    integer
    Description

    이 작업에 소비된 크레딧 수입니다. 작업이 SUCCEEDED에 도달하면 10입니다. FAILED 작업의 경우 0을 반환합니다(실패 시 크레딧은 환불됩니다).

  • Name
    intended_print
    Type
    object
    Description

    복구에 사용된 프린터와 크기이며, 전송되었거나 분석 작업에서 재사용된 값입니다. 벽 두께 복구가 시작될 때(PENDING)부터 존재하며, 아직 알 수 없는 값은 null입니다.

    • Name
      printer_type
      Type
      string
      Description

      fdm, sla, 또는 full_color입니다.

    • Name
      height_mm
      Type
      number
      Description

      프린트가 높이로 크기가 조정된 경우, 밀리미터 단위의 프린트 높이입니다. 그렇지 않으면 null입니다.

    • Name
      longest_side_mm
      Type
      number
      Description

      프린트의 가장 긴 변의 길이(밀리미터)입니다. 높이로 크기가 조정된 경우, 모델의 비율로부터 계산되며, 모델이 측정되기 전까지는 null입니다.

    • Name
      wall_thickness_mm
      Type
      number
      Description

      printer_type에 대한 최소 벽 두께이며, 단위는 밀리미터입니다.

    • Name
      dimensions_mm
      Type
      array
      Description

      프린트의 [너비, 깊이, 높이]이며, 단위는 밀리미터입니다. 높이는 height_mm과 1밀리미터 미만의 오차로 다를 수 있습니다. 작업이 성공하기 전까지는 null이며, GLB가 아닌 입력에 대해서는 항상 null입니다.

  • Name
    print_repair_report
    Type
    object
    Description

    벽 두께 복구가 수행한 작업입니다. 벽 두께 복구가 성공한 이후 존재합니다.

    • Name
      route
      Type
      string
      Description

      어떤 복구가 실행되었는지를 나타냅니다. 다음 중 하나입니다:

      • thin_wall: 표면의 5% 이상이 너무 얇아서, 벽 두께 보강도 함께 실행되었습니다(applied 참고).
      • topology: 벽이 충분히 두꺼워서 topology 복구만 실행되었습니다.
      • topology_unmeasured: 벽을 측정할 수 없어서 topology 복구만 실행되었습니다.
    • Name
      applied
      Type
      boolean
      Description

      벽 두께 보강이 메시를 변경했는지 여부입니다. route가 thin_wall일 때만 존재합니다.

    • Name
      faces_before
      Type
      integer
      Description

      입력 메시의 면 수입니다. route가 thin_wall일 때만 존재합니다.

    • Name
      faces_after
      Type
      integer
      Description

      복구된 메시의 면 수입니다. route가 thin_wall일 때만 존재합니다.

    • Name
      thin_area_ratio_before
      Type
      number
      Description

      입력 표면 중 intended_print.wall_thickness_mm보다 얇았던 비율로, 0에서 1 사이의 값입니다. 입력을 측정할 수 없었던 경우 생략됩니다.

    • Name
      thin_area_ratio_after
      Type
      number
      Description

      복구된 모델에서 측정한 동일한 비율입니다. 측정할 수 없었던 경우 생략되며, 이 경우에도 작업은 성공합니다.

The Repair Printability Task Object

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-repair",
  "status": "SUCCEEDED",
  "progress": 100,
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000030000,
  "expires_at": 1715725401000,
  "task_error": null,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
    "gltf": "",
    "fbx": "",
    "obj": "",
    "stl": "",
    "usdz": "",
    "3mf": "",
    "mtl": ""
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
  "texture_urls": [],
  "consumed_credits": 10
}

The Repair Printability Task Object (wall thickness checked)

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-repair",
  "status": "SUCCEEDED",
  "progress": 100,
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000090000,
  "expires_at": 1715725490000,
  "task_error": null,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
    "gltf": "",
    "fbx": "",
    "obj": "",
    "stl": "",
    "usdz": "",
    "3mf": "",
    "mtl": ""
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
  "texture_urls": [],
  "consumed_credits": 10,
  "intended_print": {
    "printer_type": "sla",
    "height_mm": 100,
    "longest_side_mm": 118,
    "wall_thickness_mm": 0.8,
    "dimensions_mm": [118, 72.41, 99.87]
  },
  "print_repair_report": {
    "route": "thin_wall",
    "applied": true,
    "faces_before": 243112,
    "faces_after": 251870,
    "thin_area_ratio_before": 0.083,
    "thin_area_ratio_after": 0.004
  }
}