Hướng dẫn
API tạo hình ảnh
Tham số yêu cầu tạo hình ảnh, giới hạn kích thước và quy chuẩn phản hồi
API tạo hình ảnh
Quy ước chung (địa chỉ cơ sở, xác thực, cấu trúc phản hồi, giới hạn tần suất) xem Xác thực và quy chuẩn cơ bản.
Tạo hình ảnh
/v1/images/generationsPhương thức xác thực
Authorization: Bearer <API_KEY>, dùng khóa API nền tảng được tạo tại trang "Khóa API" trong bảng điều khiển.
Phần thân yêu cầu · application/json
Prop
Type
Các mô hình hình ảnh có giới hạn về kích thước, số lượng, định dạng trả về khác nhau, trước tiên hãy xác nhận bằng /v1/models, và lấy lỗi kiểm tra tham số trả về từ API làm chuẩn.
Ví dụ yêu cầu
Trước tiên dùng /v1/models xác nhận ID mô hình hình ảnh khả dụng của Key hiện tại, rồi đổi model thành nó.
size phải nằm trong các mức mà mô hình đó hỗ trợ — số pixel tối thiểu giữa các mô hình khác nhau rất lớn,
điền sai sẽ trả về lỗi tham số trực tiếp, chứ không bị hạ cấp âm thầm.
Phản hồi có thể ở dạng địa chỉ, cũng có thể ở dạng Base64, tùy vào mô hình và kênh.
Yêu cầu
curl -X POST "https://locopalai.com/v1/images/generations" \
-H "Authorization: Bearer $LOCOPAL_API_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'JSON'
{
"model": "从 /v1/models 选择的图片模型 ID",
"prompt": "白色桌面上的一个红苹果,柔和自然光,产品摄影",
"size": "当前模型支持的尺寸",
"n": 1
}
JSONTham số phản hồi
| Tham số | Kiểu | Mô tả |
|---|---|---|
created | integer | Thời gian tạo (giây Unix) |
model | string | Một số mô hình trả về ID mô hình thực tế đã thực thi |
data | array | Danh sách kết quả tạo |
data[].url | string | Địa chỉ hình ảnh; tồn tại khi trả về dạng URL, có thể là địa chỉ ký tạm thời |
data[].b64_json | string | Dữ liệu hình ảnh Base64; tồn tại khi trả về dạng Base64 |
data[].size | string | Một số mô hình trả về kích thước thực tế đã tạo |
size | string | Cấp cao nhất trả về kích thước thực tế đã tạo, ví dụ 1024x1024, 1376x768 |
quality | string | Cấp cao nhất trả về mức chất lượng thực tế, ví dụ auto, low |
output_format | string | Cấp cao nhất trả về định dạng đầu ra thực tế, ví dụ png |
background | string | Cấp cao nhất trả về cách xử lý nền, ví dụ auto, opaque |
moderation | string | Cấp cao nhất trả về mức kiểm duyệt nội dung, một số mô hình trả về |
usage | object | Lượng dùng hình ảnh; tạo ảnh từ ảnh sẽ thống kê thêm token hình ảnh đầu vào |
Một yêu cầu có thể chỉ trả về url hoặc chỉ trả về b64_json, tùy mô hình và kênh; hãy lấy trường thực tế trả về làm chuẩn, khi cả hai đều tồn tại ưu tiên dùng url.
Phần thân phản hồi
Trả về địa chỉ (dạng url):
{
"created": 1789567052,
"data": [
{
"size": "2048x2048",
"url": "https://media.example.com/image-public-id.jpeg"
}
],
"model": "Doubao-Seedream-4.5"
}Trả về Base64 (dạng b64_json, trích đoạn):
{
"background": "auto",
"created": 1789071752,
"data": [
{ "b64_json": "iVBORw0KGgoAAAANSUhEUgAABAAAAAQACAIAAADwf7zU..." }
]
}Địa chỉ trả về ở dạng url có thể là địa chỉ ký tạm thời, vui lòng chuyển lưu hoặc ghi nhận kịp thời; dạng b64_json vui lòng tự giải mã và lưu trữ cẩn thận. Đừng giả định mọi mô hình hình ảnh đều chấp nhận response_format hoặc cùng kích thước. Thực tế gpt-image-1-mini sẽ từ chối response_format, Doubao-Seedream-4.5 hiện yêu cầu hình ảnh tối thiểu 3686400 pixel, 2048x2048 được tiếp nhận còn 1024x1024 sẽ trả về lỗi tham số.
Phản hồi lỗi
{
"error": {
"message": "当前图片模型不支持请求的尺寸",
"type": "invalid_request_error",
"code": "invalid_parameter",
"param": "size"
}
}| HTTP | Phản hồi / Nguyên nhân | Xử lý |
|---|---|---|
400 | Model name not specified, model name cannot be empty | Phần thân yêu cầu thiếu model |
400 | invalid_parameter (param=size) | Đổi sang kích thước mô hình hiện tại hỗ trợ |
400 | unknown_parameter (param=response_format) | Xóa trường đó, dùng định dạng trả về mặc định của mô hình |
400 | InvalidParameter / upstream_error | Mô hình thượng nguồn từ chối kích thước, số pixel hoặc tham số khác, điều chỉnh theo message |
400 | invalid_parameter (param=n) | Đổi thành n=1 |
400 | image is required (code=convert_request_failed) | Yêu cầu tạo ảnh từ ảnh không mang theo ảnh tham chiếu, bổ sung image theo ví dụ bên dưới |
400 | n must be an integer between 1 and 128 (code=invalid_request) | n vượt phạm vi, đổi thành 1–128 |
429 | credit_balance_exhausted / insufficient_quota | Kênh hiện tại không đủ số dư, đổi sang kênh khả dụng khác hoặc liên hệ hỗ trợ nền tảng |
401 | Invalid token | Khóa API thiếu, sai hoặc đã hết hiệu lực |
500 | {"error":{"code":"convert_request_failed","message":"not supported model for image generation, only imagen models are supported"}} | Mô hình hiện tại không hỗ trợ API tạo hình ảnh, đổi sang mô hình hình ảnh hỗ trợ API đó |
503 | model_not_found / No available channel | Nhóm hiện tại không có kênh khả dụng cho mô hình đó, đổi sang mô hình cùng loại |
Giải thích đầy đủ xem Mã lỗi và khắc phục.
Tạo ảnh từ ảnh (chỉnh sửa hình ảnh)
/v1/images/editsTạo hình ảnh mới dựa trên hình ảnh có sẵn: tải lên một hoặc nhiều ảnh tham chiếu, mô hình theo prompt viết lại khung hình, thay đổi phong cách hoặc vẽ lại cục bộ.
Phần thân yêu cầu · multipart/form-data
Prop
Type
Yêu cầu phải mang theo ảnh tham chiếu, khi thiếu API trả về lỗi tham số trực tiếp, không đi vào mô hình.
Ví dụ yêu cầu
Tạo ảnh từ ảnh dùng multipart/form-data, dùng -F gửi từng trường, đừng dùng -d.
Ảnh tham chiếu được tải lên qua image=@文件路径.
Khi cần nhiều ảnh tham chiếu, viết trường thành dạng mảng image[] và lặp lại.
Ở đây không có phần thân yêu cầu JSON, Content-Type do curl -F tự động đặt, đừng viết tay.
Tạo ảnh từ ảnh
curl -X POST "https://locopalai.com/v1/images/edits" \
-H "Authorization: Bearer $LOCOPAL_API_KEY" \
-F "model=从 /v1/models 选择的图片模型 ID" \
-F "prompt=把这张照片改成柔和的水彩画风格" \
-F "size=1024x1024" \
-F "image=@./reference.png"Khi có nhiều ảnh tham chiếu hãy lặp lại trường đó:
-F "image[]=@./reference-a.png" \
-F "image[]=@./reference-b.png"Phần thân phản hồi
Cùng cấu trúc với Tạo hình ảnh, hình ảnh trả về dưới dạng b64_json hoặc url:
{
"background": "opaque",
"created": 1789651524,
"data": [
{ "b64_json": "iVBORw0KGgoAAAANSUhEUgAABAAAAAQACAIAAADwf7zU..." }
],
"output_format": "png",
"quality": "low",
"size": "1024x1024",
"usage": {
"input_tokens": 1041,
"input_tokens_details": { "image_tokens": 1032, "text_tokens": 9 },
"output_tokens": 439,
"total_tokens": 1480
}
}usage.input_tokens_details.image_tokens phản ánh mức tiêu hao của ảnh tham chiếu: ảnh tham chiếu càng nhiều hoặc kích thước càng lớn, token đầu vào càng cao.
Truyền ảnh tham chiếu bằng địa chỉ công khai
Mô hình hỗ trợ đầu vào ảnh tham chiếu cũng có thể truyền bằng images trong phần thân yêu cầu JSON của POST /v1/images/generations, phần tử là địa chỉ hình ảnh https:// công khai:
curl -X POST "https://locopalai.com/v1/images/generations" \
-H "Authorization: Bearer $LOCOPAL_API_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'JSON'
{
"model": "从 /v1/models 选择的图片模型 ID",
"prompt": "把这张照片改成柔和的水彩画风格",
"images": ["https://example.com/reference.png"]
}
JSONẢnh tham chiếu phải có thể được máy chủ tải trực tiếp; khi địa chỉ hết hiệu lực hoặc cần đăng nhập, yêu cầu sẽ kết thúc bằng lỗi tải xuống từ thượng nguồn. Cấu trúc phản hồi giống với Tạo hình ảnh.
Mối quan hệ với thư viện tư liệu
Tạo hình ảnh sẽ không tự động vào thư viện tư liệu. Nếu tác vụ video sau đó muốn dùng hình ảnh làm ảnh tham chiếu, trước tiên hãy dùng API thư viện tư liệu để đưa vào thư viện và poll đến Active, rồi mới tham chiếu bằng asset://<asset_id>.
