Hướng Dẫn Sử Dụng API gpt-image-2

Ashley Innocent

Ashley Innocent

22 tháng 4 2026

Hướng Dẫn Sử Dụng API gpt-image-2

Apidog cho doanh nghiệp

Triển khai tại chỗ

SSO & RBAC

Tuân thủ SOC 2

Đặt lịch demo

API gpt-image-2 là điểm cuối tạo hình ảnh mới của OpenAI, được ra mắt cùng với ChatGPT Images 2.0 vào ngày 21 tháng 4 năm 2026. Nếu bạn đã gọi API trò chuyện hoặc nhúng của OpenAI, việc thêm chức năng tạo hình ảnh chỉ cần một cấu trúc yêu cầu mới, một khóa API với phạm vi phù hợp và khoảng mười phút.

Hướng dẫn này chỉ tập trung vào API: xác thực, tham số yêu cầu, ví dụ mã bằng ba ngôn ngữ, chế độ tư duy, tạo hàng loạt, xử lý phản hồi, mã lỗi, giới hạn tốc độ và quy trình kiểm thử giúp bạn không lãng phí tín dụng vào các lời nhắc bị lỗi. Để có cái nhìn tổng quan cấp độ sản phẩm về những điểm mới trong ChatGPT Images 2.0, hãy xem bài viết phân tích ChatGPT Images 2.0 của chúng tôi.

Đến cuối cùng, bạn sẽ có các lệnh gọi hoạt động, một bộ sưu tập Apidog có thể tái sử dụng để lặp lại và một bức tranh rõ ràng về chi phí của từng tham số.

nút

Điều kiện tiên quyết

Trước yêu cầu đầu tiên, bạn cần bốn điều:

Đặt khóa một lần trong shell của bạn để mọi ví dụ trong hướng dẫn này chạy mà không cần chỉnh sửa:

export OPENAI_API_KEY="sk-proj-..."

Điểm cuối và xác thực

gpt-image-2 sử dụng cùng một điểm cuối tạo hình ảnh như mô hình trước:

POST https://api.openai.com/v1/images/generations

Xác thực là một bearer token trong tiêu đề Authorization. Mọi yêu cầu cũng mang một body JSON với ID mô hình, lời nhắc và các tham số đầu ra.

curl https://api.openai.com/v1/images/generations \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "Một hình ảnh anh hùng sản phẩm sắc nét cho nền tảng kiểm thử API, nền tối",
    "size": "1024x1024",
    "n": 1,
    "quality": "high"
  }'

Nếu lệnh gọi thành công, bạn sẽ nhận được một đối tượng JSON với một mảng data chứa các hình ảnh. Các lỗi sẽ trả về một envelope lỗi OpenAI tiêu chuẩn với một code và một message dễ đọc; bảng lỗi ở phần sau của hướng dẫn này sẽ đề cập đến những lỗi phổ biến.

Tham số yêu cầu

Mọi trường trong body yêu cầu đều thay đổi chi phí bạn phải trả và những gì bạn nhận được. Đây là bản đồ tham số hoàn chỉnh cho gpt-image-2.

Tham số Loại Giá trị Lưu ý
model string gpt-image-2 Bắt buộc.
prompt string Tối đa 32.000 ký tự Bắt buộc. Lời nhắc dài hơn sẽ tiêu tốn nhiều token đầu vào hơn.
size string 1024x1024, 1024x1536, 1536x1024, 2000x1000, 1000x2000, 2000x667, 667x2000 Ảnh hưởng đến số lượng token đầu ra.
quality string standard, high high có chi phí khoảng gấp đôi nhưng xử lý tốt văn bản và các yếu tố UI.
n integer 1–10 Các yêu cầu theo lô chia sẻ phong cách trên toàn bộ tập hợp.
thinking string off, low, medium, high Ngân sách suy luận trước khi kết xuất.
response_format string url, b64_json URL hết hạn sau một giờ.
user string Tự do Được sử dụng để phát hiện lạm dụng; truyền ID người dùng đã được hash.
background string auto, transparent, opaque Đầu ra trong suốt xuất dưới dạng PNG có kênh alpha.
seed integer Bất kỳ số nguyên 32-bit nào Kiểm soát lỏng lẻo; cùng một seed cộng cùng một lời nhắc sẽ cho kết quả gần giống, không hoàn toàn giống.

