Skip to Content
DocumentationModelsImageGPT Image 2

GPT Image 2

Use gpt-image-2 to create image output. This page contains the complete request needed for this model.

Model facts

PropertyValue
Model IDgpt-image-2
EndpointPOST /api/v1/generation/create
OutputImage
Modestext-to-image, image-to-image
PricingView current pricing 

Minimal request

curl -X POST https://api.api-stock.com/api/v1/generation/create \ -H "Authorization: Bearer $API_STOCK_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-image-2", "input": { "prompt": "A cinematic scene with soft natural light" } }'

The create response contains a task ID:

{ "code": 200, "data": { "taskId": "019ca881-9503-7270-a560-f00fc2b15785", "status": "not_started", "createdAt": "2026-08-22T12:00:00.000Z" } }

Parameters

Parameters belong inside the top-level input object. Unknown fields are rejected.

ParameterTypeRequiredDefaultDescription
promptstringYesUser’s prompt
urlsstring[]NoReference image URLs (URLs or base64 data URIs) for image-to-image mode
size“auto” | “1:1” | “16:9” | “9:16” | “4:3” | “3:4” | “3:2” | “2:3” | “5:4” | “4:5” | “2:1” | “1:2” | “3:1” | “1:3” | “21:9” | “9:21”No"1:1"Output image aspect ratio
resolution“1k” | “2k” | “4k”No"1k"Output image resolution

Modes

Minimal generation

{ "model": "gpt-image-2", "input": { "prompt": "A cinematic scene with soft natural light" } }

With urls

{ "model": "gpt-image-2", "input": { "prompt": "A cinematic scene with soft natural light", "urls": [ "https://example.com/input.jpg" ] } }

Constraints

  • size: allowed: auto, 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 5:4, 4:5, 2:1, 1:2, 3:1, 1:3, 21:9, 9:21.
  • resolution: allowed: 1k, 2k, 4k.

Invalid types, unsupported enum values, out-of-range numbers, and missing required fields return HTTP 400 with error.code: "invalid_input". Correct the request rather than retrying it unchanged.

Result

Poll the task or provide a top-level webhook URL in the create request:

curl https://api.api-stock.com/api/v1/task/status/$TASK_ID \ -H "Authorization: Bearer $API_STOCK_KEY"

A successful media task returns one or more files:

{ "code": 200, "data": { "taskId": "019ca881-9503-7270-a560-f00fc2b15785", "status": "finished", "files": [ { "fileUrl": "https://storage.api-stock.com/result.png", "fileType": "image" } ], "createdTime": "2026-08-22T12:00:00.000Z" } }

See Tasks and webhooks for terminal statuses, retries and webhook delivery.