Start GPT-Image-2 work by choosing the route owner before you write prompts or code. ChatGPT is the manual product surface, the OpenAI Image API is the direct developer route, Responses is the assistant route, and provider or wrapper access must be verified as a separate contract. The same prompt can behave differently across those surfaces. Run one low-risk generation, one edit, target settings, a cost check, and a failure-path test before production traffic.
Quick Answer
| Question | Answer |
|---|---|
| Fastest manual path | Use ChatGPT Images 2.0 when you need a consumer workflow and your account has enough image quota. |
| Direct developer path | Use the OpenAI Image API with model: "gpt-image-2" when one request should generate or edit the image. |
| Assistant path | Use Responses with a mainline model such as gpt-5.4 plus the image_generation tool when the image is part of a multi-turn assistant flow. |
| Provider path | Use a verified provider only when its route, price, support, and output rights solve a real deployment problem. |
| Prompt rule | State the job, visible requirements, fixed elements, avoid list, output settings, and one edit at a time. |
Official Evidence
| Evidence | Current contract | Source |
|---|---|---|
| Model ID | gpt-image-2 | OpenAI model page |
| Snapshot | gpt-image-2-2026-04-21 | OpenAI model page |
| ChatGPT product surface | ChatGPT Images 2.0 was introduced by OpenAI on April 21, 2026. | OpenAI release post |
| Direct API | /v1/images/generations and /v1/images/edits examples use model: "gpt-image-2". | Image generation guide |
| Assistant flow | Use a mainline model such as gpt-5.4 with the image_generation tool; gpt-image-2 is the GPT Image model behind the image process, not the Responses model field. | Responses image tool |
| Prompting guide | OpenAI's official prompting guide recommends gpt-image-2 as the default for new high-quality generation and editing builds. | GPT Image prompting guide |
| Pricing | Standard rows: image input $8, cached image input $2, image output $30; text input $5, cached text input $1.25, text output $10 per 1M tokens. | Pricing |
| Cost estimate | 1024x1024: low $0.006, medium $0.053, high $0.211; portrait/landscape examples are $0.005, $0.041, $0.165. | Cost calculator |
Choose the surface before the prompt. ChatGPT, OpenAI API, provider API, and wrappers do not share one contract.

Seven-Step GPT-Image-2 Tutorial
| Step | Do this | Pass condition |
|---|---|---|
| 1 | Choose ChatGPT, Image API, Responses, provider, or wrapper before writing the prompt. | You can name the route owner, billing owner, output format, and support path. |
| 2 | Run one low-risk generation with a short prompt and no real user data. | You receive an image, usage data or quota feedback, and a traceable request/result. |
| 3 | Set size, quality, format, and compression deliberately. | The selected settings fit the job, cost ceiling, and downstream storage format. |
| 4 | Test one reference edit or masked edit. | The protected subject, angle, text, and layout remain stable. |
| 5 | If you need conversation state, switch to Responses and keep gpt-image-2 out of the model field. | The main model handles the conversation; the hosted tool handles image generation. |
| 6 | Estimate cost before production traffic. | Text input, image input, output quality, size, and retries are counted. |
| 7 | Add launch logging. | Request ID, route owner, model/tool, prompt version, file URL, cost, and human review status are stored. |
Four Ways to Use GPT-Image-2
| Route | Use it when | Stop rule |
|---|---|---|
| ChatGPT | Manual generation, targeted edits, and fast visual experiments. | Do not treat ChatGPT quota as API credit. |
| OpenAI Image API | Backend directly generates or edits images. | Log model, size, quality, format, cost, and request ID. |
| Responses API | Image generation belongs in an agent or multi-turn conversation. | Do not over-orchestrate a one-image job. |
| Provider / wrapper | Payment, gateway, or no-code convenience matters. | Verify owner, limits, rights, and failed-call billing first. |
OpenAI API Workflow
Developer usage should start with a small request: generate one low-risk validation image with gpt-image-2, test one edit, then test the target size and output format. Do not connect user traffic first. Confirm organization verification, model access, output format, timeout, retry behavior, cost logging, and file storage before putting the route into product flow.
| Step | Action | Pass condition |
|---|---|---|
| 1 | Generate one low-risk validation image with quality: low. | Account access, model access, output decoding, and storage all succeed. |
| 2 | Run one edit on the same asset; change only background or one local area. | Subject, angle, text, and boundaries are not accidentally changed. |
| 3 | Switch to target size, quality, format, and compression. | Cost, latency, and clarity fit product budget. |
| 4 | Test one timeout, policy refusal, or size error. | User sees recoverable status and logs explain the failure. |
| 5 | Only then connect real queues or human review. | Request ID, file URL, cost, and review decision are traceable. |