Ba tham số thay đổi chi phí nhiều nhất là size, qualitythinking. Một hình ảnh chất lượng high rộng 2000px với thinking: "high" có thể tốn gấp 4–5 lần so với một hình ảnh 1024x1024 chất lượng standard cơ bản.

Ví dụ Python

SDK chính thức (openai>=1.50.0) bổ sung hỗ trợ gốc cho gpt-image-2:

import base64
from pathlib import Path
from openai import OpenAI

client = OpenAI()

response = client.images.generate(
    model="gpt-image-2",
    prompt=(
        "Một sơ đồ tối giản về quy trình mã ủy quyền OAuth 2.1 với PKCE. "
        "Năm hộp được dán nhãn bằng tiếng Anh: Người dùng, Client, Máy chủ xác thực, Máy chủ tài nguyên, Token. "
        "Văn bản sans-serif sắc nét, nền trắng nhạt, mũi tên màu xanh ngọc."
    ),
    size="1536x1024",
    quality="high",
    n=2,
    thinking="medium",
    response_format="b64_json",
)

out_dir = Path("out")
out_dir.mkdir(exist_ok=True)

for i, image in enumerate(response.data):
    png_bytes = base64.b64decode(image.b64_json)
    (out_dir / f"oauth_{i}.png").write_bytes(png_bytes)

print(f"Đã tạo {len(response.data)} hình ảnh vào {out_dir.resolve()}")

Hai điều đáng lưu ý:

Ví dụ Node.js / TypeScript

import fs from "node:fs/promises";
import OpenAI from "openai";

const client = new OpenAI();

const response = await client.images.generate({
  model: "gpt-image-2",
  prompt:
    "Mô phỏng giao diện người dùng Dashboard cho một client REST, nhãn viết hoa chữ cái đầu câu, đồ thị tia lửa độ trễ ở góc trên bên phải, bảng màu xám lạnh.",
  size: "1536x1024",
  quality: "high",
  n: 4,
  thinking: "medium",
  response_format: "b64_json",
});

await Promise.all(
  response.data.map(async (image, i) => {
    if (!image.b64_json) return;
    await fs.writeFile(`dash_${i}.png`, Buffer.from(image.b64_json, "base64"));
  }),
);

console.log(`Đã lưu ${response.data.length} hình ảnh`);

Hãy sử dụng SDK chính thức thay vì fetch thô trừ khi bạn có lý do để không. SDK xử lý việc thử lại, tiêu đề idempotency và streaming, đồng thời theo dõi các thay đổi lược đồ đột phá giữa các phiên bản mô hình.

Chế độ tư duy: khi nào nên sử dụng

thinking kiểm soát lượng tính toán mà mô hình dành để lập kế hoạch bố cục trước khi kết xuất. Bốn giá trị, đại khái là:

Một quy tắc thực tế: nếu lời nhắc chứa một số, một nhãn hoặc một ràng buộc vị trí, hãy tăng lên một cấp. Nếu nó chỉ nói “một cảnh ấm cúng”, hãy giảm xuống một cấp.

Chế độ tư duy thêm các token suy luận vào hóa đơn ngoài các token đầu ra hình ảnh. Trang giá của OpenAI liệt kê mức giá hiện tại cho mỗi token; hãy dự trù thêm 1,2–2 lần chi phí hình ảnh cơ bản khi bật medium hoặc high.

Tạo hàng loạt

Đặt n > 1 trả về nhiều hình ảnh trong một phản hồi duy nhất chia sẻ bố cục và phong cách. Điều này không giống như gọi điểm cuối n lần song song; điều đó sẽ cho bạn bốn hình ảnh không liên quan. Đầu ra theo lô là nhất quán, phù hợp với cách một nhóm thiết kế lặp lại.

response = client.images.generate(
    model="gpt-image-2",
    prompt="Bốn minh họa hero khác nhau cho một trang đích tài liệu API, bảng màu chung, độ dày đường nét chung.",
    size="1536x1024",
    quality="high",
    n=4,
    thinking="low",
)

