API Teks ke 3D

API Teks ke 3D ialah ciri yang membolehkan anda mengintegrasikan keupayaan Teks ke 3D milik Meshy ke dalam aplikasi anda sendiri. Dalam bahagian ini, anda akan menemui semua maklumat yang anda perlukan untuk bermula dengan API ini.

Teks ke 3D menggunakan aliran kerja dua langkah. Pertama, cipta satu tugas preview (mode: "preview") untuk menjana jejaring 3D tanpa tekstur, supaya anda boleh menilai bentuknya. Kemudian, hantar ID tugas preview yang telah selesai kepada satu tugas refine (mode: "refine") untuk mengenakan tekstur pada jejaring tersebut. Kedua-dua langkah ini berkongsi endpoint yang sama.


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

Create a Text to 3D Preview Task

Endpoint ini mencipta tugas preview Teks ke 3D, yang menjana jejaring 3D tanpa tekstur (geometri sahaja) daripada prompt teks. Ini adalah langkah pertama dalam aliran kerja dua langkah. Setelah preview berjaya, gunakan ID tugas yang dikembalikan untuk mencipta tugas refine bagi pemberian tekstur. Rujuk The Text to 3D Task Object untuk skema respons yang lengkap.

Parameter

  • Name
    mode
    Type
    string
    Diperlukan
    Description

    Medan ini perlu ditetapkan kepada "preview" apabila mencipta tugas preview.

  • Name
    prompt
    Type
    string
    Diperlukan
    Description

    Terangkan jenis objek yang menjadi model 3D tersebut. Maksimum 800 aksara.

  • Name
    model_type
    Type
    string
    lalai standard
    Description

    Nyatakan jenis penjanaan jejaring 3D.

    Nilai yang tersedia:

    • standard: Penjanaan jejaring 3D berketerincian tinggi biasa.
    • smart-topology: Pilih model Smart Topology dengan ai_model (meshy-t2).
    • lowpoly (lapuk): Menjana jejaring low-poly yang dioptimumkan untuk poligon yang lebih bersih. Kami mengesyorkan penggunaan smart-topology sebagai gantinya.
  • Name
    ai_model
    Type
    string
    lalai latest
    Description

    ID model yang hendak digunakan. Nilai yang tersedia bergantung pada model_type.

    Penjanaan standard (model_type: standard):

    • meshy-6-lite, meshy-6, meshy-7.1, latest (Meshy 7.1)
    • meshy-7 (lapuk): gunakan meshy-7.1 sebagai gantinya.

    Penjanaan Smart Topology (model_type: smart-topology):

    • meshy-t2 (lalai): model Smart Topology — topology yang lebih bersih, bahagian yang dipisahkan secara semula jadi, output segitiga, dan bilangan muka yang boleh anda tetapkan dengan target_polycount.
  • Name
    geometry_resolution
    Type
    string
    lalai standard
    Description

    Laluan penjanaan geometri. 2k menjalankan laluan Ultra pada 2048³; 4k menjalankannya pada 4096³ untuk butiran permukaan yang paling halus.

    Nilai yang tersedia: standard, 2k, 4k

  • Name
    ultra_mode
    Type
    boolean
    ⚠ lapuk
    lalai false
    Description

    Gunakan geometry_resolution sebagai gantinya. ultra_mode: true bersamaan dengan geometry_resolution: "2k".

  • Name
    should_remesh
    Type
    boolean
    lalai false (Meshy 6 and Meshy 7 models), true (others)
    Description

    Mengawal sama ada untuk mengaktifkan fasa remesh. Untuk model berkualiti tertinggi, kami mengesyorkan menetapkan should_remesh kepada false.

