API Văn bản sang 3D là một tính năng cho phép bạn tích hợp các khả năng Văn bản sang 3D của Meshy vào ứng dụng của riêng bạn. Trong phần này, bạn sẽ tìm thấy tất cả thông tin
bạn cần để bắt đầu với API này.
Văn bản sang 3D sử dụng quy trình làm việc hai bước. Trước tiên, tạo một tác vụ xem trước (mode: "preview") để tạo lưới 3D không có texture, để bạn có thể đánh giá hình dạng. Sau đó, chuyển ID tác vụ xem trước đã hoàn tất vào một tác vụ tinh chỉnh (mode: "refine") để áp dụng texture cho lưới. Cả hai bước đều dùng chung một endpoint.
endpoint này tạo một tác vụ xem trước Văn bản sang 3D, tạo ra một lưới 3D không có texture (chỉ hình học) từ một prompt văn bản. Đây là bước đầu tiên trong quy trình hai bước. Sau khi xem trước thành công, hãy dùng ID tác vụ được trả về để tạo tác vụ tinh chỉnh nhằm thêm texture. Tham khảo
Đối tượng tác vụ Văn bản sang 3D để xem schema phản hồi đầy đủ.
Tham số
Name
mode
Type
string
Bắt buộc
Description
Trường này nên được đặt thành "preview" khi tạo tác vụ xem trước.
Name
prompt
Type
string
Bắt buộc
Description
Mô tả loại đối tượng của mô hình 3D. Tối đa 600 ký tự.
Name
model_type
Type
string
mặc định standard
Description
Chỉ định loại Tạo lưới 3D.
Các giá trị khả dụng:
standard: Tạo lưới 3D chi tiết cao thông thường.
lowpoly: Tạo lưới low-poly được tối ưu hóa để có đa giác sạch hơn.
Khi chọn lowpoly, ai_model, topology, target_polycount, should_remesh sẽ bị bỏ qua.
Name
ai_model
Type
string
mặc định latest
Description
ID của mô hình cần sử dụng. Các giá trị khả dụng: meshy-5, meshy-6, latest (Meshy 6).
Name
should_remesh
Type
boolean
mặc định false (meshy-6), true (others)
Description
Kiểm soát việc có bật giai đoạn Remesh hay không. Khi đặt thành false, API sẽ trực tiếp trả về lưới tam giác có độ chính xác cao nhất.
Chỉ áp dụng khi should_remesh = true
Name
topology
Type
string
mặc định triangle
Description
Chỉ định topology của mô hình được tạo.
Các giá trị khả dụng:
quad: Tạo lưới chủ yếu là tứ giác.
triangle: Tạo lưới tam giác đã được giảm số lượng.
Name
target_polycount
Type
integer
mặc định 30,000
Description
Chỉ định số đa giác mục tiêu trong mô hình được tạo. Số đa giác thực tế có thể lệch so với mục tiêu tùy thuộc vào độ phức tạp của hình học.
Phạm vi giá trị hợp lệ thay đổi tùy theo cấp người dùng:
100 đến 300.000 (bao gồm cả hai đầu)
Name
decimation_mode
Type
integer
Description
Bật giảm số lượng thích ứng bằng cách đặt mức số đa giác. Khi được đặt, target_polycount sẽ bị bỏ qua.
Các giá trị khả dụng:
1: Thích ứng — số đa giác cực cao.
2: Thích ứng — số đa giác cao.
3: Thích ứng — số đa giác trung bình.
4: Thích ứng — số đa giác thấp.
Name
symmetry_mode
Type
string
⚠ không dùng nữa
mặc định auto
Description
Không dùng nữa (deprecated). Tham số này không còn ảnh hưởng đến đầu ra.
Trường symmetry_mode kiểm soát hành vi đối xứng trong quá trình tạo mô hình.
Các giá trị hợp lệ là:
off: Tắt đối xứng.
auto: Tự động xác định và áp dụng đối xứng dựa trên hình học đầu vào.
on: Bắt buộc đối xứng trong quá trình tạo.
Name
pose_mode
Type
string
mặc định ""
Description
Chỉ định pose mode cho mô hình được tạo.
Các giá trị khả dụng:
a-pose: Tạo mô hình ở tư thế A.
t-pose: Tạo mô hình ở tư thế T.
"" (chuỗi rỗng): Không áp dụng tư thế cụ thể.
Name
is_a_t_pose
Type
boolean
⚠ không dùng nữa
mặc định false
Description
Thay vào đó hãy dùng pose_mode. Có tạo mô hình ở tư thế A/T hay không.
Name
art_style
Type
string
⚠ không dùng nữa
mặc định realistic
Description
Không được Meshy-6 hỗ trợ. Các yêu cầu sử dụng Meshy-6 sẽ bỏ qua art_style, và một số tổ hợp có thể gây lỗi. Các giá trị khả dụng: realistic, sculpture.
enable_pbr nên được đặt thành false khi sử dụng phong cách Sculpture, vì phong cách Sculpture tạo bộ bản đồ PBR riêng.
Name
moderation
Type
boolean
mặc định false
Description
Khi đặt thành true, nội dung đầu vào sẽ tự động được sàng lọc để phát hiện nội dung có khả năng gây hại. Nếu phát hiện nội dung gây hại, tác vụ sẽ không tiếp tục quá trình tạo.
Văn bản từ prompt sẽ được sàng lọc.
Name
target_formats
Type
string[]
Description
Chỉ định các định dạng tệp 3D cần bao gồm trong đầu ra. Chỉ các định dạng được yêu cầu mới được tạo và trả về, điều này có thể giảm thời gian hoàn tất tác vụ. Khi bỏ qua, tất cả các định dạng được hỗ trợ sẽ được bao gồm.
Các giá trị khả dụng: glb, obj, fbx, stl, usdz, 3mf
Khi bỏ qua, tất cả các định dạng ngoại trừ 3mf sẽ được tạo. 3mf chỉ được bao gồm khi được chỉ định rõ ràng.
Name
alpha_thumbnail
Type
boolean
mặc định false
Description
Khi đặt thành true, tác vụ sẽ hiển thị thêm một phiên bản xem trước có nền trong suốt (RGBA) và trả về phiên bản đó dưới dạng alpha_thumbnail_url trong phản hồi GET. Trường thumbnail_url hiện có không thay đổi.
Name
auto_size
Type
boolean
mặc định false
Description
Khi đặt thành true, dịch vụ sử dụng thị giác AI để tự động ước tính chiều cao thực tế của đối tượng và Đổi kích thước mô hình tương ứng. gốc tọa độ sẽ mặc định là bottom trừ khi origin_at được đặt rõ ràng.
Chỉ áp dụng khi auto_size = true
Name
origin_at
Type
string
mặc định bottom
Description
Vị trí của gốc tọa độ khi auto_size được bật.
Các giá trị khả dụng: bottom, center.
Trả về
Thuộc tính result của phản hồi chứa id tác vụ của tác vụ Văn bản sang 3D mới được tạo.
Chế độ lỗi
Name
400 - Bad Request
Description
Yêu cầu không được chấp nhận. Nguyên nhân phổ biến:
Thiếu tham số: Thiếu một tham số bắt buộc (ví dụ: prompt, mode).
Tham số không hợp lệ: art_style không phải là một trong các giá trị được phép.
Prompt quá dài: prompt vượt quá giới hạn ký tự.
Name
401 - Unauthorized
Description
xác thực thất bại. Vui lòng kiểm tra khóa API của bạn.
endpoint này tạo một tác vụ tinh chỉnh Văn bản sang 3D, áp dụng texture cho một lưới xem trước đã hoàn tất. Bạn phải cung cấp preview_task_id từ một tác vụ xem trước thành công. Đây là bước thứ hai trong quy trình hai bước.
Tham số
Name
mode
Type
string
Bắt buộc
Description
Trường này nên được đặt thành "refine" khi tạo tác vụ tinh chỉnh.
Name
preview_task_id
Type
string
Bắt buộc
Description
ID tác vụ xem trước tương ứng.
Trạng thái của tác vụ xem trước đã cho phải là SUCCEEDED.
Name
enable_pbr
Type
boolean
mặc định false
Description
Tạo bản đồ PBR (metallic, roughness, normal) ngoài màu cơ sở. Bản đồ emission cũng được bao gồm khi ai_model là meshy-6 hoặc latest.
Name
hd_texture
Type
boolean
mặc định false
Description
Tạo texture màu cơ sở ở độ phân giải 4K (4096×4096) để có độ chi tiết cao hơn.
Chỉ được hỗ trợ khi ai_model là meshy-6 hoặc latest. Bản đồ PBR luôn được tạo ở 2K.
Name
texture_prompt
Type
string
Description
Cung cấp một prompt văn bản bổ sung để hướng dẫn quá trình tạo texture. Tối đa 600 ký tự.
Name
texture_image_url
Type
string
Description
Cung cấp một hình ảnh 2D để hướng dẫn quá trình tạo texture. Hiện chúng tôi hỗ trợ các định dạng .jpg, .jpeg và .png.
Có hai cách để cung cấp hình ảnh:
URL có thể truy cập công khai: Một URL có thể truy cập từ internet công cộng
Data URI: Data URI được mã hóa base64 của hình ảnh. Ví dụ về Data URI: data:image/jpeg;base64,<your base64-encoded image data>
Tạo texture từ hình ảnh có thể không hoạt động tối ưu nếu có khác biệt đáng kể về hình học giữa asset gốc và hình ảnh đã tải lên. Chỉ có thể sử dụng một trong texture_image_url hoặc texture_prompt để hướng dẫn quá trình tạo texture. Nếu cả hai tham số đều được cung cấp, thì texture_prompt sẽ được dùng để tạo texture cho mô hình theo mặc định.
Name
ai_model
Type
string
mặc định latest
Description
ID của mô hình dùng để tinh chỉnh. Các giá trị khả dụng: meshy-5, meshy-6, latest (Meshy 6).
Name
moderation
Type
boolean
mặc định false
Description
Khi được đặt thành true, nội dung đầu vào sẽ tự động được sàng lọc để phát hiện nội dung có khả năng gây hại. Nếu phát hiện nội dung gây hại, tác vụ sẽ không tiếp tục đến bước tạo.
Cả văn bản từ texture_prompt và hình ảnh từ texture_image_url đều sẽ được sàng lọc.
Name
remove_lighting
Type
boolean
mặc định true
Description
Loại bỏ vùng sáng và bóng khỏi texture màu cơ sở, tạo ra kết quả sạch hơn và hoạt động tốt hơn trong các thiết lập ánh sáng tùy chỉnh.
Chỉ được hỗ trợ khi ai_model là meshy-6 hoặc latest.
Name
target_formats
Type
string[]
Description
Chỉ định các định dạng tệp 3D cần bao gồm trong đầu ra. Chỉ các định dạng được yêu cầu mới được tạo và trả về, điều này có thể giảm thời gian hoàn tất tác vụ. Khi bỏ qua, tất cả các định dạng được hỗ trợ sẽ được bao gồm.
Các giá trị khả dụng: glb, obj, fbx, stl, usdz, 3mf
Khi bỏ qua, tất cả các định dạng ngoại trừ 3mf sẽ được tạo. 3mf chỉ được bao gồm khi được chỉ định rõ ràng.
Name
alpha_thumbnail
Type
boolean
mặc định false
Description
Khi được đặt thành true, tác vụ cũng kết xuất một phiên bản nền trong suốt (RGBA) của bản xem trước và trả về dưới dạng alpha_thumbnail_url trong phản hồi GET. Trường thumbnail_url hiện có không thay đổi.
Name
auto_size
Type
boolean
mặc định false
Description
Khi được đặt thành true, dịch vụ sử dụng thị giác AI để tự động ước tính chiều cao thực tế của đối tượng và đổi kích thước mô hình tương ứng. gốc tọa độ sẽ mặc định là bottom trừ khi origin_at được đặt rõ ràng.
Chỉ áp dụng khi auto_size = true
Name
origin_at
Type
string
mặc định bottom
Description
Vị trí của gốc tọa độ khi auto_size được bật.
Các giá trị khả dụng: bottom, center.
Trả về
Thuộc tính result của phản hồi chứa id tác vụ của tác vụ Văn bản sang 3D mới được tạo.
Chế độ lỗi
Name
400 - Bad Request
Description
Yêu cầu không được chấp nhận. Các nguyên nhân phổ biến:
ID tác vụ không hợp lệ: preview_task_id không hợp lệ hoặc không tồn tại.
Tác vụ chưa sẵn sàng: Tác vụ xem trước chưa thành công.
Mô hình không khớp: Mô hình AI của tác vụ xem trước không tương thích với mô hình tinh chỉnh được yêu cầu.
Name
401 - Unauthorized
Description
xác thực không thành công. Vui lòng kiểm tra khóa API của bạn.
Name
402 - Payment Required
Description
Không đủ tín dụng để thực hiện tác vụ này.
Name
404 - Not Found
Description
Không tìm thấy tác vụ xem trước được chỉ định bởi preview_task_id.
endpoint này cho phép bạn truy xuất một tác vụ Văn bản sang 3D với id tác vụ hợp lệ.
Tham khảo Đối tượng tác vụ Văn bản sang 3D để xem các
thuộc tính được bao gồm trong đối tượng tác vụ Văn bản sang 3D.
endpoint này hoạt động cho cả tác vụ xem trước và tinh chỉnh.
Tham số
Name
id
Type
path
Description
Mã định danh duy nhất của tác vụ Văn bản sang 3D cần truy xuất.
Đối tượng tác vụ Văn bản sang 3D là một đơn vị công việc mà Meshy theo dõi để tạo mô hình 3D từ đầu vào văn bản. Có hai giai đoạn của API Văn bản sang 3D, preview và refine. Giai đoạn preview dùng để tạo mô hình 3D chỉ có lưới, còn giai đoạn refine dùng để tạo mô hình 3D có贴图 dựa trên kết quả của giai đoạn preview.
Đối tượng có các thuộc tính sau:
Thuộc tính
Name
id
Type
string
Description
Định danh duy nhất cho tác vụ. Mặc dù chúng tôi dùng UUID có thể sắp xếp theo k cho id tác vụ như một
chi tiết triển khai, bạn không nên đưa ra bất kỳ giả định nào về định dạng của id.
Name
type
Type
string
Description
Loại tác vụ Văn bản sang 3D. Các giá trị có thể là text-to-3d-preview cho tác vụ giai đoạn xem trước và text-to-3d-refine cho tác vụ giai đoạn tinh chỉnh.
Name
model_urls
Type
object
Description
URL có thể tải xuống tới tệp mô hình 3D có texture do Meshy tạo. Thuộc tính cho một định dạng sẽ bị lược bỏ nếu định dạng đó không được tạo, thay vì trả về chuỗi rỗng.
Name
glb
Type
string
Description
URL có thể tải xuống tới tệp GLB.
Name
fbx
Type
string
Description
URL có thể tải xuống tới tệp FBX.
Name
usdz
Type
string
Description
URL có thể tải xuống tới tệp USDZ.
Name
obj
Type
string
Description
URL có thể tải xuống tới tệp OBJ.
Name
mtl
Type
string
Description
URL có thể tải xuống tới tệp MTL.
Name
stl
Type
string
Description
URL có thể tải xuống tới tệp STL.
Name
3mf
Type
string
Description
URL có thể tải xuống tới tệp 3MF. Chỉ xuất hiện khi 3mf được yêu cầu qua target_formats.
Name
prompt
Type
string
Description
Đây là prompt chưa được chỉnh sửa đã được dùng để tạo tác vụ.
Name
negative_prompt
Type
string
⚠ không dùng nữa
Description
Được duy trì để tương thích ngược. Trường này không có tác động chức năng nào lên các mô hình được tạo.
Name
art_style
Type
string
⚠ không dùng nữa
Description
art_style chưa được chỉnh sửa đã được dùng để tạo tác vụ xem trước. Không được Meshy-6 hỗ trợ.
Name
texture_richness
Type
string
⚠ không dùng nữa
Description
Được duy trì để tương thích ngược. Trường này không có tác động chức năng nào lên các mô hình được tạo.
Name
texture_prompt
Type
string
Description
Prompt văn bản bổ sung được cung cấp để hướng dẫn quá trình tạo texture trong giai đoạn tinh chỉnh.
Name
texture_image_url
Type
string
Description
URL có thể tải xuống tới hình ảnh texture đã được dùng để hướng dẫn quá trình tạo texture.
Name
thumbnail_url
Type
string
Description
URL có thể tải xuống tới hình ảnh ảnh thu nhỏ của tệp mô hình.
Name
alpha_thumbnail_url
Type
string
Description
URL có thể tải xuống tới phiên bản nền trong suốt (RGBA) của thumbnail_url. Chỉ xuất hiện khi tác vụ được tạo với alpha_thumbnail: true và bản xem trước trong suốt đã được render thành công; nếu không, trường này sẽ bị lược bỏ.
Name
video_url
Type
string
⚠ không dùng nữa
Description
URL có thể tải xuống tới video xem trước. Sẽ bị xóa trong một bản phát hành trong tương lai.
Name
progress
Type
integer
Description
progress của tác vụ. Nếu tác vụ chưa bắt đầu, thuộc tính này sẽ là 0. Khi tác vụ đã thành công, giá trị này sẽ trở thành 100.
Name
started_at
Type
timestamp
Description
Dấu thời gian của thời điểm tác vụ được bắt đầu, tính bằng mili giây. Nếu tác vụ chưa bắt đầu, thuộc tính này sẽ là 0.
Một dấu thời gian biểu thị số mili giây đã trôi qua kể từ ngày 1 tháng 1 năm 1970 UTC, tuân theo
tiêu chuẩn RFC 3339.
Ví dụ, thứ Sáu, ngày 1 tháng 9 năm 2023 12:00:00 PM GMT được biểu diễn là 1693569600000. Điều này áp dụng
cho tất cả dấu thời gian trong Meshy API.
Name
created_at
Type
timestamp
Description
Dấu thời gian của thời điểm tác vụ được tạo, tính bằng mili giây.
Name
finished_at
Type
timestamp
Description
Dấu thời gian của thời điểm tác vụ hoàn tất, tính bằng mili giây. Nếu tác vụ chưa hoàn tất, thuộc tính này sẽ là 0.
Name
status
Type
string
Description
Trạng thái của tác vụ. Các giá trị có thể là một trong PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
texture_urls
Type
array
Description
Một mảng các đối tượng URL texture được tạo từ tác vụ. Thông thường mảng này chỉ chứa một đối tượng URL texture. Mỗi URL texture có các thuộc tính sau:
Name
base_color
Type
string
Description
URL có thể tải xuống tới hình ảnh bản đồ màu cơ sở.
Name
metallic
Type
string
Description
URL có thể tải xuống tới hình ảnh bản đồ metallic.
Nếu tác vụ được tạo với enable_pbr: false, thuộc tính này sẽ bị lược bỏ.
Name
normal
Type
string
Description
URL có thể tải xuống tới hình ảnh bản đồ normal.
Nếu tác vụ được tạo với enable_pbr: false, thuộc tính này sẽ bị lược bỏ.
Name
roughness
Type
string
Description
URL có thể tải xuống tới hình ảnh bản đồ roughness.
Nếu tác vụ được tạo với enable_pbr: false, thuộc tính này sẽ bị lược bỏ.
Name
emission
Type
string
Description
URL có thể tải xuống tới hình ảnh bản đồ emission.
Nếu tác vụ được tạo với enable_pbr: false, hoặc ai_model là meshy-5, thuộc tính này sẽ bị lược bỏ.
Name
preceding_tasks
Type
integer
Description
Số lượng tác vụ đứng trước.
Giá trị của trường này chỉ có ý nghĩa nếu trạng thái tác vụ là PENDING.
Name
task_error
Type
object
Description
Chi tiết lỗi cho các tác vụ thất bại. Xem Lỗi để biết tham chiếu đầy đủ về đối tượng task_error.
Name
consumed_credits
Type
integer
Description
Số tín dụng được tiêu thụ bởi tác vụ này. Xuất hiện khi trạng thái tác vụ là PENDING, IN_PROGRESS, hoặc SUCCEEDED. Trả về 0 cho các tác vụ FAILED (tín dụng được hoàn lại khi thất bại).
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,"seed":1234,"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}