Bạn trả tiền cho mỗi hình ảnh, vì vậy n=4 có giá khoảng 4 lần n=1. Lợi ích là sự nhất quán, không phải thông lượng.

Định dạng phản hồi và lưu trữ

Hai định dạng, hai trường hợp sử dụng:

Đối với môi trường sản xuất, hãy tải xuống URL và đẩy nó lên S3, R2 hoặc thùng Cloudflare Images của riêng bạn ngay lập tức. Đừng gửi URL của OpenAI cho người dùng cuối; chúng sẽ hết hạn.

Xử lý lỗi và giới hạn tốc độ

gpt-image-2 trả về các dạng lỗi OpenAI tiêu chuẩn. Đây là những lỗi bạn sẽ gặp phải:

HTTP code Nguyên nhân Khắc phục
400 invalid_request_error Kích thước không đúng, tỷ lệ không được hỗ trợ, lời nhắc dài hơn 32k ký tự Kiểm tra danh sách kích thước và cắt ngắn lời nhắc.
401 invalid_api_key Thiếu hoặc sai khóa Xuất lại OPENAI_API_KEY.
403 insufficient_quota Không đủ tín dụng, hoặc cấp độ Miễn phí Thêm thanh toán, xác minh cấp độ.
429 rate_limit_exceeded Quá nhiều yêu cầu mỗi phút Dừng lại một chút với độ trễ ngẫu nhiên; thử lại với Retry-After.
429 image_generation_user_error Từ chối do chính sách nội dung Viết lại lời nhắc.
500 server_error Sự cố tạm thời của OpenAI Thử lại hai lần với độ trễ lũy thừa.
503 overloaded Tăng đột biến trên toàn khu vực Đợi và thử lại.

Giới hạn tốc độ trên gpt-image-2 dựa trên cấp độ. Ở Cấp 1, bạn bắt đầu với khoảng 50 yêu cầu mỗi phút; các cấp cao hơn sẽ tăng lên. Luôn đọc các tiêu đề x-ratelimit-remaining-requestsx-ratelimit-remaining-tokens trên mỗi phản hồi và điều tiết trước khi bạn đạt giới hạn.

Các lỗi có thể thử lại trong môi trường sản xuất:

import time
from openai import OpenAI, RateLimitError, APIStatusError

client = OpenAI()

def generate_with_retry(prompt: str, tries: int = 3):
    delay = 1.0
    for attempt in range(tries):
        try:
            return client.images.generate(
                model="gpt-image-2",
                prompt=prompt,
                size="1024x1024",
                quality="high",
                n=1,
            )
        except RateLimitError:
            time.sleep(delay)
            delay *= 2
        except APIStatusError as e:
            if 500 <= e.status_code < 600 and attempt < tries - 1:
                time.sleep(delay)
                delay *= 2
                continue
            raise
    raise RuntimeError("gpt-image-2 retries exhausted")

Không thử lại lỗi 400, 401 hoặc lỗi 429 liên quan đến chính sách nội dung; những lỗi đó xảy ra có lý do và việc thử lại sẽ lãng phí tín dụng.

Kiểm thử API với Apidog

Việc lặp lại các lời nhắc tạo hình ảnh từ terminal rất chậm: bạn không thể xem kết quả, không thể so sánh các thay đổi tham số và không thể quản lý phiên bản các lời nhắc tốt. Một ứng dụng khách API được xây dựng riêng giải quyết cả ba vấn đề.

Apidog xử lý điểm cuối gpt-image-2 như một yêu cầu hạng nhất. Quy trình làm việc điển hình:

  1. Tạo một yêu cầu mới trong bộ sưu tập OpenAI của bạn, phương thức POST, URL https://api.openai.com/v1/images/generations.
  2. Thêm Authorization: Bearer {{OPENAI_API_KEY}} làm tiêu đề; đặt OPENAI_API_KEY trong biến môi trường để nó không bao giờ nằm trong mã nguồn.
  3. Dán body JSON với lời nhắc của bạn; Apidog xác thực dựa trên đặc tả OpenAPI và hiển thị các lỗi khớp kiểu trước khi bạn gửi.
  4. Nhấn Gửi. Các phản hồi hình ảnh hiển thị trực tiếp; lưu những cái tốt, gắn thẻ những cái xấu, phân nhánh yêu cầu cho các biến thể.
  5. Lưu các môi trường cho thinking: off, thinking: mediumthinking: high để so sánh cùng một lời nhắc trên các cấp độ suy luận khác nhau.

