멀티 이미지로 3D API

멀티 이미지로 3D API는 Meshy의 멀티 이미지로 3D 기능을 귀하의 애플리케이션에 통합할 수 있게 해주는 기능입니다. 이 섹션에서는 이 API를 시작하는 데 필요한 모든 정보를 찾을 수 있습니다.


POST/openapi/v1/multi-image-to-3d

멀티 이미지로 3D 작업 생성

이 엔드포인트를 사용하면 새로운 멀티 이미지로 3D 작업을 생성할 수 있습니다. 멀티 이미지로 3D 작업 객체에 포함된 속성을 확인하려면 멀티 이미지로 3D 작업 객체를 참조하세요.

파라미터

  • Name
    input_task_id
    Type
    string
    필수
    Description

    입력으로 사용할 출력(1~4개 이미지)을 가진, 완료된 이미지 생성 작업의 ID입니다. 이 작업은 다음 작업 중 하나여야 합니다: 텍스트로 이미지, 이미지로 이미지, 텍스트로 이미지 멀티뷰, 또는 이미지로 이미지 멀티뷰. 또한, API를 통해 실행되었으며 상태가 SUCCEEDED여야 합니다.

  • Name
    image_urls
    Type
    array
    필수
    Description

    Meshy가 모델 생성에 사용할 이미지를 1~4개 제공합니다. 현재 .jpg, .jpeg, .png 형식을 지원합니다. 최상의 결과를 얻으려면 모든 이미지가 서로 다른 각도에서 촬영된 동일한 객체를 묘사해야 합니다.

    각 이미지를 제공하는 방법에는 두 가지가 있습니다:

    • 공개적으로 접근 가능한 URL: 공개 인터넷에서 접근 가능한 URL입니다.
    • Data URI: 이미지의 base64로 인코딩된 data URI입니다. data URI의 예: data:image/jpeg;base64,<your base64-encoded image data>.
  • Name
    ai_model
    Type
    string
    기본값 latest
    Description

    사용할 모델의 ID입니다. 사용 가능한 값: meshy-5, meshy-6, meshy-7, latest(Meshy 7).

  • Name
    ultra_mode
    Type
    boolean
    기본값 false
    Description

    더 세밀한 표면 디테일을 갖춘 고품질 지오메트리를 위해 Ultra 생성을 활성화합니다.

  • Name
    should_texture
    Type
    boolean
    기본값 true
    Description

    텍스처 생성 여부를 결정합니다. false로 설정하면 텍스처 단계를 건너뛰고 텍스처가 없는 메시를 제공합니다.

다음 경우에만 적용 should_texture = true
  • Name
    enable_pbr
    Type
    boolean
    기본값 false
    Description

    기본 색상 외에 PBR 맵(메탈릭, 러프니스, 노멀)을 생성합니다. ai_modelmeshy-6인 경우 texture_resolution: 8k를 제외하고 이미션 맵도 포함됩니다. meshy-7latest는 이미션 맵을 생성하지 않습니다.

  • Name
    texture_resolution
    Type
    string
    기본값 2k
    Description

    기본 색상 텍스처 해상도입니다. 2k(2048×2048), 4k(4096×4096), 8k(8192×8192) 중 하나입니다. 해상도가 높을수록 표면 디테일을 더 많이 담아냅니다.

  • Name
    hd_texture
    Type
    boolean
    사용 중단
    기본값 false
    Description

    대신 texture_resolution을 사용하세요 — texture_resolution: "4k"와 동일합니다. 둘 다 설정된 경우 texture_resolution이 우선합니다.

  • Name
    texture_prompt
    Type
    string
    Description

    텍스처링 과정을 안내할 텍스트 prompt를 제공합니다. 최대 800자입니다.

  • Name
    texture_image_url
    Type
    string
    Description

    텍스처링 과정을 안내할 2D 이미지를 제공합니다. 현재 .jpg, .jpeg, .png 형식을 지원합니다.

    이미지를 제공하는 방법에는 두 가지가 있습니다:

    • 공개적으로 접근 가능한 URL: 공개 인터넷에서 접근 가능한 URL입니다
    • Data URI: 이미지의 base64로 인코딩된 data URI입니다. data URI의 예: data:image/jpeg;base64,<your base64-encoded image data>
  • Name
    texture_image_urls
    Type
    string[]
    Description

    텍스처링을 안내하기 위해 서로 다른 뷰에서 촬영된 동일한 객체의 이미지를 1~4개 제공합니다. 첫 번째 이미지는 기본(정면) 뷰이며, 나머지 뷰(왼쪽, 뒤쪽, 오른쪽)의 순서는 중요하지 않습니다.

    각 요소는 texture_image_url과 동일한 형식(공개적으로 접근 가능한 URL 또는 base64 data URI, .jpg/.jpeg/.png)을 허용합니다.

    이 이미지들은 텍스처만 안내하며 image_urls와는 독립적입니다 — 두 목록은 서로 다른 이미지와 서로 다른 개수의 이미지를 포함할 수 있습니다.

  • Name
    should_remesh
    Type
    boolean
    기본값 false (meshy-6), true (others)
    Description

    리메시 단계를 활성화할지 여부를 제어합니다. 최고 품질의 모델을 위해서는 should_remeshfalse로 설정하는 것을 권장합니다.