Hanya berlaku apabila should_remesh = true
  • Name
    topology
    Type
    string
    lalai triangle
    Description

    Nyatakan topology model yang dijana.

    Nilai yang tersedia:

    • quad: Menjana jejaring yang didominasi quad.
    • triangle: Menjana jejaring segitiga yang telah dinyahkan (decimated).
  • Name
    decimation_mode
    Type
    integer
    Description

    Aktifkan decimation adaptif dengan menetapkan tahap bilangan poligon. Apabila ditetapkan, target_polycount diabaikan.

    Nilai yang tersedia:

    • 1: Adaptif — bilangan poligon ultra.
    • 2: Adaptif — bilangan poligon tinggi.
    • 3: Adaptif — bilangan poligon sederhana.
    • 4: Adaptif — bilangan poligon rendah.
  • Name
    target_polycount
    Type
    integer
    Description

    Sasaran bilangan poligon (muka) dalam output. Bilangan sebenar mungkin berbeza daripada sasaran bergantung pada geometri.

    target_polycount berkuat kuasa dalam dua keadaan berasingan:

    • Remesh — dengan should_remesh: true pada model standard. Jejaring di-remesh (didecimasi) kepada kira-kira bilangan ini. Julat 100 hingga 300,000, lalai 30,000. Jika decimation_mode ditetapkan, ia diutamakan dan target_polycount diabaikan.
    • Smart Topology — dengan model_type: smart-topology dan ai_model: meshy-t2. Model dijana terus pada bilangan muka ini; tiada remesh dijalankan dan should_remesh tidak diperlukan. Julat 100 hingga 15,000, lalai 4,000.
  • Name
    symmetry_mode
    Type
    string
    ⚠ lapuk
    lalai auto
    Description

    Lapuk. Parameter ini tidak lagi memberi kesan kepada output.

    Medan symmetry_mode mengawal tingkah laku simetri semasa proses penjanaan model.

    Nilai yang sah adalah:

    • off: Melumpuhkan simetri.
    • auto: Menentukan dan menggunakan simetri secara automatik berdasarkan geometri input.
    • on: Menguatkuasakan simetri semasa penjanaan.
  • Name
    pose_mode
    Type
    string
    lalai ""
    Description

    Nyatakan mode pose untuk model yang dijana.

    Nilai yang tersedia:

    • a-pose: Menjana model dalam pose A.
    • t-pose: Menjana model dalam pose T.
    • "" (rentetan kosong): Tiada pose khusus digunakan.
  • Name
    is_a_t_pose
    Type
    boolean
    ⚠ lapuk
    lalai false
    Description

    Gunakan pose_mode sebagai gantinya. Sama ada untuk menjana model dalam pose A/T.

  • Name
    art_style
    Type
    string
    ⚠ lapuk
    lalai realistic
    Description

    Tidak disokong oleh Meshy-6. Permintaan yang menggunakan Meshy-6 akan mengabaikan art_style, dan sesetengah kombinasi mungkin menyebabkan ralat. Nilai yang tersedia: realistic, sculpture.

  • Name
    moderation
    Type
    boolean
    lalai false
    Description

    Apabila ditetapkan kepada true, kandungan input akan disaring secara automatik untuk kandungan yang berpotensi berbahaya. Jika kandungan berbahaya dikesan, tugas tidak akan diteruskan ke peringkat penjanaan.

    Teks daripada prompt akan disaring.

  • Name
    target_formats
    Type
    string[]
    Description

    Menetapkan format fail 3D yang hendak disertakan dalam output. Hanya format yang diminta akan dijana dan dikembalikan, yang boleh mengurangkan masa penyelesaian tugas. Apabila diabaikan, semua format yang disokong akan disertakan.

    Nilai yang tersedia: glb, obj, fbx, stl, usdz, 3mf

  • Name
    alpha_thumbnail
    Type
    boolean
    lalai false
    Description

    Apabila ditetapkan kepada true, tugas tersebut turut merender versi latar belakang telus (RGBA) bagi preview dan mengembalikannya sebagai alpha_thumbnail_url pada respons GET. Medan thumbnail_url yang sedia ada tidak berubah.

  • Name
    auto_size
    Type
    boolean
    lalai false
    Description

    Apabila ditetapkan kepada true, perkhidmatan ini menggunakan penglihatan AI untuk menganggarkan ketinggian sebenar objek secara automatik dan mengubah saiz model mengikutnya. Titik asal akan menjadi lalai kepada bottom melainkan origin_at ditetapkan secara khusus.

Hanya berlaku apabila auto_size = true
  • Name
    origin_at
    Type
    string
    lalai bottom
    Description

    Kedudukan titik asal apabila auto_size diaktifkan.

    Nilai yang tersedia: bottom, center.

Nilai Kembali

Sifat result bagi respons mengandungi id tugas bagi tugas Teks ke 3D yang baru dicipta.