Chức năng so sánh yêu cầu của Apidog là phần quan trọng nhất ở đây. Bạn điều chỉnh một tham số; bạn thấy hình ảnh trước và sau cạnh nhau; bạn lưu kết quả tốt nhất vào một thư viện lời nhắc mà cả nhóm của bạn cùng chia sẻ. Đây là quy trình làm việc mà terminal không thể cung cấp cho bạn.

Nếu bạn đến từ một ứng dụng khách HTTP chung hoặc một không gian làm việc Postman bị lỗi, hãy Tải xuống Apidog và trỏ nó vào khóa OpenAI của bạn; thiết lập mất chưa đến năm phút. Các nhóm đang đánh giá các lựa chọn thay thế cũng có thể đọc hướng dẫn kiểm thử API không dùng Postman của chúng tôi và tổng quan về tiện ích mở rộng Apidog VS Code.

Những sai lầm thường gặp

Một vài sai lầm có thể làm lãng phí tín dụng và thời gian trong tuần đầu tiên sử dụng gpt-image-2.

Câu hỏi thường gặp

gpt-image-2 khác với gpt-image-1 ở cấp độ API như thế nào?Cùng điểm cuối, cùng xác thực. Các tham số mới: thinking (off/low/medium/high), các giá trị size bổ sung lên đến 2000px, và n lên đến 10 với phong cách chung. Các tích hợp SDK hiện có vẫn hoạt động sau khi thay đổi ID mô hình; bạn chỉ thêm các tham số mới khi chúng hữu ích. Để biết sự khác biệt đầy đủ, hãy xem tổng quan về ChatGPT Images 2.0.

Cách nhanh nhất để tạo nguyên mẫu tích hợp gpt-image-2 là gì?Tạo một yêu cầu trong Apidog, lưu hai môi trường (tiêu chuẩn so với tư duy), và lặp lại các lời nhắc mà không cần chạm vào mã. Xuất yêu cầu cuối cùng dưới dạng curl hoặc mã SDK khi bạn sẵn sàng thực hiện.

API có hỗ trợ chỉnh sửa hình ảnh hoặc inpainting không?Các điểm cuối chỉnh sửa và biến thể tuân theo cùng một mẫu như thế hệ trước dưới ID mô hình mới. Kiểm tra tài liệu tham khảo mô hình gpt-image-2 để biết lược đồ mới nhất; các tham số cho mặt nạ và hình ảnh đầu vào được ghi lại ở đó.

Tôi có thể sử dụng gpt-image-2 cho đầu ra thương mại không?Có, theo chính sách sử dụng tiêu chuẩn của OpenAI. Bạn sở hữu các hình ảnh được tạo; OpenAI giữ quyền sử dụng đầu vào và đầu ra để giám sát lạm dụng. Các ký tự có thương hiệu và nhân vật công chúng có tên vẫn kích hoạt các hàng rào bảo vệ.

Chi phí cho một khối lượng công việc sản xuất thì sao?Với khoảng 0,21 đô la cho mỗi hình ảnh chất lượng cao 1024x1024 ở chế độ tiêu chuẩn, 10.000 hình ảnh mỗi tháng có chi phí khoảng 2.100 đô la mà không cần chế độ tư duy. Thêm 20–80% cho chế độ tư duy. So sánh điều này với các lựa chọn thay thế tự lưu trữ như hướng dẫn API GLM 5V Turbotích hợp Qwen 3.5 Omni của chúng tôi nếu ngân sách quan trọng hơn chất lượng đỉnh cao.

Có lựa chọn thay thế rẻ hơn với khả năng hiển thị văn bản tương tự không?Chưa có ở cùng chất lượng cho văn bản đa ngôn ngữ. Các mô hình mã nguồn mở đã thu hẹp khoảng cách về bố cục nhưng vẫn còn thua kém về các chữ viết CJK và Indic.

nút

Thực hành thiết kế API trong Apidog

Khám phá cách dễ dàng hơn để xây dựng và sử dụng API