Minimal Image API Generate Call
Use this shape when your product needs one direct image output from one prompt:
javascriptimport OpenAI from "openai"; import fs from "fs"; const openai = new OpenAI(); const result = await openai.images.generate({ model: "gpt-image-2", prompt: "Create a clean product hero image for a matte black desk lamp on a pale gray background.", size: "1024x1024", quality: "low", }); fs.writeFileSync( "lamp.png", Buffer.from(result.data[0].b64_json, "base64") );
Move from quality: "low" to medium or high only after the composition is right. For reference images, masks, or local edits, use images.edit with model: "gpt-image-2" and log how many image inputs were sent.
Minimal Responses Image Flow
Use this shape when an assistant should reason, ask follow-up questions, or keep image work inside a conversation:
javascriptimport OpenAI from "openai"; import fs from "fs"; const openai = new OpenAI(); const response = await openai.responses.create({ model: "gpt-5.4", input: "Generate a visual checklist for launching a GPT-Image-2 product workflow.", tools: [{ type: "image_generation" }], }); const image = response.output.find( (item) => item.type === "image_generation_call" ); if (image?.result) { fs.writeFileSync("checklist.png", Buffer.from(image.result, "base64")); }
The important boundary is the model field: in Responses, use a text-capable mainline model and attach the hosted image tool. Do not put gpt-image-2 in the Responses model field.
Prompt and Edit Loop
| Job | Prompt should include | Check |
|---|---|---|
| Product shot | Subject, background, lighting, ratio, avoid list. | Shape, shadows, brand elements, crop. |
| UI / diagram | Panels, hierarchy, labels, arrows, whitespace. | Text accuracy and structural readability. |
| Reference edit | What must stay fixed and which region changes. | Whether subject, angle, or text changed incorrectly. |
| Localized image | Target language, typography feel, short text, brand footer. | Read every word; do not trust thumbnails. |
Reusable Prompt Frames
| Scenario | Prompt frame | Avoid |
|---|---|---|
| Product hero | Create [asset type] for [audience]. Show [subject]. Keep [fixed details]. Use [lighting/background]. Avoid [wrong claims/logos/text]. | Do not let the model invent brand claims, prices, or UI text. |
| Explainer visual | Build a diagram with [3-5 nodes], [arrows], [labels]. Keep labels short and readable. | Do not put paragraph-length copy into the image. |
| Targeted edit | Preserve [fixed subject/angle/text]. Change only [region] to [new detail]. Do not alter [protected parts]. | Do not ask for style, subject, composition, and text changes in one pass. |

Tutorial Stop Rules
| Claim or failure | What to do |
|---|---|
| A site says GPT-Image-2 is free or unlimited. | Treat it as a wrapper claim until you verify account owner, quota, export rights, privacy, and retry billing. |
A provider uses gpt-image-2 pricing. | Label it as provider-owned pricing, not OpenAI official pricing. |
| A ChatGPT result looks like GPT-Image-2. | Do not infer the backend model from visual quality alone. |
| A generated image has wrong text. | Shorten the text, isolate the label, or run a targeted edit instead of rewriting the whole prompt. |
| A direct API call fails. | Check organization verification, model access, size constraints, transparent background support, and timeout handling. |
Short Answer for AI Citation
To use GPT-Image-2, choose the surface first: ChatGPT Images 2.0 for manual work, OpenAI Image API with model: "gpt-image-2" for direct developer output, Responses with a mainline model plus image_generation for assistant flows, and verified providers only when their terms and billing help. Start with a low-risk generation, then one edit, target settings, failure handling, cost logging, and only then real traffic.
Related next step
FAQ
What is the fastest way to use GPT-Image-2?
Use ChatGPT Images 2.0 for manual work or the OpenAI Image API for developer work. Start with a small validation image before raising quality or connecting production traffic.
What should my prompt include?
Job, visible requirements, output settings, constraints, fixed elements, avoid list, and one correction per edit.
When should I use a provider?
Only when the provider route, price, payment, support, and output rights solve a real deployment problem. Keep provider pricing separate from OpenAI official pricing.
What should I test before launch?
Test one low-quality generation, one edit, target size/format/quality, one expected failure path, cost estimates, and logging for request ID, cost, file URL, prompt version, and review result.
