GPT Image 2.5 complex prompts take up to 2 minutes: use a webhook
OpenAI says complex GPT Image prompts may take up to 2 minutes. Sume waits 30 seconds, then returns a job. Send mode webhook and read the result from the job.

OpenAI's image guide says complex GPT Image prompts may take up to 2 minutes to process. Sume's POST /v1/images blocks for at most 30 seconds, so a slow request returns 202 with a job instead of an image. For prompts you expect to be slow, send mode: "webhook" with a public HTTPS webhook_url, store the job id, and read the result when the job finishes.
Two clocks
The OpenAI image generation guide says complex prompts may take up to 2 minutes. Sume's Image API docs say a blocking request waits up to 30 seconds and returns 200 with the image if it finishes, or 202 with the standard job envelope if it does not. They also name 4K, high quality and large n as the settings most likely to degrade to 202.
| Source | Statement |
|---|---|
| OpenAI image guide | Complex prompts may take up to 2 minutes to process. |
| Sume Image API | Blocking wait up to 30 seconds by default. |
| Sume Image API | Over budget, or mode async or webhook: 202 with a job envelope. |
| Sume Image API | Read the images from the standard job result endpoint. |
Submit with a webhook
The webhook URL must be public HTTPS. Sume rejects localhost and private-network URLs. The request returns right away with a job id, a status_url and a result_url.
curl -X POST "https://api.sume.com/v1/images" \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-image-2.5",
"quality": "max",
"image_size": "2048x2048",
"mode": "webhook",
"webhook_url": "https://example.com/hooks/sume",
"prompt": "A dense city map poster with 12 labelled districts, each label quoted and used once. No other text."
}'Handle the terminal event
When the job reaches a terminal state Sume POSTs to your URL. If webhook signing is configured, the deliveries carry x-sume-webhook-timestamp and x-sume-webhook-signature headers, and the Webhooks docs give the verification steps and the dashboard place to read the signing secret. Verify the signature before you trust the body, and never accept a payload when your secret is empty.
The terminal event tells you the job finished. Fetch the images from GET /v1/jobs/{id}/result as covered in Jobs and results.
Do not resubmit on a timeout
If your own HTTP client times out, do not send the same paid request again. Sume's docs say the job is durable: store the id, poll status with backoff, and stop on completed, failed or canceled. A resubmit is a second billable image.
Billing is all-or-nothing: a completed generation is billed in full, a failed or cancelled one is not. See how long a GPT Image 2.5 job takes for how to time your own jobs.
Sources
Related posts
More in Developers
- GPT Image 2.5 edit changed shape? Use aspect_ratio auto on Sume
On Sume edit and image-to-image calls, aspect_ratio auto is not the same as leaving the field out. How to read the model descriptor and keep the photo's shape.
- GPT Image 2.5 image_size rules: validate in Python before you send
Custom image_size on GPT Image 2.5 needs edges in multiples of 16, max edge 3840, aspect 3:1 or less, and 655,360 to 8,294,400 pixels. A Python checker for it.
- GPT Image 2.5 edit with several references: number each image
With up to 16 references in a GPT Image 2.5 edit, name each one by number and role in the prompt. A Sume request with three references, and what to check.
- Graph API v26.0: does it change Reels publishing? Not by its notes
Graph API v26.0 shipped July 29, 2026. Its changelog lists no Reels or video changes, but removes Explore placement and five Page fields. Dates inside.
Written by Sume