텍스트로 3D API

텍스트로 3D API는 Meshy의 텍스트로 3D 기능을 여러분의 애플리케이션에 통합할 수 있게 해주는 기능입니다. 이 섹션에서는 이 API를 시작하는 데 필요한 모든 정보를 확인할 수 있습니다.

텍스트로 3D는 두 단계로 이루어진 워크플로우를 사용합니다. 먼저 preview 작업(mode: "preview")을 생성하여 텍스처가 없는 3D 메시를 생성함으로써 형태를 평가할 수 있습니다. 그런 다음 완료된 preview 작업의 작업 ID를 refine 작업(mode: "refine")에 전달하여 메시에 텍스처를 적용합니다. 두 단계 모두 동일한 엔드포인트를 공유합니다.


POST/openapi/v2/text-to-3d

Create a Text to 3D Preview Task

이 엔드포인트는 텍스트 prompt로부터 텍스처가 없는 3D 메시(지오메트리만)를 생성하는 텍스트로 3D 미리보기 작업을 생성합니다. 이는 2단계 워크플로우의 첫 번째 단계입니다. 미리보기가 성공하면, 반환된 작업 ID를 사용하여 텍스처링을 위한 refine 작업을 생성하세요. 전체 응답 스키마는 텍스트로 3D 작업 객체를 참조하세요.

파라미터

  • Name
    mode
    Type
    string
    필수
    Description

    미리보기 작업을 생성할 때 이 필드는 "preview"로 설정해야 합니다.

  • Name
    prompt
    Type
    string
    필수
    Description

    3D 모델이 어떤 종류의 객체인지 설명합니다. 최대 800자입니다.

  • Name
    model_type
    Type
    string
    기본값 standard
    Description

    3D 메시 생성 유형을 지정합니다.

    사용 가능한 값:

    • standard: 일반적인 고품질 3D 메시 생성.
    • smart-topology: ai_model(meshy-t2)과 함께 Smart Topology 모델을 선택합니다.
    • lowpoly(지원 중단): 더 깔끔한 폴리곤에 최적화된 로우폴리 메시를 생성합니다. 대신 smart-topology를 사용하는 것을 권장합니다.
  • Name
    ai_model
    Type
    string
    기본값 latest
    Description

    사용할 모델의 ID입니다. 사용 가능한 값은 model_type에 따라 다릅니다.

    표준 생성(model_type: standard):

    • meshy-5, meshy-6, meshy-7, latest(Meshy 7)

    Smart Topology 생성(model_type: smart-topology):

    • meshy-t2(기본값): Smart Topology 모델 — 더 깔끔한 topology, 자연스럽게 분리된 파츠, 삼각형 출력, target_polycount로 설정 가능한 면 수를 제공합니다.
  • Name
    ultra_mode
    Type
    boolean
    기본값 false
    Description

    더 정교한 표면 디테일을 갖춘 고품질 지오메트리를 위한 Ultra 생성을 활성화합니다. 생성 시간이 더 오래 걸리며 5크레딧이 추가됩니다.

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

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

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

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

    사용 가능한 값:

    • quad: 쿼드가 주를 이루는 메시를 생성합니다.
    • triangle: 디시메이션된 삼각형 메시를 생성합니다.
  • Name
    decimation_mode
    Type
    integer
    Description

    폴리곤 수 레벨을 설정하여 적응형 디시메이션을 활성화합니다. 설정하면 target_polycount는 무시됩니다.

    사용 가능한 값:

    • 1: 적응형 — 초고 폴리곤 수.
    • 2: 적응형 — 고 폴리곤 수.
    • 3: 적응형 — 중간 폴리곤 수.
    • 4: 적응형 — 저 폴리곤 수.
  • Name
    target_polycount
    Type
    integer
    Description

    출력물의 목표 폴리곤(면) 수입니다. 실제 수치는 지오메트리에 따라 목표치와 다를 수 있습니다.

    target_polycount는 두 가지 독립적인 경우에 적용됩니다:

    • 리메시standard 모델에서 should_remesh: true인 경우. 메시는 이 수치에 근접하도록 리메시(디시메이션)됩니다. 범위는 100에서 300,000이며, 기본값은 30,000입니다. decimation_mode가 설정된 경우 우선순위가 더 높으며 target_polycount는 무시됩니다.
    • Smart Topologymodel_type: smart-topologyai_model: meshy-t2인 경우. 모델은 이 면 수로 직접 생성되며, 리메시는 실행되지 않고 should_remesh는 필요하지 않습니다. 범위는 100에서 15,000이며, 기본값은 4,000입니다.
  • 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
    art_style
    Type
    string
    사용 중단
    기본값 realistic
    Description

    Meshy-6에서는 지원되지 않습니다. Meshy-6을 사용하는 요청은 art_style을 무시하며, 일부 조합은 오류를 일으킬 수 있습니다. 사용 가능한 값: realistic, sculpture.

  • Name
    moderation
    Type
    boolean
    기본값 false
    Description

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

    prompt의 텍스트가 스크리닝됩니다.

  • Name
    target_formats
    Type
    string[]
    Description

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

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

  • Name
    alpha_thumbnail
    Type
    boolean
    기본값 false
    Description

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

  • Name
    auto_size
    Type
    boolean
    기본값 false
    Description

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

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

    auto_size가 활성화된 경우 원점의 위치입니다.

    사용 가능한 값: bottom, center.

