API Ảnh sang ảnh là một tính năng cho phép bạn tích hợp khả năng chỉnh sửa hình ảnh AI của Meshy vào ứng dụng của riêng bạn. Chuyển đổi và chỉnh sửa hình ảnh hiện có bằng cách sử dụng hình ảnh tham chiếu và lời nhắc văn bản với các mô hình AI mạnh mẽ của chúng tôi.
Endpoint này cho phép bạn tạo một nhiệm vụ Ảnh sang ảnh mới. Tham khảo
Đối tượng Nhiệm vụ Ảnh sang ảnh để xem những
thuộc tính nào được bao gồm với đối tượng nhiệm vụ Ảnh sang ảnh.
Tham số
Name
ai_model
Type
string
Bắt buộc
Description
ID của mô hình để sử dụng cho việc tạo ảnh.
Các giá trị có sẵn:
nano-banana: Mô hình tiêu chuẩn (3 tín dụng mỗi ảnh)
nano-banana-2: Mô hình cân bằng với khả năng mạnh hơn tiêu chuẩn (6 tín dụng mỗi ảnh)
nano-banana-pro: Mô hình Pro với chất lượng nâng cao (9 tín dụng mỗi ảnh)
gpt-image-2: OpenAI GPT Image 2, mô hình chỉnh sửa ảnh độ trung thực cao (12 tín dụng mỗi ảnh)
Name
prompt
Type
string
Bắt buộc
Description
Mô tả văn bản về sự biến đổi hoặc chỉnh sửa bạn muốn áp dụng cho các ảnh tham chiếu.
Name
reference_image_urls
Type
array
Bắt buộc
Description
Một mảng từ 1 đến 5 ảnh tham chiếu để sử dụng cho nhiệm vụ chỉnh sửa ảnh. Hiện tại chúng tôi hỗ trợ các định dạng .jpg, .jpeg, và .png.
Có hai cách để cung cấp mỗi ả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: Một Data URI mã hóa base64 của ảnh. Ví dụ về một Data URI: data:image/jpeg;base64,<your base64-encoded image data>.
Name
generate_multi_view
Type
boolean
mặc định false
Description
Khi được đặt thành true, tạo ra một ảnh đa góc nhìn hiển thị đối tượng từ nhiều góc độ.
Khi generate_multi_view là true, tham số aspect_ratio không thể được đặt.
Name
aspect_ratio
Type
string
mặc định 1:1
Description
Chỉ định tỷ lệ khung hình của ảnh đầu ra. Các giá trị được phép phụ thuộc vào ai_model đã chọn:
4:3: Cảnh tiêu chuẩn ngang (không được hỗ trợ bởi gpt-image-2)
3:4: Cảnh tiêu chuẩn dọc (không được hỗ trợ bởi gpt-image-2)
3:2: Cảnh ngang (chỉ được hỗ trợ bởi gpt-image-2)
2:3: Cảnh dọc (chỉ được hỗ trợ bởi gpt-image-2)
Name
remove_background
Type
boolean
mặc định false
Description
Khi được đặt thành true, ảnh đầu ra được trả về dưới dạng PNG RGBA trong suốt với nền đã được loại bỏ, để bạn có thể ghép đối tượng lên bất kỳ nền nào.
Trả về
Thuộc tính result của phản hồi chứa id của nhiệm vụ Ảnh sang ảnh mới được tạo.
Chế độ thất bại
Name
400 - Bad Request
Description
Yêu cầu không chấp nhận được. Nguyên nhân phổ biến:
Thiếu tham số: Một tham số bắt buộc (ví dụ, ai_model, prompt, reference_image_urls) bị thiếu.
Định dạng ảnh không hợp lệ: Một hoặc nhiều ảnh tham chiếu không phải là định dạng được hỗ trợ.
URL không thể truy cập: Một hoặc nhiều reference_image_urls không thể tải xuống.
Tham số không hợp lệ: aspect_ratio không phải là một trong những giá trị được phép cho ai_model đã chọn.
Xung đột: generate_multi_view và aspect_ratio không thể được sử dụng đồng thời.
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.
Name
402 - Payment Required
Description
Không đủ tín dụng để thực hiện nhiệm vụ này.
Name
429 - Too Many Requests
Description
Bạn đã vượt quá giới hạn tốc độ của mình.
Yêu cầu
POST
/openapi/v1/image-to-image
# Transform a reference image with a text promptcurlhttps://api.meshy.ai/openapi/v1/image-to-image \-XPOST \-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 examplecurlhttps://api.meshy.ai/openapi/v1/image-to-image \-XPOST \-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}" ] }'
Endpoint này cho phép bạn truy xuất một nhiệm vụ Ảnh sang ảnh với một id nhiệm vụ hợp lệ.
Tham khảo Đối tượng Nhiệm vụ Ảnh sang ảnh để xem
các thuộc tính nào được bao gồm trong đối tượng nhiệm vụ Ảnh sang ảnh.
Tham số
Name
id
Type
path
Description
Định danh duy nhất cho nhiệm vụ Ảnh sang ảnh cần truy xuất.
{"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=***" ]}
[ {"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=***" ] }]
Đối tượng Nhiệm vụ Ảnh sang Ảnh là một đơn vị công việc mà Meshy theo dõi để tạo ra một hình ảnh từ hình ảnh tham chiếu và đầu vào prompt văn bản.
Đố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 nhiệm vụ. Mặc dù chúng tôi sử dụng UUID có thể sắp xếp k cho id nhiệm 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 nhiệm vụ tạo hình ảnh. Đối với các nhiệm vụ Ảnh sang Ảnh, điều này sẽ luôn là image-to-image.
Name
ai_model
Type
string
Description
Mô hình AI được sử dụng cho nhiệm vụ này. Các giá trị có thể là nano-banana, nano-banana-2, nano-banana-pro, hoặc gpt-image-2.
Name
prompt
Type
string
Description
Prompt văn bản được sử dụng để hướng dẫn quá trình chuyển đổi hình ảnh.
Name
status
Type
string
Description
Trạng thái của nhiệm vụ. Các giá trị có thể là một trong PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Tiến độ của nhiệm vụ. Nếu nhiệm vụ chưa bắt đầu, thuộc tính này sẽ là 0. Khi nhiệm vụ đã thành công, điều này sẽ trở thành 100.
Name
created_at
Type
timestamp
Description
Dấu thời gian khi nhiệm vụ được tạo, tính bằng mili giây.
Một dấu thời gian đại diện cho số mili giây đã trôi qua kể từ ngày 1 tháng 1 năm 1970 UTC, 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ả các dấu thời gian trong Meshy API.
Name
started_at
Type
timestamp
Description
Dấu thời gian khi nhiệm vụ bắt đầu, tính bằng mili giây. Nếu nhiệm vụ chưa bắt đầu, thuộc tính này sẽ là 0.
Name
finished_at
Type
timestamp
Description
Dấu thời gian khi nhiệm vụ kết thúc, tính bằng mili giây. Nếu nhiệm vụ chưa kết thúc, thuộc tính này sẽ là 0.
Name
expires_at
Type
timestamp
Description
Dấu thời gian khi kết quả nhiệm vụ hết hạn, tính bằng mili giây.
Name
preceding_tasks
Type
integer
Description
Số lượng nhiệm vụ trước đó.
Giá trị của trường này chỉ có ý nghĩa nếu trạng thái nhiệm vụ là PENDING.
Name
image_urls
Type
array
Description
Một mảng các URL có thể tải xuống của các hình ảnh được tạo ra. Khi generate_multi_view được kích hoạt, mảng này chứa ba URL hình ảnh đại diện cho các góc nhìn khác nhau. Nếu không, nó chứa một URL hình ảnh duy nhất.
Name
task_error
Type
object
Description
Chi tiết lỗi cho các nhiệm vụ thất bại. Xem Lỗi để tham khảo đầy đủ đối tượng task_error.
Name
consumed_credits
Type
integer
Description
Số lượng tín dụng đã tiêu thụ bởi nhiệm vụ này. Có mặt khi trạng thái nhiệm vụ là PENDING, IN_PROGRESS, hoặc SUCCEEDED. Trả về 0 cho các nhiệm vụ FAILED (tín dụng được hoàn lại khi thất bại).
Ví dụ Đối tượng Nhiệm vụ Ảnh sang Ảnh
{"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,"preceding_tasks":0,"image_urls": ["https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/image.png?Expires=***" ],"task_error": {"message":"" },"consumed_credits":3}