다음 경우에만 적용 should_remesh = true
  • Name
    topology
    Type
    string
    기본값 triangle
    Description

    생성된 모델의 topology를 지정합니다.

    사용 가능한 값:

    • quad: 쿼드 위주의 메시를 생성합니다.
    • triangle: 감소된 삼각형 메시를 생성합니다.
  • Name
    target_polycount
    Type
    integer
    기본값 30,000
    Description

    생성된 모델의 목표 폴리곤 수를 지정합니다. 실제 폴리곤 수는 지오메트리의 복잡도에 따라 목표치와 다를 수 있습니다.

    유효한 값 범위는 사용자 등급에 따라 다릅니다:

    • 100~300,000(포함)
  • Name
    decimation_mode
    Type
    integer
    Description

    폴리곤 수 레벨을 설정하여 적응형 감소를 활성화합니다. 설정된 경우 target_polycount는 무시됩니다.

    사용 가능한 값:

    • 1: 적응형 — 초고 폴리곤 수.
    • 2: 적응형 — 고 폴리곤 수.
    • 3: 적응형 — 중 폴리곤 수.
    • 4: 적응형 — 저 폴리곤 수.
  • Name
    save_pre_remeshed_model
    Type
    boolean
    기본값 false
    Description

    true로 설정하면 Meshy는 리메시 단계가 완료되기 전의 GLB 파일도 추가로 저장합니다.

  • Name
    symmetry_mode
    Type
    string
    사용 중단
    기본값 auto
    Description

    지원 중단됨. 이 파라미터는 더 이상 출력에 영향을 주지 않습니다.

    symmetry_mode 필드는 모델 생성 과정에서 대칭 동작을 제어합니다.

    유효한 값은 다음과 같습니다:

    • off: 대칭을 비활성화합니다.
    • auto: 입력 지오메트리를 기반으로 대칭을 자동으로 결정하고 적용합니다.
    • on: 생성 중 대칭을 강제로 적용합니다.
  • Name
    pose_mode
    Type
    string
    기본값 ""
    Description

    생성된 모델의 pose mode를 지정합니다.

    사용 가능한 값:

    • a-pose: 모델을 A자 포즈로 생성합니다.
    • t-pose: 모델을 T자 포즈로 생성합니다.
    • ""(빈 문자열): 특정 포즈를 적용하지 않습니다.
  • Name
    is_a_t_pose
    Type
    boolean
    사용 중단
    기본값 false
    Description

    대신 pose_mode를 사용하세요. 모델을 A/T 포즈로 생성할지 여부입니다.

  • Name
    image_enhancement
    Type
    boolean
    기본값 true
    Description

    더 나은 결과를 위해 입력 이미지를 최적화합니다. 스타일 처리 없이 입력 이미지의 정확한 모습을 유지하려면 false로 설정하세요.

  • Name
    remove_lighting
    Type
    boolean
    기본값 true
    Description

    기본 색상 텍스처에서 하이라이트와 그림자를 제거하여 커스텀 조명 설정에서 더 잘 작동하는 깔끔한 결과를 만듭니다.

  • Name
    moderation
    Type
    boolean
    기본값 false
    Description

    true로 설정하면 입력 콘텐츠가 잠재적으로 유해한 콘텐츠에 대해 자동으로 검사됩니다. 유해한 콘텐츠가 감지되면 작업이 생성 단계로 진행되지 않습니다.

    image_urls의 각 이미지와 texture_prompt의 텍스트가 검사됩니다.

  • Name
    target_formats
    Type
    string[]
    Description

    출력에 포함할 3D 파일 형식을 지정합니다. 요청된 형식만 생성되어 반환되므로 작업 완료 시간을 단축할 수 있습니다.

    사용 가능한 값: glb, obj, fbx, stl, usdz, 3mf

  • Name
    auto_size
    Type
    boolean
    기본값 false
    Description

    true로 설정하면 서비스는 AI 비전을 사용하여 객체의 실제 높이를 자동으로 추정하고 이에 맞게 모델 크기를 조정합니다. origin_at이 명시적으로 설정되지 않는 한 원점은 기본적으로 bottom입니다.

  • Name
    alpha_thumbnail
    Type
    boolean
    기본값 false
    Description

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

  • Name
    multi_view_thumbnails
    Type
    boolean
    기본값 false
    Description

    true로 설정하면 작업은 네 개의 방위 뷰(정면, 오른쪽, 뒤쪽, 왼쪽) 썸네일을 추가로 렌더링하여 GET 응답에서 thumbnail_urls로 반환합니다. 기존 thumbnail_url 필드는 변경되지 않고 계속 정면 뷰를 가리키므로 기존 클라이언트는 영향을 받지 않습니다.

