Bỏ qua

AI Image Generate

API AI Image Generate

Tạo ảnh chạy bất đồng bộ:

  1. POST /v1/images/generations → nhận id, credit bị giữ chứ chưa trừ
  2. Chờ (thường 30 giây – 1 phút)
  3. GET /v1/images/jobs/{id} cho tới khi status là completed hoặc failed
  4. completed → 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ợ

n khô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ỏi GET /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