Run gpt-image-2.5-sunburst (image)
Submit a image job to gpt-image-2.5-sunburst. The request carries the real fields of this model; there is no hidden switch on a model parameter. Send `quote_only: true` to price the request for free, then send the same body with the returned `quote_id` to run it. Attach identity, product, or a first frame by resource id (`avatar_id`, `product_id`, `scene_id`) or by a workspace-owned `cdn.roasos.com` URL. Any other URL is `400 reference_media_not_workspace_owned`. Pass a `webhook_url` and roasOS POSTs you the same job envelope `GET /v1/jobs/{id}` returns when the job finishes, signed with `X-RoasOS-Signature` and retried on failure. The URL must be HTTPS and reachable (`400 invalid_url` otherwise), and first-party keys cannot register webhooks (`400 webhook_url_not_supported_for_key`). See **Webhooks** above for verification. Polling `links.status` works too.
Submit a image job to gpt-image-2.5-sunburst. The request carries the real fields of this model; there is no hidden switch on a model parameter.
Send quote_only: true to price the request for free, then send the same body with the returned quote_id to run it.
Attach identity, product, or a first frame by resource id (avatar_id, product_id, scene_id) or by a workspace-owned cdn.roasos.com URL. Any other URL is 400 reference_media_not_workspace_owned.
Pass a webhook_url and roasOS POSTs you the same job envelope GET /v1/jobs/{id} returns when the job finishes, signed with X-RoasOS-Signature and retried on failure. The URL must be HTTPS and reachable (400 invalid_url otherwise), and first-party keys cannot register webhooks (400 webhook_url_not_supported_for_key). See Webhooks above for verification. Polling links.status works too.
Authorization
bearerAuth API key authentication. Use your API key as the bearer token: Authorization: Bearer roasos_sk_...
In: header
Header Parameters
A unique string that makes retries safe. Any value 16-255 characters; reuse it only when retrying the exact same request.
^[A-Za-z0-9._:-]+$16 <= length <= 255Optional label to group this request under one of your projects. Appears in your usage records.
^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$1 <= length <= 64Optional label to attribute this request to a cost center. Appears in your usage records.
^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$1 <= length <= 64Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/image/gpt-image-2.5-sunburst" \ -H "Idempotency-Key: stringstringstri" \ -H "Content-Type: application/json" \ -d '{ "prompt": "string" }'{ "data": { "kind": "quote", "quote_id": "3c071a1d-db86-46a7-9dc8-72ba3fbca992", "credits": 0, "expires_at": "string", "pricing_version": "string", "confirmation": { "property1": null, "property2": null } }}Run gpt-image-2.5 (image)
Submit a image job to gpt-image-2.5. The request carries the real fields of this model; there is no hidden switch on a model parameter. Send `quote_only: true` to price the request for free, then send the same body with the returned `quote_id` to run it. Attach identity, product, or a first frame by resource id (`avatar_id`, `product_id`, `scene_id`) or by a workspace-owned `cdn.roasos.com` URL. Any other URL is `400 reference_media_not_workspace_owned`. Pass a `webhook_url` and roasOS POSTs you the same job envelope `GET /v1/jobs/{id}` returns when the job finishes, signed with `X-RoasOS-Signature` and retried on failure. The URL must be HTTPS and reachable (`400 invalid_url` otherwise), and first-party keys cannot register webhooks (`400 webhook_url_not_supported_for_key`). See **Webhooks** above for verification. Polling `links.status` works too.
Run flux-2-max (image)
Submit a image job to flux-2-max. The request carries the real fields of this model; there is no hidden switch on a model parameter. Send `quote_only: true` to price the request for free, then send the same body with the returned `quote_id` to run it. Attach identity, product, or a first frame by resource id (`avatar_id`, `product_id`, `scene_id`) or by a workspace-owned `cdn.roasos.com` URL. Any other URL is `400 reference_media_not_workspace_owned`. Pass a `webhook_url` and roasOS POSTs you the same job envelope `GET /v1/jobs/{id}` returns when the job finishes, signed with `X-RoasOS-Signature` and retried on failure. The URL must be HTTPS and reachable (`400 invalid_url` otherwise), and first-party keys cannot register webhooks (`400 webhook_url_not_supported_for_key`). See **Webhooks** above for verification. Polling `links.status` works too.