반환값

응답의 result 속성에는 새로 생성된 텍스트로 3D 작업의 id가 포함됩니다.

실패 모드

  • Name
    400 - Bad Request
    Description

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

    • 파라미터 누락: 필수 파라미터(예: prompt, mode)가 누락되었습니다.
    • 잘못된 파라미터: art_style이 허용된 값 중 하나가 아닙니다.
    • prompt가 너무 김: prompt가 문자 수 제한을 초과했습니다.
  • Name
    401 - Unauthorized
    Description

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

  • Name
    402 - Payment Required
    Description

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

  • Name
    429 - Too Many Requests
    Description

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

Request

POST
/openapi/v2/text-to-3d
# Simple preview with required params only
curl https://api.meshy.ai/openapi/v2/text-to-3d \
  -H 'Authorization: Bearer ${YOUR_API_KEY}' \
  -H 'Content-Type: application/json' \
  -d '{
  "mode": "preview",
  "prompt": "a monster mask"
}'

# Preview with remesh and A-pose
curl https://api.meshy.ai/openapi/v2/text-to-3d \
  -H 'Authorization: Bearer ${YOUR_API_KEY}' \
  -H 'Content-Type: application/json' \
  -d '{
  "mode": "preview",
  "prompt": "a futuristic robot warrior",
  "should_remesh": true,
  "target_polycount": 100000,
  "pose_mode": "a-pose",
  "target_formats": ["glb"]
}'

Response

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

POST/openapi/v2/text-to-3d

Text to 3D Refine 작업 생성

이 엔드포인트는 Text to 3D refine 작업을 생성하며, 완료된 preview 메시에 텍스처를 적용합니다. 성공한 preview 작업preview_task_id를 제공해야 합니다. 이는 2단계 워크플로우의 두 번째 단계입니다.

파라미터

  • Name
    mode
    Type
    string
    필수
    Description

    refine 작업을 생성할 때는 이 필드를 "refine"으로 설정해야 합니다.

  • Name
    preview_task_id
    Type
    string
    필수
    Description

    해당 preview 작업의 id입니다.

    지정된 preview 작업의 상태는 SUCCEEDED여야 합니다.

  • Name
    enable_pbr
    Type
    boolean
    기본값 false
    Description

    기본 색상 외에 PBR 맵(metallic, roughness, normal)을 생성합니다. ai_modelmeshy-6인 경우 emission 맵도 포함되지만, texture_resolution: 8k에서는 예외입니다(emission 맵이 생성되지 않음). meshy-7(및 latest)은 emission 맵을 생성하지 않습니다.

  • Name
    texture_resolution
    Type
    string
    기본값 2k
    Description

    기본 색상 텍스처 해상도입니다. 2k(2048×2048), 4k(4096×4096), 8k(8192×8192) 중 하나입니다. 해상도가 높을수록 더 많은 표면 디테일을 표현합니다. refine mode에만 적용됩니다.

  • 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
    ai_model
    Type
    string
    기본값 inherited from the preview task
    Description

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

    이 파라미터를 생략하면 preview 작업에서 사용된 모델을 그대로 상속받아, preview와 그 refine이 처음부터 끝까지 동일한 모델을 사용하도록 유지합니다. 이 상속을 재정의하려면 명시적인 값을 전달하세요.

  • Name
    moderation
    Type
    boolean
    기본값 false
    Description

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

    texture_prompt의 텍스트와 texture_image_url의 이미지가 모두 검사됩니다.

  • Name
    remove_lighting
    Type
    boolean
    기본값 true
    Description

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

  • Name
    target_formats
    Type
    string[]
    Description

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

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

  • Name
    alpha_thumbnail
    Type
    boolean
    기본값 false
    Description

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

  • Name
    auto_size
    Type
    boolean
    기본값 false
    Description

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

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

    auto_size가 활성화된 경우 원점의 위치입니다.

    사용 가능한 값: bottom, center.