다음 경우에만 적용 auto_size = true
  • Name
    origin_at
    Type
    string
    기본값 bottom
    Description

    auto_size가 활성화된 경우 원점의 위치입니다. 사용 가능한 값: bottom, center.

반환값

응답의 result 속성에는 새로 생성된 멀티 이미지로 3D 작업의 작업 id가 포함됩니다.

실패 모드

  • Name
    400 - Bad Request
    Description

    요청이 수락될 수 없습니다. 일반적인 원인:

    • 파라미터 누락: image_urls 또는 input_task_id 중 하나는 반드시 제공되어야 합니다.
    • 잘못된 입력 작업: input_task_idSUCCEEDED 상태의 텍스트로 이미지, 이미지로 이미지, 또는 멀티뷰 변형 작업을 참조해야 합니다.
    • 잘못된 이미지 개수: image_urls는 1개에서 4개 사이의 이미지를 포함해야 하며, texture_image_urls는 1개에서 4개 사이여야 합니다.
    • 잘못된 이미지 형식: image_urls의 하나 이상의 이미지가 지원되지 않는 형식입니다.
    • 텍스처 입력 충돌: texture_image_urlstexture_image_url 또는 texture_prompt와 함께 사용할 수 없으며, should_texture: true가 필요합니다.
    • 멀티뷰 텍스처에 지원되지 않는 모델: texture_image_urlsai_model meshy-7 또는 latest가 필요합니다.
    • 접근할 수 없는 URL: 하나 이상의 image_urls 또는 texture_image_urls 요소를 다운로드할 수 없습니다.
  • Name
    401 - Unauthorized
    Description

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

  • Name
    402 - Payment Required
    Description

    이 작업을 수행하기에 크레딧이 부족합니다.

  • Name
    429 - Too Many Requests
    Description

    속도 제한을 초과했습니다.

Request

POST
/openapi/v1/multi-image-to-3d
# Simple request
curl https://api.meshy.ai/openapi/v1/multi-image-to-3d \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "image_urls": [
      "<your publicly accessible image url or base64-encoded data URI>",
      "<your second publicly accessible image url or base64-encoded data URI>"
    ]
  }'

# With PBR texturing and GLB format
curl https://api.meshy.ai/openapi/v1/multi-image-to-3d \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "image_urls": [
      "<your publicly accessible image url or base64-encoded data URI>",
      "<your second publicly accessible image url or base64-encoded data URI>"
    ],
    "should_texture": true,
    "enable_pbr": true,
    "target_formats": ["glb"]
  }'

Response