Mod Kegagalan

  • Name
    400 - Bad Request
    Description

    Permintaan tidak boleh diterima. Punca biasa:

    • Parameter tiada: Parameter yang diperlukan (contohnya, prompt, mode) tiada.
    • Parameter tidak sah: art_style bukan salah satu daripada nilai yang dibenarkan.
    • Prompt terlalu panjang: prompt melebihi had aksara.
    • Model tidak disokong untuk low poly: ai_model: "meshy-6-lite" tidak menyokong model_type: "lowpoly".
    • Model tidak disokong untuk Ultra: geometry_resolution memerlukan meshy-7.1 atau latest.
  • Name
    401 - Unauthorized
    Description

    Pengesahan gagal. Sila semak kunci API anda.

  • Name
    402 - Payment Required
    Description

    Kredit tidak mencukupi untuk melaksanakan tugas ini.

  • Name
    429 - Too Many Requests
    Description

    Anda telah melebihi had kadar anda.

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 Ultra 4K geometry, 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",
  "ai_model": "meshy-7.1",
  "geometry_resolution": "4k",
  "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

Create a Text to 3D Refine Task

Endpoint ini mencipta tugas Teks ke 3D refine, yang menerapkan tekstur pada jejaring preview yang telah siap. Anda perlu menyediakan preview_task_id daripada tugas preview yang berjaya. Ini adalah langkah kedua daripada aliran kerja dua langkah.

Parameter

  • Name
    mode
    Type
    string
    Diperlukan
    Description

    Medan ini perlu ditetapkan kepada "refine" apabila mencipta tugas refine.

  • Name
    preview_task_id
    Type
    string
    Diperlukan
    Description

    ID tugas preview yang berkaitan.

    Status tugas preview yang diberikan mestilah SUCCEEDED.

  • Name
    enable_pbr
    Type
    boolean
    lalai false
    Description

    Jana peta PBR (metallic, roughness, normal) di samping warna asas. Peta emission turut disertakan apabila ai_model adalah meshy-6, kecuali pada texture_resolution: 8k (tiada peta emission dihasilkan). meshy-6-lite, meshy-7.1 dan latest tidak menghasilkan peta emission.

  • Name
    texture_resolution
    Type
    string
    lalai 2k
    Description

    Resolusi tekstur warna asas. Salah satu daripada 2k (2048×2048), 4k (4096×4096), atau 8k (8192×8192). Resolusi yang lebih tinggi menangkap lebih banyak perincian permukaan. Hanya terpakai untuk mode refine.

  • Name
    hd_texture
    Type
    boolean
    ⚠ lapuk
    lalai false
    Description

    Gunakan texture_resolution sebagai gantinya — bersamaan dengan texture_resolution: "4k". Apabila kedua-duanya ditetapkan, texture_resolution diutamakan.

  • Name
    texture_prompt
    Type
    string
    Description

    Berikan prompt teks tambahan untuk membimbing proses pemberian tekstur. Maksimum 800 aksara.

  • Name
    texture_image_url
    Type
    string
    Description

    Berikan imej 2D untuk membimbing proses pemberian tekstur. Kami buat masa ini menyokong format .jpg, .jpeg, dan .png.

    Terdapat dua cara untuk menyediakan imej:

    • URL yang boleh diakses secara umum: URL yang boleh diakses daripada internet awam
    • Data URI: Data URI imej yang dikodkan base64. Contoh Data URI: data:image/jpeg;base64,<your base64-encoded image data>
  • Name
    ai_model
    Type
    string
    lalai inherited from the preview task
    Description

    ID model yang digunakan untuk refine.

    Nilai yang tersedia:

    • meshy-6-lite, meshy-6, meshy-7.1, latest (Meshy 7.1)
    • meshy-7 (lapuk): gunakan meshy-7.1 sebagai gantinya.

    Abaikan parameter ini untuk mewarisi model yang digunakan oleh tugas preview, yang mengekalkan preview dan refine-nya pada model yang sama secara hujung ke hujung. Berikan nilai eksplisit untuk mengatasi pewarisan tersebut.

  • Name
    moderation
    Type
    boolean
    lalai false
    Description

    Apabila ditetapkan kepada true, kandungan input akan disaring secara automatik untuk kandungan yang berpotensi berbahaya. Jika kandungan berbahaya dikesan, tugas tidak akan diteruskan ke penjanaan.

    Kedua-dua teks daripada texture_prompt dan imej daripada texture_image_url akan disaring.

  • Name
    remove_lighting
    Type
    boolean
    lalai true
    Description

    Membuang sorotan (highlights) dan bayang-bayang daripada tekstur warna asas, menghasilkan hasil yang lebih bersih yang berfungsi dengan lebih baik di bawah persediaan pencahayaan tersuai.

  • Name
    target_formats
    Type
    string[]
    Description

    Menentukan format fail 3D yang perlu disertakan dalam output. Hanya format yang diminta akan dijana dan dikembalikan, yang boleh mengurangkan masa penyiapan tugas. Apabila diabaikan, semua format yang disokong akan disertakan.

    Nilai yang tersedia: glb, obj, fbx, stl, usdz, 3mf

  • Name
    alpha_thumbnail
    Type
    boolean
    lalai false
    Description

    Apabila ditetapkan kepada true, tugas tersebut turut merender versi latar belakang lutsinar (RGBA) bagi preview dan mengembalikannya sebagai alpha_thumbnail_url pada respons GET. Medan thumbnail_url yang sedia ada tidak berubah.

  • Name
    auto_size
    Type
    boolean
    lalai false
    Description

    Apabila ditetapkan kepada true, perkhidmatan ini menggunakan penglihatan AI untuk menganggarkan secara automatik ketinggian sebenar objek tersebut dan mengubah saiz model dengan sewajarnya. Titik asal akan menjadi lalai kepada bottom melainkan origin_at ditetapkan secara eksplisit.