반환 값

응답의 result 속성에는 새로 생성된 Text to 3D 작업의 id가 포함됩니다.

실패 모드

  • Name
    400 - Bad Request
    Description

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

    • 잘못된 작업 ID: preview_task_id가 유효하지 않거나 존재하지 않습니다.
    • 작업 준비 미완료: preview 작업이 아직 성공하지 않았습니다.
    • 모델 불일치: preview 작업의 AI 모델이 요청된 refine 모델과 호환되지 않습니다.
  • Name
    401 - Unauthorized
    Description

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

  • Name
    402 - Payment Required
    Description

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

  • Name
    404 - Not Found
    Description

    preview_task_id로 지정된 preview 작업을 찾을 수 없습니다.

  • Name
    429 - Too Many Requests
    Description

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

Request

POST
/openapi/v2/text-to-3d
# Basic refine task
curl https://api.meshy.ai/openapi/v2/text-to-3d \
  -H 'Authorization: Bearer ${YOUR_API_KEY}' \
  -H 'Content-Type: application/json' \
  -d '{
  "mode": "refine",
  "preview_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "enable_pbr": true
}'

# Refine with auto-size and GLB format
curl https://api.meshy.ai/openapi/v2/text-to-3d \
  -H 'Authorization: Bearer ${YOUR_API_KEY}' \
  -H 'Content-Type: application/json' \
  -d '{
  "mode": "refine",
  "preview_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "target_formats": ["glb"],
  "auto_size": true
}'

Response

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

GET/openapi/v2/text-to-3d/:id

텍스트로 3D 작업 조회

이 엔드포인트를 사용하면 유효한 작업 id를 통해 텍스트로 3D 작업을 조회할 수 있습니다. 텍스트로 3D 작업 객체에 포함된 속성을 확인하려면 텍스트로 3D 작업 객체를 참고하세요.

이 엔드포인트는 preview와 refine 작업 모두에서 사용할 수 있습니다.

매개변수

  • Name
    id
    Type
    path
    Description

    조회할 텍스트로 3D 작업의 고유 식별자입니다.

반환 값

응답에는 텍스트로 3D 작업 객체가 포함됩니다. 자세한 내용은 텍스트로 3D 작업 객체 섹션을 확인하세요.

예시

Mode샘플 모델
PreviewPreview model
RefineRefined model

Request

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

Response

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "text-to-3d-preview",
  "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=***",
    "mtl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.mtl?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=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "prompt": "a monster mask",
  "progress": 100,
  "started_at": 1692771667037,
  "created_at": 1692771650657,
  "finished_at": 1692771669037,
  "status": "SUCCEEDED",
  "texture_urls": [
    {
      "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***"
    }
  ],
  "preceding_tasks": 0,
  "task_error": {

    "message": ""

  },

  "consumed_credits": 20
}

DELETE/openapi/v2/text-to-3d/:id

텍스트로 3D 작업 삭제

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

경로 매개변수

  • Name
    id
    Type
    path
    Description

    삭제할 텍스트로 3D 작업의 ID입니다.

반환값

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

Request

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

Response

// Returns 200 Ok on success.

GET/openapi/v2/text-to-3d

텍스트로 3D 작업 목록 조회

이 엔드포인트를 사용하면 텍스트로 3D 작업 목록을 조회할 수 있습니다.

매개변수

  • Name
    page_num
    Type
    integer
    기본값 1
    Description

    페이지네이션을 위한 페이지 번호입니다.

  • Name
    page_size
    Type
    integer
    기본값 10
    Description

    페이지 크기 제한입니다. 최대 허용값은 50개입니다.

  • Name
    sort_by
    Type
    string
    Description

    정렬 기준 필드입니다.

    사용 가능한 값:

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

반환값

텍스트로 3D 작업 객체의 페이지네이션된 목록을 반환합니다.

Request

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

Response

[
  {
    "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "type": "text-to-3d-preview",
    "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=***",
      "mtl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.mtl?Expires=***",
      "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***"
    },
    "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
    "prompt": "a monster mask",
    "progress": 100,
    "started_at": 1692771667037,
    "created_at": 1692771650657,
    "finished_at": 1692771669037,
    "status": "SUCCEEDED",
    "texture_urls": [
      {
        "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***"
      }
    ],
    "preceding_tasks": 0,
    "task_error": {

      "message": ""

    },

    "consumed_credits": 20
  }
]

GET/openapi/v2/text-to-3d/:id/stream

텍스트로 3D 작업 스트리밍

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