{
  "result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}

GET/openapi/v1/multi-image-to-3d/:id

멀티 이미지로 3D 작업 가져오기

이 엔드포인트를 사용하여 유효한 작업 id가 주어진 경우 멀티 이미지로 3D 작업을 가져올 수 있습니다. 멀티 이미지로 3D 작업 객체에 포함된 속성을 보려면 멀티 이미지로 3D 작업 객체를 참조하세요.

매개변수

  • Name
    id
    Type
    path
    Description

    가져올 멀티 이미지로 3D 작업의 고유 식별자입니다.

반환값

응답에는 멀티 이미지로 3D 작업 객체가 포함됩니다. 자세한 내용은 멀티 이미지로 3D 작업 객체 섹션을 확인하세요.

Request

GET
/openapi/v1/multi-image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578
curl https://api.meshy.ai/openapi/v1/multi-image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "multi-image-to-3d",
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
    "fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
    "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
    "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
    "pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "thumbnail_urls": {
    "front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
    "right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
    "back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
    "left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
  },
  "texture_prompt": "",
  "progress": 100,
  "started_at": 1692771667037,
  "created_at": 1692771650657,
  "expires_at": 1692771679037,
  "finished_at": 1692771669037,
  "status": "SUCCEEDED",
  "texture_urls": [
    {
      "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
      "metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
      "normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
      "roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
      "emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
    }
  ],
  "preceding_tasks": 0,
  "task_error": {

    "message": ""

  },

  "consumed_credits": 30
}

DELETE/openapi/v1/multi-image-to-3d/:id

멀티 이미지로 3D 작업 삭제

이 엔드포인트는 멀티 이미지로 3D 작업과 관련된 모든 모델 및 데이터를 영구적으로 삭제합니다. 이 작업은 되돌릴 수 없습니다.

경로 매개변수

  • Name
    id
    Type
    path
    Description

    삭제할 멀티 이미지로 3D 작업의 ID입니다.

반환값

성공 시 200 OK를 반환합니다.

Request

DELETE
/openapi/v1/multi-image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/multi-image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

// Returns 200 Ok on success.

GET/openapi/v1/multi-image-to-3d

멀티 이미지로 3D 작업 목록

이 엔드포인트를 사용하여 멀티 이미지로 3D 작업 목록을 검색할 수 있습니다.

매개변수

선택적 속성

  • Name
    page_num
    Type
    integer
    Description

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

  • Name
    page_size
    Type
    integer
    Description

    페이지 크기 제한입니다. 기본값은 10 항목입니다. 최대 허용 항목 수는 50입니다.

  • Name
    sort_by
    Type
    string
    Description

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

    • +created_at: 생성 시간 기준 오름차순 정렬.
    • -created_at: 생성 시간 기준 내림차순 정렬.

반환값

멀티 이미지로 3D 작업 객체의 페이지네이션된 목록을 반환합니다.

Request

GET
/openapi/v1/multi-image-to-3d
curl https://api.meshy.ai/openapi/v1/multi-image-to-3d?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

[
  {
    "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "type": "multi-image-to-3d",
    "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
      "fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
      "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
      "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
      "pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
    },
    "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
    "thumbnail_urls": {
      "front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
      "right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
      "back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
      "left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
    },
    "texture_prompt": "",
    "progress": 100,
    "started_at": 1692771667037,
    "created_at": 1692771650657,
    "expires_at": 1692771679037,
    "finished_at": 1692771669037,
    "status": "SUCCEEDED",
    "texture_urls": [
      {
        "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
        "metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
        "normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
        "roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
        "emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
      }
    ],
    "preceding_tasks": 0,
    "task_error": {

      "message": ""

    },

    "consumed_credits": 30
  }
]

GET/openapi/v1/multi-image-to-3d/:id/stream

멀티 이미지로 3D 작업 스트리밍

이 엔드포인트는 Server-Sent Events (SSE)를 사용하여 멀티 이미지로 3D 작업의 실시간 업데이트를 스트리밍합니다.

매개변수

  • Name
    id
    Type
    path
    Description

    스트리밍할 멀티 이미지로 3D 작업의 고유 식별자입니다.

반환값

Server-Sent Events로 멀티 이미지로 3D 작업 객체의 스트림을 반환합니다.

PENDING 또는 IN_PROGRESS 작업의 경우, 응답 스트림에는 필요한 progressstatus 필드만 포함됩니다.