Hanya berlaku apabila auto_size = true
  • Name
    origin_at
    Type
    string
    lalai bottom
    Description

    Kedudukan titik asal apabila auto_size didayakan.

    Nilai yang tersedia: bottom, center.

Pemulangan

Sifat result bagi respons mengandungi id tugas bagi tugas Teks ke 3D yang baharu dicipta.

Mod Kegagalan

  • Name
    400 - Bad Request
    Description

    Permintaan tidak diterima. Punca biasa:

    • ID tugas tidak sah: preview_task_id tidak sah atau tidak wujud.
    • Tugas belum sedia: Tugas preview belum lagi berjaya.
    • Ketidakpadanan model: Model AI bagi tugas preview tidak serasi dengan model refine yang diminta.
  • Name
    401 - Unauthorized
    Description

    Pengesahan gagal. Sila semak kunci API anda.

  • Name
    402 - Payment Required
    Description

    Kredit tidak mencukupi untuk melaksanakan tugas ini.

  • Name
    404 - Not Found
    Description

    Tugas preview yang dinyatakan oleh preview_task_id tidak dijumpai.

  • Name
    429 - Too Many Requests
    Description

    Anda telah melebihi had kadar anda.

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

Dapatkan Semula Tugas Teks ke 3D

Endpoint ini membolehkan anda mendapatkan semula tugas Teks ke 3D dengan id tugas yang sah. Rujuk The Text to 3D Task Object untuk melihat sifat-sifat yang disertakan dengan objek tugas Teks ke 3D.

Endpoint ini berfungsi untuk kedua-dua tugas preview dan refine.

Parameter

  • Name
    id
    Type
    path
    Description

    Pengenal unik untuk tugas Teks ke 3D yang ingin didapatkan semula.

Pulangan

Respons mengandungi objek tugas Teks ke 3D. Semak bahagian The Text to 3D Task Object untuk butiran lanjut.

Contoh

ModeModel Contoh
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

Padam Tugasan Teks ke 3D

Endpoint ini memadam secara kekal tugasan Teks ke 3D, termasuk semua model dan data yang berkaitan. Tindakan ini tidak boleh diterbalikkan.

Parameter Laluan

  • Name
    id
    Type
    path
    Description

    ID tugasan Teks ke 3D yang hendak dipadam.

Status Tugasan

Tugasan yang masih PENDING akan dipadam dan kredit yang digunakan pada masa penciptaan akan dikembalikan.

Tugasan yang sudah IN_PROGRESS tidak boleh dipadam: permintaan akan ditolak dengan 409 Conflict dan tugasan tersebut terus berjalan. Kredit untuk tugasan yang sudah dimulakan oleh worker tidak boleh dikembalikan, jadi memadamnya semasa ia sedang berjalan akan menyebabkan anda kehilangan kredit dan juga hasilnya. Tunggu sehingga ia mencapai status SUCCEEDED, FAILED atau CANCELED, kemudian padamkannya.

