AI Image Generate
API AI Image Generate¶
Tạo ảnh chạy bất đồng bộ:
POST /v1/images/generations→ nhậnid, credit bị giữ chứ chưa trừ- Chờ (thường 30 giây – 1 phút)
GET /v1/images/jobs/{id}cho tới khistatuslàcompletedhoặcfailedcompleted→ link ảnh ởdata[].url.failed→ credit được hoàn tự động
Địa chỉ và xác thực¶
https://revidapi.com/v1
Authorization: Bearer sk_...
Hoặc X-API-Key: sk_.... Lấy khoá ở revidapi.com/dashboard.
Bảng model¶
curl https://revidapi.com/v1/models \
-H "Authorization: Bearer sk_..."
Lọc các mục có "kind": "image". Một số tên đang bán:
| Model | Ghi chú |
|---|---|
gpt-image-2 |
Rẻ nhất |
gpt-image-2-super, gpt-image-2-4k |
Cùng model, bậc kích thước cao hơn |
grok-imagine-image, grok-imagine-image-quality |
Grok Imagine |
nano-banana, nano-banana-pro |
Nano Banana |
seedream-4.5, seedream-5-lite, seedream-5-pro |
Seedream |
flux-2-pro |
Flux 2 Pro |
gemini-3-pro-image, gemini-3.1-flash-image |
Gemini Image |
imagen-4-ultra |
Imagen 4 Ultra |
1) Tạo job ảnh¶
- Method:
POST - URL:
https://revidapi.com/v1/images/generations - Content-Type:
application/json
| Tên | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
model |
string | Có | Lấy từ GET /v1/models |
prompt |
string | Có | Mô tả ảnh |
aspect_ratio |
string | Không | 1:1, 4:3, 16:9, 9:16 |
size |
string | Tuỳ model | Bậc kích thước 1k/2k/3k/4k với nhóm Nano Banana, Seedream, Flux, Kling Image — bắt buộc, thiếu thì trả 400 kèm danh sách bậc. Nhóm GPT Image / Grok Imagine nhận dạng RỘNGxCAO, ví dụ 2048x2048 |
reference_images |
mảng | Không | Ảnh tham chiếu (image-to-image). Cũng nhận img_url / image_urls |
output_format |
string | Không | png, jpeg, webp |
transparent_output |
bool | Không | Nền trong suốt, model nào hỗ trợ |
nkhông dùng được: nguồn luôn trả đúng một ảnh cho một lượt tính tiền, nên cổng không nhận tham số này.
Hai kiểu trả về¶
Cổng có hai nhóm model ảnh, khác nhau ở cách trả kết quả:
- Trả ngay (Nano Banana, Seedream, Flux, Kling Image): phản hồi đã có
data[].url, không cần hỏi lại. - Trả job (GPT Image, Grok Imagine): phản hồi có
id+poll, phải hỏiGET /v1/images/jobs/{id}.
Viết code đọc cả hai: có data thì dùng luôn, không thì lấy id rồi hỏi.
Curl mẫu¶
curl -X POST https://revidapi.com/v1/images/generations \
-H "Authorization: Bearer sk_..." \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "một quả táo đỏ trên bàn gỗ, ảnh sản phẩm",
"aspect_ratio": "1:1"
}'
Ảnh → ảnh¶
import requests
r = requests.post(
"https://revidapi.com/v1/images/generations",
headers={"Authorization": "Bearer sk_..."},
json={
"model": "nano-banana-pro",
"prompt": "đổi nền thành phòng studio tối",
"reference_images": ["https://example.com/san-pham.jpg"],
"aspect_ratio": "16:9",
},
)
print(r.json())
Kết quả trả về¶
{
"id": "img_xCOC2TseCCwDpyR-eqM7evGT",
"object": "image.job",
"status": "queued",
"model": "gpt-image-2",
"poll": "/v1/images/jobs/img_xCOC2TseCCwDpyR-eqM7evGT",
"credits_reserved": 16
}
2) Hỏi trạng thái job¶
- Method:
GET - URL:
https://revidapi.com/v1/images/jobs/{id}
curl https://revidapi.com/v1/images/jobs/img_xCOC2TseCCwDpyR-eqM7evGT \
-H "Authorization: Bearer sk_..."
Xong:
{
"id": "img_...",
"object": "image.job",
"status": "completed",
"model": "gpt-image-2",
"waited": 45.1,
"data": [{ "url": "https://edit.revidapi.com/media/anh/....png" }],
"usage": { "credits_charged": 16, "credits_remaining": 352264, "seconds": 33.1 }
}
Hỏng thì status là failed và credit đã hoàn.
Mã lỗi¶
| Mã | Ý nghĩa | Cách xử lý |
|---|---|---|
400 |
Thiếu model/prompt, hoặc aspect_ratio/size không hợp lệ |
Đọc message |
401 |
Khoá sai hoặc thiếu | Kiểm header Authorization |
402 |
Không đủ credit | Nạp ở revidapi.com/dashboard/usage |
404 |
Không bán model đó | Xem GET /v1/models |
429 |
Quá số ảnh chạy song song của gói | Chờ lượt đang chạy xong |