API Văn bản sang ảnh
Tạo ảnh từ một prompt văn bản bằng các mô hình AI của Meshy.
Văn bản sang ảnh tạo ra ảnh. Để tạo một mô hình 3D từ nội dung trong một ảnh, hãy sử dụng Ảnh sang 3D. Để tạo một vật thể bạn có thể cầm nắm hoặc in ra từ một bức ảnh, hãy sử dụng các API Creative Lab. Chúng tạo ra một ảnh nguyên mẫu rồi xây dựng một mô hình 3D từ đó, ví dụ như móc khóa, nam châm tủ lạnh, tượng, đèn hoặc keycap.
Tạo một tác vụ Văn bản sang ảnh
Tạo một tác vụ Văn bản sang ảnh. Tác vụ này chạy ngầm. Để biết một tác vụ thường mất bao lâu, xem Thời gian xử lý.
Request
# Generate an image from a text prompt
curl https://api.meshy.ai/openapi/v1/text-to-image \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"ai_model": "nano-banana",
"prompt": "A majestic dragon soaring through clouds at sunset",
"aspect_ratio": "16:9"
}'
Response
{
"result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}
Tham số
- Name
- ai_model
- Type
- string
- Bắt buộc
- Description
Mô hình AI tạo ra ảnh. Giá khác nhau tùy theo mô hình. Về giá, xem Giá.
Các giá trị khả dụng:
nano-banana: mô hình tiêu chuẩnnano-banana-2: mạnh hơnnano-banananano-banana-2-lite: phiên bản nhẹ củanano-banana-2nano-banana-2-1: Nano Banana 2.1nano-banana-pro: mô hình Pro, với chất lượng cao hơn. Yêu cầu gói Pro trở lên. Ở gói thấp hơn, nó trả về402.gpt-image-2: OpenAI GPT Image 2gpt-image-2-5-flare: OpenAI GPT Image 2.5 (Flare)gpt-image-2-5-sunburst: OpenAI GPT Image 2.5 (Sunburst)
- Name
- prompt
- Type
- string
- Bắt buộc
- Description
Văn bản mô tả ảnh cần tạo. Một mô tả chi tiết sẽ cho kết quả tốt hơn.
- Name
- generate_multi_view
- Type
- boolean
- mặc định false
- Description
Có tạo ảnh Đa góc nhìn hiển thị chủ thể từ nhiều góc độ hay không. Khi giá trị này là
true, bạn không thể gửiaspect_ratio. Gửi cả hai sẽ trả về400.
- Name
- pose_mode
- Type
- string
- Description
Tư thế cho nhân vật,
a-posehoặct-pose. Bỏ trống nếu không dùng tư thế.Cách tư thế hoạt động phụ thuộc vào
ai_model:nano-banana-2,nano-banana-2-lite, vànano-banana-2-1: Meshy giữ nguyên mô hình bạn đã chọn. Ảnh luôn có tỷ lệ3:4, và Meshy bỏ quaaspect_ratio.nano-bananavànano-banana-pro: Meshy tạo ảnh bằngnano-banana-pro, nênai_modelcủa tác vụ sẽ được trả về lànano-banana-pro. Điều này yêu cầu gói Pro trở lên. Ảnh luôn có tỷ lệ3:4, và Meshy bỏ quaaspect_ratio.- Các mô hình GPT Image (
gpt-image-2,gpt-image-2-5-flare, vàgpt-image-2-5-sunburst): Meshy giữ nguyên mô hình bạn đã chọn vàaspect_ratiocủa bạn.
- Name
- aspect_ratio
- Type
- string
- mặc định 1:1
- Description
Hình dạng của ảnh. Các giá trị bạn có thể gửi phụ thuộc vào
ai_model.Các giá trị khả dụng:
1:1: vuông16:9: ngang rộng9:16: dọc rộng4:3: ngang tiêu chuẩn3:4: dọc tiêu chuẩn3:2: ngang, chỉ dành cho các mô hình GPT Image2:3: dọc, chỉ dành cho các mô hình GPT Image
Các mô hình
nano-banana(nano-banana,nano-banana-2,nano-banana-2-lite,nano-banana-2-1, vànano-banana-pro) trả về400cho3:2và2:3.
- Name
- remove_background
- Type
- boolean
- mặc định false
- Description
Có xóa phông nền của ảnh hay không.
truetrả về một PNG RGBA trong suốt, nhờ đó bạn có thể đặt chủ thể lên bất kỳ phông nền nào.
Giá trị trả về
Trường result của phản hồi chứa ID của tác vụ Văn bản sang ảnh mới.
Các trường hợp lỗi
- Name
400 - Bad Request- Description
Yêu cầu không thể chạy. Thông báo lỗi cho biết vấn đề đã phát hiện. Ví dụ:
- Thiếu tham số: Một tham số bắt buộc, chẳng hạn như
ai_modelhoặcprompt, bị thiếu. - Tham số không hợp lệ:
ai_modelhoặcaspect_ratiokhông phải là một trong các giá trị được phép. - Xung đột:
aspect_ratiođược gửi cùng vớigenerate_multi_view: true.
Sửa yêu cầu, sau đó gửi lại. Xem Lỗi.
- Thiếu tham số: Một tham số bắt buộc, chẳng hạn như
- Name
401 - Unauthorized- Description
Khóa API bị thiếu hoặc không hợp lệ. Kiểm tra tiêu đề
Authorization.
- Name
402 - Payment Required- Description
Tài khoản không thể chạy tác vụ này. Ví dụ:
- Gói miễn phí: Việc tạo tác vụ yêu cầu gói trả phí. Nâng cấp gói của bạn trong cài đặt đăng ký, sau đó thử lại.
- Không đủ tín dụng: Tài khoản không có đủ tín dụng cho tác vụ này (
Insufficient funds), hoặc tài khoản đã đạt giới hạn tín dụng. - Yêu cầu gói: Yêu cầu sử dụng
nano-banana-pro, hoặcpose_modevớinano-banana, trên gói thấp hơn Pro (Only Pro and above users can use nano-banana-pro, hoặcOnly Pro and above users can use A/T pose feature (requires nano-banana-pro)).
Kiểm tra số dư tín dụng và gói của bạn, sau đó thử lại.
- Name
429 - Too Many Requests- Description
Bạn đã vượt quá giới hạn tốc độ. Hãy đợi, rồi thử lại. Xem Giới hạn tốc độ.
Lấy tác vụ Văn bản sang ảnh
Trả về một tác vụ Văn bản sang ảnh theo ID của nó.
Request
curl https://api.meshy.ai/openapi/v1/text-to-image/018a210d-8ba4-705c-b111-1f1776f7f578 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "text-to-image",
"ai_model": "nano-banana",
"prompt": "A majestic dragon soaring through clouds at sunset",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1692771650657,
"started_at": 1692771667037,
"finished_at": 1692771669037,
"expires_at": 1692771679037,
"image_urls": [
"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/image.png?Expires=***"
]
}
Tham số
- Name
- id
- Type
- path
- Description
ID của tác vụ từ phản hồi tạo tác vụ.
Giá trị trả về
Xóa một tác vụ Văn bản sang ảnh
Xóa vĩnh viễn một tác vụ Văn bản sang ảnh, bao gồm cả hình ảnh và dữ liệu của nó. Bạn không thể hoàn tác việc xóa.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/text-to-image/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 keeps 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."
}
Tham số đường dẫn
- Name
- id
- Type
- path
- Description
ID của tác vụ cần xóa.
Trạng thái tác vụ
Xóa một tác vụ PENDING sẽ hoàn lại số tín dụng đã dùng khi bạn tạo tác vụ đó.
Một tác vụ IN_PROGRESS không thể bị xóa. Yêu cầu sẽ trả về 409 Conflict,
và tác vụ vẫn tiếp tục chạy. Meshy không hoàn tín dụng cho một tác vụ đã bắt đầu,
vì vậy việc xóa nó sẽ khiến bạn mất cả tín dụng lẫn kết quả. Hãy đợi cho đến khi
tác vụ đạt trạng thái SUCCEEDED, FAILED, hoặc CANCELED, rồi mới xóa.
Xóa một tác vụ ở trạng thái cuối cùng (SUCCEEDED, FAILED, hoặc CANCELED)
sẽ không hoàn lại tín dụng.
Giá trị trả về
200 OK khi tác vụ được xóa, hoặc 409 Conflict khi tác vụ đang ở trạng thái
IN_PROGRESS.
List Text to Image tasks
Trả về danh sách các tác vụ Văn bản sang ảnh và Ảnh sang ảnh của bạn. Trường type của mỗi tác vụ cho biết đó là loại nào trong hai loại này.
Request
curl https://api.meshy.ai/openapi/v1/text-to-image?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "text-to-image",
"ai_model": "nano-banana",
"prompt": "A majestic dragon soaring through clouds at sunset",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1692771650657,
"started_at": 1692771667037,
"finished_at": 1692771669037,
"expires_at": 1692771679037,
"image_urls": [
"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/image.png?Expires=***"
]
}
]
Tham số
- Name
- page_num
- Type
- integer
- Description
Số trang cần trả về. Bắt đầu từ và mặc định là
1.
- Name
- page_size
- Type
- integer
- Description
Số lượng tác vụ trên mỗi trang, tối đa
100. Mặc định là10.
- Name
- sort_by
- Type
- string
- Description
Thứ tự sắp xếp.
Các giá trị khả dụng:
+created_at: cũ nhất trước-created_at: mới nhất trước
Giá trị trả về
Một danh sách phân trang các đối tượng tác vụ, có cùng định dạng với đối tượng tác vụ Văn bản sang ảnh.
Stream một task Văn bản sang ảnh
Truyền trực tuyến các cập nhật của task Văn bản sang ảnh dưới dạng Server-Sent Events (SSE).
Request
curl -N https://api.meshy.ai/openapi/v1/text-to-image/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.
// These examples are shortened. Each event holds the full task object.
event: message
data: {
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "text-to-image",
"ai_model": "nano-banana",
"prompt": "A majestic dragon soaring through clouds at sunset",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1692771650657,
"started_at": 1692771667037,
"finished_at": 1692771669037,
"expires_at": 1692771679037,
"image_urls": [
"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/image.png?Expires=***"
]
}
Tham số
- Name
- id
- Type
- path
- Description
ID task từ phản hồi tạo task.
Giá trị trả về
Một luồng đối tượng task Văn bản sang ảnh dưới dạng Server-Sent Events.
Mỗi sự kiện chứa toàn bộ đối tượng task, với cùng cấu trúc mà endpoint Get trả về. Trong khi task đang ở trạng thái PENDING hoặc IN_PROGRESS, các trường kết quả của nó vẫn chưa có giá trị.
Đối tượng tác vụ Text to Image
Một đối tượng tác vụ Text to Image mô tả một lần tạo ảnh từ một prompt văn bản. Nó lưu trữ trạng thái, progress, và các URL ảnh khi tác vụ thành công.
Thuộc tính
Example Text to Image Task Object
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "text-to-image",
"ai_model": "nano-banana",
"prompt": "A majestic dragon soaring through clouds at sunset",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1692771650657,
"started_at": 1692771667037,
"finished_at": 1692771669037,
"expires_at": 1692771679037,
"image_urls": [
"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/image.png?Expires=***"
],
"task_error": null,
"consumed_credits": 3
}
- Name
- id
- Type
- string
- Description
ID của tác vụ. Hãy coi đây là một chuỗi không minh bạch (opaque string), và đừng phụ thuộc vào định dạng của nó.
- Name
- type
- Type
- string
- Description
Loại tác vụ, luôn là
text-to-image.
- Name
- ai_model
- Type
- string
- Description
Mô hình AI mà tác vụ đã sử dụng.
Các giá trị có thể có:
nano-banananano-banana-2nano-banana-2-litenano-banana-2-1nano-banana-progpt-image-2gpt-image-2-5-flaregpt-image-2-5-sunburst
- Name
- prompt
- Type
- string
- Description
prompt văn bản bạn đã dùng để tạo tác vụ.
- Name
- status
- Type
- string
- Description
Trạng thái của tác vụ, là một trong các giá trị
PENDING,IN_PROGRESS,SUCCEEDED,FAILED, hoặcCANCELED.
- Name
- progress
- Type
- integer
- Description
Mức độ hoàn thành của tác vụ, tính theo phần trăm. Giá trị là
0cho đến khi tác vụ bắt đầu và100khi tác vụ thành công.
- Name
- created_at
- Type
- timestamp
- Description
Thời điểm tác vụ được tạo, tính bằng mili giây Unix.
- Name
- started_at
- Type
- timestamp
- Description
Thời điểm tác vụ bắt đầu, tính bằng mili giây Unix. Không có cho đến khi tác vụ bắt đầu.
- Name
- finished_at
- Type
- timestamp
- Description
Thời điểm tác vụ kết thúc, tính bằng mili giây Unix. Không có cho đến khi tác vụ kết thúc.
- Name
- expires_at
- Type
- timestamp
- Description
Thời điểm kết quả của tác vụ hết hạn, tính bằng mili giây Unix. Không có cho đến khi tác vụ kết thúc.
- Name
- preceding_tasks
- Type
- integer
- Description
Số lượng tác vụ đứng trước tác vụ này trong hàng đợi. Giá trị này chỉ có ý nghĩa khi tác vụ đang ở trạng thái
PENDING. Trường này sẽ không xuất hiện khi giá trị là0.
- Name
- image_urls
- Type
- array
- Description
Các URL tải xuống cho những ảnh đã tạo. Với
generate_multi_view: true, mảng này chứa một URL cho mỗi góc nhìn, thường là ba. Nếu Meshy không thể tách riêng từng góc nhìn, nó sẽ trả về ít URL hơn, và tác vụ vẫn thành công. Nếu không, nó sẽ chứa một URL duy nhất.
- Name
- task_error
- Type
- object
- Description
Thông tin chi tiết về lỗi khi tác vụ thất bại. Giá trị là
nulltrừ khi trạng thái làFAILED. Xem Lỗi.
- Name
- consumed_credits
- Type
- integer
- Description
Số tín dụng mà tác vụ đã sử dụng. Có mặt khi trạng thái là
PENDING,IN_PROGRESS, hoặcSUCCEEDED. Giá trị là0đối với tác vụFAILED, vì Meshy sẽ hoàn lại tín dụng khi tác vụ thất bại.