API Ảnh sang ảnh
Chỉnh sửa và biến đổi hình ảnh trong ứng dụng của riêng bạn. Gửi hình ảnh tham chiếu và một prompt dạng văn bản, các mô hình AI của Meshy sẽ tạo ra một hình ảnh mới từ chúng.
Ảnh sang ảnh tạo ra hình ảnh. Để tạo mô hình 3D từ nội dung trong một hình ảnh, hãy sử dụng Ảnh sang 3D. Để tạo một vật thể mà bạn có thể cầm nắm hoặc in ra từ một bức ảnh, hãy sử dụng Creative Lab APIs. Chúng tạo ra một hình ảnh nguyên mẫu rồi dựng mô hình 3D từ đó, ví dụ như móc khóa, nam châm tủ lạnh, tượng, đèn hoặc nắp phím.
Tạo một tác vụ Ảnh sang ảnh
Tạo một tác vụ Ảnh sang ảnh. Tác vụ 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
# Transform a reference image with a text prompt
curl https://api.meshy.ai/openapi/v1/image-to-image \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"ai_model": "nano-banana",
"prompt": "Transform this into a cyberpunk style artwork",
"reference_image_urls": [
"<your publicly accessible image url or base64-encoded data URI>"
]
}'
## Using data URI example
curl https://api.meshy.ai/openapi/v1/image-to-image \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"ai_model": "nano-banana",
"prompt": "Transform this into a cyberpunk style artwork",
"reference_image_urls": [
"data:image/png;base64,${YOUR_BASE64_ENCODED_IMAGE_DATA}"
]
}'
## Chaining from a previous task, instead of passing image URLs
curl https://api.meshy.ai/openapi/v1/image-to-image \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"ai_model": "nano-banana",
"prompt": "Transform this into a cyberpunk style artwork",
"input_task_id": "<your Text to Image or Image to Image task id>"
}'
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 hình ảnh. Giá khác nhau tùy theo mô hình. 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 lite củanano-banana-2nano-banana-2-1: Nano Banana 2.1nano-banana-pro: mô hình Pro, có chất lượng cao hơn. Yêu cầu gói Pro trở lên. Trê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ả chỉnh sửa hoặc biến đổi cần áp dụng cho các hình ảnh tham chiếu.
- Name
- input_task_id
- Type
- string
- Bắt buộc
- Description
Bắt buộc trừ khi bạn gửi
reference_image_urls. ID của một tác vụ Văn bản sang ảnh hoặc Ảnh sang ảnh mà hình ảnh của nó sẽ được dùng làm tham chiếu, kể cả các tác vụ đa góc nhìn. Tác vụ này phải là tác vụ bạn đã tạo bằng API và có trạng tháiSUCCEEDED.Meshy sử dụng mọi hình ảnh mà tác vụ đó đã tạo ra. Một tác vụ đơn ảnh cho một hình ảnh tham chiếu, còn một tác vụ đa góc nhìn cho một hình ảnh mỗi góc nhìn. Vì vậy, một ID tác vụ có thể lấp đầy nhiều trong số năm vị trí tham chiếu.
Tác vụ vẫn phải còn trong thời hạn lưu giữ tài nguyên. Sau khi hết hạn, ID của nó trả về
404.
- Name
- reference_image_urls
- Type
- array
- Bắt buộc
- Description
Bắt buộc trừ khi bạn gửi
input_task_id. Một đến năm hình ảnh tham chiếu cần chỉnh sửa, mỗi hình là một URL công khai hoặc một Data URI, ví dụdata:image/jpeg;base64,<dữ liệu hình ảnh mã hóa base64 của bạn>. Một mảng rỗng, hoặc nhiều hơn năm hình ảnh, sẽ trả về400. Nếu bạn gửi cả hai, Meshy sử dụnginput_task_id.Mỗi hình ảnh phải là một tệp
.jpg,.jpeg,.png, hoặc.webptối đa 20 MB, và ít nhất 32 pixel mỗi cạnh.
- Name
- generate_multi_view
- Type
- boolean
- mặc định false
- Description
Có tạo một hình ảnh đa góc nhìn thể hiện chủ thể từ nhiều góc độ hay không. Khi là
true, bạn không thể gửiaspect_ratio. Gửi cả hai sẽ trả về400.
- Name
- aspect_ratio
- Type
- string
- mặc định 1:1
- Description
Tỷ lệ khung hình của hình ảnh đầu ra. 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: cảnh rộng ngang9:16: cảnh rộng dọc4: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 GPT Image là
gpt-image-2,gpt-image-2-5-flare, vàgpt-image-2-5-sunburst. Với một mô hìnhnano-banana,3:2và2:3sẽ trả về400.
- Name
- remove_background
- Type
- boolean
- mặc định false
- Description
Có loại bỏ nền hay không. Khi là
true, Meshy trả về hình ảnh đầu ra dưới dạng PNG RGBA trong suốt, để bạn có thể đặt chủ thể lên bất kỳ nền nào.
Giá trị trả về
Trường result trong phản hồi chứa ID của tác vụ Ảnh sang ảnh mới.
Các chế độ 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 đề mà 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, hoặc không có cảreference_image_urlslẫninput_task_idđược gửi. - Tác vụ đầu vào không hợp lệ:
input_task_idkhông trỏ đến một tác vụ có thể sử dụng được. Nó phải là một tác vụ Văn bản sang ảnh hoặc Ảnh sang ảnhSUCCEEDED, kể cả đa góc nhìn, mà vẫn còn hình ảnh đầu ra. Meshy từ chối một tác vụ thuộc loại khác, một tác vụ chưa thành công, và một tác vụ mà tất cả hình ảnh của nó đã hết hạn. - Định dạng hình ảnh không hợp lệ: Một hoặc nhiều hình ảnh tham chiếu không ở định dạng được hỗ trợ.
- URL không thể truy cập: Meshy không thể tải xuống một hoặc nhiều hình ảnh
reference_image_urls. - Hình ảnh quá lớn: Một hoặc nhiều hình ảnh
reference_image_urlsvượt quá 20 MB. - Hình ảnh quá nhỏ: Một hoặc nhiều hình ảnh
reference_image_urlscó một cạnh ngắn hơn 32 pixel. - Tham số không hợp lệ:
aspect_ratiokhông phải là một trong các giá trị màai_modelđã chọn hỗ trợ. - Xung đột: Yêu cầu gửi
aspect_ratiocùng vớigenerate_multi_view: true.
Hãy 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í: Tạo một tác vụ yêu cầu gói trả phí. Hãy 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, hoặc tài khoản đã đạt đến giới hạn tín dụng.
- Yêu cầu gói: Yêu cầu sử dụng
nano-banana-protrên một gói thấp hơn Pro.
Hãy kiểm tra số dư tín dụng và gói của bạn, sau đó thử lại.
- Name
404 - Not Found- Description
input_task_idkhông khớp với tác vụ nào trong tài khoản của bạn. Một tác vụ không tồn tại và một tác vụ thuộc về tài khoản khác trả về cùng một phản hồi. Hãy kiểm tra ID.
- Name
429 - Too Many Requests- Description
Bạn đã vượt quá giới hạn tốc độ của mình. Hãy chờ, sau đó thử lại. Xem Giới hạn tốc độ.
Lấy một tác vụ Ảnh sang ảnh
Trả về một tác vụ Ảnh sang ảnh theo ID của nó.
Request
curl https://api.meshy.ai/openapi/v1/image-to-image/018a210d-8ba4-705c-b111-1f1776f7f578 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "image-to-image",
"ai_model": "nano-banana",
"prompt": "Transform this into a cyberpunk style artwork",
"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ụ Ảnh sang ảnh
Xóa vĩnh viễn một tác vụ Ảnh sang ảnh, bao gồm cá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/image-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 tín dụng đã sử 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 lại 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.
Liệt kê các tác vụ Ảnh sang ảnh
Trả về danh sách các tác vụ Ảnh sang ảnh và Văn bản 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/image-to-image?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "image-to-image",
"ai_model": "nano-banana",
"prompt": "Transform this into a cyberpunk style artwork",
"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
Kết quả trả về
Một danh sách phân trang các đối tượng tác vụ, theo cùng định dạng với đối tượng tác vụ Ảnh sang ảnh.
Stream một tác vụ Ảnh sang ảnh
Stream các cập nhật của một tác vụ Ảnh sang ảnh dưới dạng Server-Sent Events (SSE).
Request
curl -N https://api.meshy.ai/openapi/v1/image-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": "image-to-image",
"ai_model": "nano-banana",
"prompt": "Transform this into a cyberpunk style artwork",
"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 tác vụ từ phản hồi tạo tác vụ.
Giá trị trả về
Một luồng đối tượng tác vụ Ảnh sang ảnh dưới dạng Server-Sent Events.
Mỗi sự kiện chứa toàn bộ đối tượng tác vụ, theo cùng cấu trúc mà endpoint Get trả về. Trong khi tác vụ đang ở trạng thái PENDING hoặc IN_PROGRESS, các trường kết quả của nó chưa có giá trị.
Đối tượng tác vụ Ảnh sang ảnh
Một đối tượng tác vụ Ảnh sang ảnh mô tả một hình ảnh được tạo ra từ các hình ảnh tham chiếu và một prompt văn bản. Nó lưu giữ trạng thái, progress, và các hình ảnh khi tác vụ thành công.
Thuộc tính
Example Image to Image Task Object
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "image-to-image",
"ai_model": "nano-banana",
"prompt": "Transform this into a cyberpunk style artwork",
"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 xem đây là một chuỗi không minh bạch, và đừng dựa vào định dạng của nó.
- Name
- type
- Type
- string
- Description
Loại tác vụ, luôn là
image-to-image.
- Name
- ai_model
- Type
- string
- Description
Mô hình AI mà tác vụ đã sử dụng.
Các giá trị khả dụng:
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 định hướng việc chỉnh sửa.
- 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ẽ bị bỏ qua khi giá trị là0.
- Name
- image_urls
- Type
- array
- Description
Các URL tải xuống cho những hình ảnh được tạo ra. Với
generate_multi_view: true, nó lưu giữ 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 hơn, và tác vụ vẫn thành công. Nếu không, nó lưu giữ một URL duy nhất.
- Name
- task_error
- Type
- object
- Description
Chi tiết 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ố lượng 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 một tác vụFAILED, vì Meshy sẽ hoàn lại tín dụng khi một tác vụ thất bại.