Skip to main content
Flatkey cung cấp hai họ API hình ảnh. Sử dụng các endpoint tương thích OpenAI /v1/images/generations/v1/images/edits cho gpt-image-2. Sử dụng endpoint generateContent của Gemini gốc cho các mô hình hình ảnh Gemini.
Bạn không thể gọi các mô hình hình ảnh Gemini bằng OpenAI Images SDK, /v1/images/generations, hoặc /v1/images/edits. Hãy sử dụng các ví dụ API Gemini gốc trên trang này. Nếu không, yêu cầu có thể trả về get_channel_failed.

Các mô hình hình ảnh được hỗ trợ

Xem Danh mục Mô hình để có danh sách mô hình đầy đủ và giá hiện tại.

Sử dụng gpt-image-2

Sử dụng OpenAI SDK

Tạo hình ảnh bằng curl

Endpoint này trả về hình ảnh đã tạo trong data[0].b64_json; gpt-image-2 không cung cấp URL hình ảnh được lưu trữ. Xem tài liệu tham khảo Images API để biết tất cả các trường.

Chỉnh sửa hình ảnh bằng curl

Sử dụng /v1/images/edits để tải lên hình ảnh đầu vào cùng với hướng dẫn chỉnh sửa. Endpoint này sử dụng multipart/form-data; image là bắt buộc và mask là tùy chọn.
image hỗ trợ PNG, JPEG và WebP. Bỏ qua mask để chỉnh sửa toàn bộ hình ảnh dựa trên prompt. Khi cung cấp mask, các vùng trong suốt của nó xác định các khu vực cần vẽ lại. Hình ảnh đã chỉnh sửa được trả về trong data[0].b64_json. Xem tài liệu tham khảo API chỉnh sửa để biết tất cả các trường.

Sử dụng các mô hình hình ảnh Gemini

Các mô hình hình ảnh Gemini sử dụng endpoint sau. Thay thế {model} bằng ID mô hình:
Yêu cầu phải bao gồm "IMAGE" trong generationConfig.responseModalities. Hình ảnh đã tạo được trả về trong candidates[].content.parts[].inlineData.

Sử dụng curl

Sử dụng Python và lưu hình ảnh

Cài đặt một HTTP client:

Sử dụng Node.js và lưu hình ảnh

Các trường yêu cầu Gemini

array
bắt buộc
Nội dung hội thoại. Để tạo hình ảnh từ văn bản, đặt mô tả hình ảnh vào parts[].text.
array
bắt buộc
Các phương thức phản hồi. Sử dụng ["TEXT", "IMAGE"] cho văn bản và hình ảnh, hoặc ["IMAGE"] để chỉ yêu cầu hình ảnh.
string
bắt buộc
ID mô hình xuất hiện trong đường dẫn URL, không phải trong phần thân yêu cầu. Ví dụ: gemini-3-pro-image.

Định dạng phản hồi Gemini

inlineData.data chứa hình ảnh được mã hóa base64. Một phản hồi có thể chứa văn bản và nhiều phần hình ảnh. Hãy lặp qua parts thay vì giả định rằng hình ảnh luôn là mục đầu tiên.

Xử lý sự cố

API trả về get_channel_failed

Đảm bảo endpoint khớp với mô hình:
  • Sử dụng /v1/images/generations để tạo với gpt-image-2.
  • Sử dụng /v1/images/edits để chỉnh sửa với gpt-image-2.
  • Sử dụng /v1beta/models/{model}:generateContent cho các mô hình hình ảnh Gemini.

Phản hồi Gemini không chứa hình ảnh

Đảm bảo generationConfig.responseModalities chứa "IMAGE". Ngoài ra, hãy kiểm tra phản hồi để tìm lỗi hoặc khối chặn an toàn.

Viết prompt hiệu quả

  • Chỉ định phong cách: thực tế như ảnh chụp, tranh sơn dầu, màu nước, mô hình 3D
  • Bao gồm chi tiết ánh sáng: giờ vàng, ánh sáng studio, bóng đổ kịch tính
  • Chỉ định bố cục: cận cảnh, góc rộng, góc nhìn từ trên cao, hướng dọc
  • Thêm bộ điều chỉnh chất lượng: chi tiết cao, 4K, nhiếp ảnh chuyên nghiệp