Skip to main content
POST
/
v1
/
images
/
generations
curl https://api.cometapi.com/v1/images/generations \
  -H "Authorization: Bearer $COMETAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "A paper boat floating on calm water at sunrise.",
    "quality": "low",
    "size": "1024x1024",
    "output_format": "jpeg"
  }'
{
  "created": 1781075000,
  "background": "opaque",
  "output_format": "jpeg",
  "quality": "low",
  "size": "1024x1024",
  "usage": {
    "input_tokens": 13,
    "input_tokens_details": {
      "image_tokens": 0,
      "text_tokens": 13
    },
    "output_tokens": 196,
    "output_tokens_details": {
      "image_tokens": 196,
      "text_tokens": 0
    },
    "total_tokens": 209
  },
  "data": [
    {
      "b64_json": "/9j/4AAQSkZJRgABAQAAAQABAAD..."
    }
  ]
}
Use this route to create images from text with OpenAI-compatible request shapes on CometAPI.

Official reference

Choose a model first

  • Use a GPT image model such as gpt-image-2 for text-to-image requests with controls like output_format, quality, or background
  • Use qwen-image when you need that provider specifically, but keep n at 1
  • Pick a current image model ID from the Models page

Safe first request

  • Start with gpt-image-2
  • Keep size at 1024x1024
  • GPT image models return base64-encoded image data in b64_json; decode it to save the image file
  • Add output_format only when you need a specific encoded image type such as jpeg
  • Check the OpenAI image generation guide before you add background, output_compression, or streaming
  • Use one prompt and one output image before you add batch generation or style tuning

Run an async image task

Use async: true for long-running image jobs when your client prefers a submit-and-poll flow instead of holding one HTTP connection open. The create request returns data.task_id. Poll Retrieve an image generation task until data.status is success or failure. The async field is a CometAPI extension for this route, not an OpenAI parameter. OpenAI documents stream and partial_images for GPT image models. CometAPI asynchronous task mode returns JSON task metadata and uses polling. Use async task mode with these documented model IDs: gpt-image-2 and doubao-seedream-4-0-250828. For other image models, use synchronous generation or streaming unless async task support is documented for that model. When a request includes both async: true and stream: true, async task mode takes precedence. The create request returns JSON task metadata instead of an SSE stream.

Model-specific request behavior

  • response_format applies to DALL·E models only; GPT image models return base64 data and ignore it
  • GPT image models use GPT-only controls such as output_format, quality, background, and output_compression
  • Follow the OpenAI image generation guide for the latest model-specific options
  • qwen-image does not support n > 1
Generated images must comply with provider usage policies. Do not send illegal, violent, pornographic, or copyright-infringing prompts.

Authorizations

Authorization
string
header
required

Bearer token authentication. Use your CometAPI key.

Body

application/json
model
string
default:gpt-image-2
required

The image generation model to use. Choose a current model from the Models page.

prompt
string
required

Text description of the image you want to generate.

Example:

"A paper boat floating on calm water at sunrise."

n
integer
default:1

Number of images to generate. Keep this at 1 for the broadest compatibility.

quality
string

Quality setting for models that support it. See the OpenAI image generation guide for the latest model-specific values.

size
string

Requested output size. Supported values depend on the selected model. See the OpenAI image generation guide for the latest model-specific ranges.

Example:

"1024x1024"

response_format
enum<string>

The response container for dall-e-2 and dall-e-3. This parameter is not supported for GPT image models, which return base64-encoded image data.

Available options:
url,
b64_json
output_format
string

The encoded image type for GPT image model results, such as png, jpeg, or webp. See the OpenAI image generation guide for current GPT image output controls.

Example:

"jpeg"

stream
boolean
default:false

Set this to true to receive server-sent image generation events instead of waiting for the completed JSON response. Streaming responses use text/event-stream and can include final events such as image_generation.completed. When stream and async are both true, async task mode takes precedence and the create request returns JSON instead of a streaming image response.

async
boolean
default:false

CometAPI asynchronous task mode. Set this to true to return immediately with data.task_id, then poll GET /v1/images/generations/{task_id} for the final image data. Documented model IDs for this mode: gpt-image-2 and doubao-seedream-4-0-250828. This is a CometAPI extension, not an OpenAI parameter. When async and stream are both true, async takes precedence and returns JSON task metadata instead of an SSE stream.

Response

Image generation result. Synchronous requests return completed image data. Async requests return a task response with data.task_id.

created
integer
required

Unix timestamp for the completed generation.

data
object[]
required
background
string

Background mode returned by models that expose it.

output_format
string

Encoded image type returned by GPT image models.

quality
string

Quality level returned by models that expose it.

size
string

Output size returned by models that expose it.

usage
object

Token usage details when returned by the selected model.