파라미터

  • Name
    id
    Type
    path
    Description

    스트리밍할 텍스트로 3D 작업의 고유 식별자입니다.

반환값

텍스트로 3D 작업 객체의 스트림을 Server-Sent Events 형태로 반환합니다.

PENDING 또는 IN_PROGRESS 상태의 작업의 경우, 응답 스트림에는 필수적인 progressstatus 필드만 포함됩니다.

Request

GET
/openapi/v2/text-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578/stream
curl -N https://api.meshy.ai/openapi/v2/text-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",
  "progress": 50,
  "status": "IN_PROGRESS"
}

event: message
data: {
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "text-to-3d-preview",
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1692771650657,
"started_at": 1692771667037,
"finished_at": 1692771669037,
"model_urls": {
  "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***"
},
"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": 20
}

The Text to 3D Task Object

Text to 3D Task 객체는 텍스트 입력으로부터 3D 모델을 생성하기 위해 Meshy가 추적하는 작업 단위입니다. 텍스트로 3D API에는 previewrefine이라는 두 가지 단계가 있습니다. Preview 단계는 메시만 있는 3D 모델을 생성하기 위한 것이며, refine 단계는 preview 단계 결과를 바탕으로 텍스처가 적용된 3D 모델을 생성하기 위한 것입니다.

이 객체는 다음과 같은 속성을 가집니다:

Properties

  • Name
    id
    Type
    string
    Description

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

  • Name
    type
    Type
    string
    Description

    텍스트로 3D 작업의 유형입니다. 가능한 값은 preview 단계 작업의 경우 text-to-3d-preview, refine 단계 작업의 경우 text-to-3d-refine입니다.

  • Name
    model_urls
    Type
    object
    Description

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

    • Name
      glb
      Type
      string
      Description

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

    • Name
      fbx
      Type
      string
      Description

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

    • Name
      usdz
      Type
      string
      Description

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

    • Name
      obj
      Type
      string
      Description

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

    • Name
      mtl
      Type
      string
      Description

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

    • Name
      stl
      Type
      string
      Description

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

    • Name
      3mf
      Type
      string
      Description

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

  • Name
    prompt
    Type
    string
    Description

    작업을 생성할 때 사용된 수정되지 않은 prompt입니다.

  • Name
    negative_prompt
    Type
    string
    사용 중단
    Description

    하위 호환성을 위해 유지됩니다. 이 필드는 생성된 모델에 기능적인 영향을 미치지 않습니다.

  • Name
    art_style
    Type
    string
    사용 중단
    Description

    preview 작업을 생성할 때 사용된 수정되지 않은 art_style입니다. Meshy-6에서는 지원되지 않습니다.

  • Name
    texture_richness
    Type
    string
    사용 중단
    Description

    하위 호환성을 위해 유지됩니다. 이 필드는 생성된 모델에 기능적인 영향을 미치지 않습니다.

  • Name
    texture_prompt
    Type
    string
    Description

    refine 단계에서 텍스처 작업을 안내하기 위해 제공된 추가 텍스트 prompt입니다.

  • Name
    ultra_mode
    Type
    boolean
    Description

    preview 작업이 생성될 때 사용된 ultra_mode 값을 그대로 반영합니다. ultra_mode를 명시적으로 설정한 meshy-7(또는 latest) preview 작업에만 존재하며, 그 외에는 생략됩니다.

  • Name
    texture_image_url
    Type
    string
    Description

    텍스처 작업을 안내하는 데 사용된 텍스처 이미지를 다운로드할 수 있는 URL입니다.

  • Name
    thumbnail_url
    Type
    string
    Description

    모델 파일의 썸네일 이미지를 다운로드할 수 있는 URL입니다.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

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

  • Name
    video_url
    Type
    string
    사용 중단
    Description

    미리보기 동영상을 다운로드할 수 있는 URL입니다. 향후 릴리스에서 제거될 예정입니다.

  • Name
    progress
    Type
    integer
    Description

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

  • Name
    started_at
    Type
    timestamp
    Description

    작업이 시작된 시각의 타임스탬프이며, 밀리초 단위입니다. 작업이 아직 시작되지 않은 경우 이 속성은 0이 됩니다.

  • Name
    created_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 Text to 3D Task Object

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "text-to-3d-preview",
  "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=***",
    "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
    "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
    "mtl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.mtl?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***"
  },
  "prompt": "a monster mask",
  "texture_prompt": "green slimy skin with scales and warts",
  "texture_image_url": "",
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "progress": 100,
  "started_at": 1692771667037,
  "created_at": 1692771650657,
  "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": 20
}