Request

GET
/openapi/v1/multi-image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578/stream
curl -N https://api.meshy.ai/openapi/v1/multi-image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578/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.
// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.
event: message
data: {
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "multi-image-to-3d",
  "model_urls": {
  "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
  "fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
  "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
  "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
  "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
  "pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "thumbnail_urls": {
  "front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
  "right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
  "back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
  "left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
  },
  "texture_prompt": "",
  "progress": 100,
  "started_at": 1692771667037,
  "created_at": 1692771650657,
  "expires_at": 1692771679037,
  "finished_at": 1692771669037,
  "status": "SUCCEEDED",
  "texture_urls": [
    {
      "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
      "metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
      "normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
      "roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
      "emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
    }
  ],
  "preceding_tasks": 0,
  "task_error": {

    "message": ""

  },

  "consumed_credits": 30
}

The Multi-Image to 3D Task Object

Multi-Image to 3D 태스크 객체는 여러 이미지(1개 이상 4개 이하)로부터 3D 모델을 생성하기 위해 Meshy가 추적하는 작업 단위입니다. 이미지는 동일한 객체를 담고 있어야 하며, 이상적으로는 서로 다른 시점이나 각도에서 촬영한 것이어야 합니다. 이 객체는 다음과 같은 속성을 가지고 있습니다:

Properties

  • Name
    id
    Type
    string
    Description

    태스크의 고유 식별자입니다. 태스크 id의 구현 세부사항으로 k-sortable UUID를 사용하지만, id의 형식에 대해 어떠한 가정도 해서는 안 됩니다.

  • Name
    type
    Type
    string
    Description

    Multi-Image to 3D 태스크의 유형입니다. 값은 multi-image-to-3d입니다.

  • Name
    model_urls
    Type
    object
    Description

    Meshy가 생성한 텍스처가 적용된 3D 모델 파일을 다운로드할 수 있는 URL입니다. 해당 형식이 생성되지 않은 경우 빈 문자열을 반환하는 대신 해당 형식에 대한 속성이 생략됩니다.

    • Name
      glb
      Type
      string
      Description

      GLB 파일을 다운로드할 수 있는 URL입니다.

    • Name
      fbx
      Type
      string
      Description

      FBX 파일을 다운로드할 수 있는 URL입니다.

    • Name
      obj
      Type
      string
      Description

      OBJ 파일을 다운로드할 수 있는 URL입니다.

    • Name
      usdz
      Type
      string
      Description

      USDZ 파일을 다운로드할 수 있는 URL입니다.

    • Name
      mtl
      Type
      string
      Description

      MTL 파일을 다운로드할 수 있는 URL로, 텍스처가 있는 경우 OBJ 내보내기와 함께 반환됩니다.

    • Name
      stl
      Type
      string
      Description

      STL 파일을 다운로드할 수 있는 URL입니다.

    • Name
      3mf
      Type
      string
      Description

      3MF 파일을 다운로드할 수 있는 URL입니다. target_formats를 통해 3mf가 요청된 경우에만 존재합니다.

    • Name
      pre_remeshed_glb
      Type
      string
      Description

      리메시(remesh) 처리 전 원본 GLB 출력물을 다운로드할 수 있는 URL입니다.

  • Name
    thumbnail_url
    Type
    string
    Description

    모델 파일의 썸네일 이미지를 다운로드할 수 있는 URL입니다. 존재하는 경우 thumbnail_urls.front와 동일하며, 하위 호환성을 위해 유지됩니다.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

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

  • Name
    thumbnail_urls
    Type
    object
    Description

    생성된 3D 모델의 네 방향(전방위) 썸네일을 다운로드할 수 있는 URL입니다. 각 값은 thumbnail_url과 동일한 재질과 조명으로 렌더링된 512×512 PNG에 대한 서명된 URL입니다. GLB를 다운로드하지 않고도 배치 파이프라인에서 여러 각도로 모델을 미리 볼 때 유용합니다.

    • Name
      front
      Type
      string
      Description

      전방 뷰, 수직축을 기준으로 0° 회전(thumbnail_url과 일치).

    • Name
      right
      Type
      string
      Description

      우측 뷰, 90° 회전.

    • Name
      back
      Type
      string
      Description

      후방 뷰, 180° 회전.

    • Name
      left
      Type
      string
      Description

      좌측 뷰, 270° 회전.

  • Name
    texture_prompt
    Type
    string
    Description

    텍스처링 과정을 안내하는 데 사용된 텍스트 prompt입니다.

  • Name
    texture_image_urls
    Type
    string[]
    Description

    태스크를 생성하는 데 사용된 텍스처 참조 이미지를 다운로드할 수 있는 URL로, 제공된 순서대로 나열됩니다. 태스크가 texture_image_urls로 생성된 경우에만 존재합니다.

  • Name
    ultra_mode
    Type
    boolean
    Description

    태스크가 생성될 때 사용된 ultra_mode 값을 그대로 반영합니다. ultra_mode를 명시적으로 설정한 meshy-7(또는 latest) 태스크에만 존재하며, 그렇지 않으면 생략됩니다.

  • Name
    progress
    Type
    integer
    Description

    태스크의 진행률입니다. 태스크가 아직 시작되지 않은 경우 이 속성은 0입니다. 태스크가 성공하면 100이 됩니다.

  • Name
    started_at
    Type
    timestamp
    Description

    태스크가 시작된 시각을 밀리초 단위로 나타낸 타임스탬프입니다. 태스크가 아직 시작되지 않은 경우 이 속성은 0입니다.

  • Name
    created_at
    Type
    timestamp
    Description

    태스크가 생성된 시각을 밀리초 단위로 나타낸 타임스탬프입니다.

  • Name
    expires_at
    Type
    timestamp
    Description

    태스크 결과가 만료되는 시각을 밀리초 단위로 나타낸 타임스탬프입니다.

  • Name
    finished_at
    Type
    timestamp
    Description

    태스크가 완료된 시각을 밀리초 단위로 나타낸 타임스탬프입니다. 태스크가 아직 완료되지 않은 경우 이 속성은 0입니다.

  • Name
    status
    Type
    string
    Description

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

  • Name
    texture_urls
    Type
    array
    Description

    태스크로부터 생성된 텍스처 URL 객체의 배열입니다. 일반적으로 이 배열에는 하나의 텍스처 URL 객체만 포함됩니다. 각 텍스처 URL은 다음과 같은 속성을 가지고 있습니다:

    • Name
      base_color
      Type
      string
      Description

      기본 색상 맵 이미지를 다운로드할 수 있는 URL입니다.

    • Name
      metallic
      Type
      string
      Description

      메탈릭 맵 이미지를 다운로드할 수 있는 URL입니다.

    • Name
      normal
      Type
      string
      Description

      노멀 맵 이미지를 다운로드할 수 있는 URL입니다.

    • Name
      roughness
      Type
      string
      Description

      러프니스 맵 이미지를 다운로드할 수 있는 URL입니다.

    • Name
      emission
      Type
      string
      Description

      이미션 맵 이미지를 다운로드할 수 있는 URL입니다.

  • Name
    preceding_tasks
    Type
    integer
    Description

    앞선 태스크의 수입니다.

  • Name
    task_error
    Type
    object
    Description

    실패한 태스크에 대한 오류 세부정보입니다. 전체 task_error 객체 참조는 오류를 참고하세요.

  • Name
    consumed_credits
    Type
    integer
    Description

    이 태스크에서 소비된 크레딧 수입니다. 태스크 상태가 PENDING, IN_PROGRESS, SUCCEEDED인 경우에 존재합니다. FAILED 태스크의 경우 0을 반환합니다(실패 시 크레딧은 환불됩니다).

Example Multi-Image to 3D Task Object

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "multi-image-to-3d",
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
    "fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
    "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
    "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
    "pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "thumbnail_urls": {
    "front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
    "right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
    "back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
    "left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
  },
  "texture_prompt": "",
  "progress": 100,
  "started_at": 1692771667037,
  "created_at": 1692771650657,
  "expires_at": 1692771679037,
  "finished_at": 1692771669037,
  "status": "SUCCEEDED",
  "texture_urls": [
    {
      "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
      "metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
      "normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
      "roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
      "emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
    }
  ],
  "preceding_tasks": 0,
  "task_error": {

    "message": ""

  },

  "consumed_credits": 30,
}