Tugasan yang berada dalam status akhir (SUCCEEDED, FAILED atau CANCELED) akan dipadam tanpa bayaran balik.

Kembalian

Mengembalikan 200 OK apabila berjaya, atau 409 Conflict apabila tugasan tersebut IN_PROGRESS.

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

// 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/v2/text-to-3d

List Text to 3D Tasks

Endpoint ini membolehkan anda mendapatkan semula senarai tugasan Teks ke 3D.

Parameter

  • Name
    page_num
    Type
    integer
    lalai 1
    Description

    Nombor halaman untuk penomboran halaman.

  • Name
    page_size
    Type
    integer
    lalai 10
    Description

    Had saiz halaman. Maksimum yang dibenarkan ialah 100 item.

  • Name
    sort_by
    Type
    string
    Description

    Medan untuk diisih mengikut.

    Nilai yang tersedia:

    • +created_at: Isih mengikut masa penciptaan secara menaik.
    • -created_at: Isih mengikut masa penciptaan secara menurun.

Pemulangan

Memulangkan senarai bersaiz halaman bagi Objek Tugasan Teks ke 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

Aliran Tugas Teks ke 3D

Endpoint ini menstrim kemas kini masa nyata untuk tugas Teks ke 3D menggunakan Server-Sent Events (SSE).

Parameter

  • Name
    id
    Type
    path
    Description

    Pengecam unik untuk tugas Teks ke 3D yang hendak distrim.

Pulangan

Memulangkan aliran Objek Tugas Teks ke 3D sebagai Server-Sent Events.

Bagi tugas PENDING atau IN_PROGRESS, aliran respons hanya akan menyertakan medan progress dan status yang diperlukan.

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

Objek Tugasan Teks ke 3D adalah unit kerja yang dijejaki oleh Meshy untuk menghasilkan model 3D daripada input teks. Terdapat dua peringkat dalam API Teks ke 3D, preview dan refine. Peringkat preview adalah untuk menghasilkan model 3D yang hanya berupa jejaring, dan peringkat refine adalah untuk menghasilkan model 3D bertekstur berdasarkan hasil peringkat preview.

Objek ini mempunyai sifat-sifat berikut:

Properties

  • Name
    id
    Type
    string
    Description

    Pengenal unik untuk tugasan tersebut. Walaupun kami menggunakan UUID yang boleh disusun-k (k-sortable) untuk id tugasan sebagai butiran pelaksanaan, anda tidak seharusnya membuat sebarang andaian tentang format id tersebut.

  • Name
    type
    Type
    string
    Description

    Jenis tugasan Teks ke 3D. Nilai yang mungkin adalah text-to-3d-preview untuk tugasan peringkat preview dan text-to-3d-refine untuk tugasan peringkat refine.

  • Name
    model_urls
    Type
    object
    Description

    URL yang boleh dimuat turun ke fail model 3D bertekstur yang dihasilkan oleh Meshy. Sifat untuk sesuatu format akan diabaikan jika format tersebut tidak dihasilkan, sebaliknya bukan mengembalikan rentetan kosong.

    • Name
      glb
      Type
      string
      Description

      URL yang boleh dimuat turun ke fail GLB.

    • Name
      fbx
      Type
      string
      Description

      URL yang boleh dimuat turun ke fail FBX.

    • Name
      usdz
      Type
      string
      Description

      URL yang boleh dimuat turun ke fail USDZ.

    • Name
      obj
      Type
      string
      Description

      URL yang boleh dimuat turun ke fail OBJ.

    • Name
      mtl
      Type
      string
      Description

      URL yang boleh dimuat turun ke fail MTL.

    • Name
      stl
      Type
      string
      Description

      URL yang boleh dimuat turun ke fail STL.

    • Name
      3mf
      Type
      string
      Description

      URL yang boleh dimuat turun ke fail 3MF. Hanya wujud apabila 3mf telah diminta melalui target_formats.

  • Name
    prompt
    Type
    string
    Description

    Ini adalah prompt asal yang tidak diubah suai yang digunakan untuk mencipta tugasan tersebut.

  • Name
    negative_prompt
    Type
    string
    ⚠ lapuk
    Description

    Dikekalkan untuk keserasian ke belakang. Medan ini tidak memberi kesan fungsian terhadap model yang dihasilkan.

  • Name
    art_style
    Type
    string
    ⚠ lapuk
    Description

    art_style asal yang tidak diubah suai yang digunakan untuk mencipta tugasan preview. Tidak disokong oleh Meshy-6.

  • Name
    texture_richness
    Type
    string
    ⚠ lapuk
    Description

    Dikekalkan untuk keserasian ke belakang. Medan ini tidak memberi kesan fungsian terhadap model yang dihasilkan.

  • Name
    texture_prompt
    Type
    string
    Description

    Prompt teks tambahan yang disediakan untuk membimbing proses pembuatan tekstur semasa peringkat refine.

  • Name
    ultra_mode
    Type
    boolean
    ⚠ lapuk
    Description

    Lapuk; bacalah geometry_resolution sebaliknya.

  • Name
    geometry_resolution
    Type
    string
    Description

    Tahap Ultra yang digunakan oleh tugasan preview (2k atau 4k); diabaikan untuk standard.

  • Name
    texture_image_url
    Type
    string
    Description

    URL yang boleh dimuat turun ke imej tekstur yang digunakan untuk membimbing proses pembuatan tekstur.

  • Name
    thumbnail_url
    Type
    string
    Description

    URL yang boleh dimuat turun ke imej kecil bagi fail model.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    URL yang boleh dimuat turun ke versi latar belakang lutsinar (RGBA) bagi thumbnail_url. Hanya wujud apabila tugasan dicipta dengan alpha_thumbnail: true dan pratonton lutsinar berjaya dirender; jika tidak, medan ini diabaikan.

  • Name
    video_url
    Type
    string
    ⚠ lapuk
    Description

    URL yang boleh dimuat turun ke video pratonton. Akan dialih keluar dalam keluaran akan datang.

  • Name
    progress
    Type
    integer
    Description

    Progress tugasan tersebut. Jika tugasan belum dimulakan, sifat ini akan menjadi 0. Sebaik tugasan berjaya, ini akan menjadi 100.

  • Name
    started_at
    Type
    timestamp
    Description

    Cap masa bagi bila tugasan dimulakan, dalam milisaat. Jika tugasan belum dimulakan, sifat ini akan menjadi 0.

  • Name
    created_at
    Type
    timestamp
    Description

    Cap masa bagi bila tugasan dicipta, dalam milisaat.

  • Name
    finished_at
    Type
    timestamp
    Description

    Cap masa bagi bila tugasan selesai, dalam milisaat. Jika tugasan belum selesai, sifat ini akan menjadi 0.

  • Name
    status
    Type
    string
    Description

    Status tugasan tersebut. Nilai yang mungkin adalah salah satu daripada PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    texture_urls
    Type
    array
    Description

    Satu tatasusunan objek URL tekstur yang dihasilkan daripada tugasan tersebut. Biasanya ini hanya mengandungi satu objek URL tekstur. Setiap URL tekstur mempunyai sifat-sifat berikut:

    • Name
      base_color
      Type
      string
      Description

      URL yang boleh dimuat turun ke imej peta warna asas.

    • Name
      metallic
      Type
      string
      Description

      URL yang boleh dimuat turun ke imej peta logam (metallic).

    • Name
      normal
      Type
      string
      Description

      URL yang boleh dimuat turun ke imej peta normal.

    • Name
      roughness
      Type
      string
      Description

      URL yang boleh dimuat turun ke imej peta kekasaran.

    • Name
      emission
      Type
      string
      Description

      URL yang boleh dimuat turun ke imej peta pancaran (emission).

  • Name
    preceding_tasks
    Type
    integer
    Description

    Bilangan tugasan terdahulu.

  • Name
    task_error
    Type
    object
    Description

    Butiran ralat untuk tugasan yang gagal. Lihat Ralat untuk rujukan penuh objek task_error.

  • Name
    consumed_credits
    Type
    integer
    Description

    Bilangan kredit yang digunakan oleh tugasan ini. Wujud apabila status tugasan adalah PENDING, IN_PROGRESS, atau SUCCEEDED. Mengembalikan 0 untuk tugasan FAILED (kredit dikembalikan semula apabila gagal).

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
}