Imagen4

Imagen4

Playground

Try it on WavespeedAI!

Imagen 4 is an AI image generator that produces detailed, high-quality images up to 2K across diverse styles and subjects. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

Features

Imagen 4 (Text-to-Image) — wavespeed-ai/imagen4

Imagen 4 is a high-quality text-to-image model for generating photorealistic and stylized images from prompts, with optional negative prompts for extra control. It’s well-suited for concept art, marketing creatives, portraits, and detailed scenes where you want clean composition and strong realism.

Key capabilities

  • Text-to-image generation with strong realism and detail
  • Optional negative_prompt to reduce unwanted artifacts or styles
  • Reliable composition across common aspect ratios (e.g., 1:1, 16:9, 9:16)
  • Supports multi-image output in a single run via num_images

Pricing

$0.04 per image.

Total cost = num_images × $0.04 Example: num_images = 4 → $0.16

How to use

  1. Write a prompt describing subject, setting, lighting, and style.
  2. Optionally add a negative_prompt listing what you want to avoid.
  3. Select aspect_ratio for your target layout.
  4. Choose num_images for how many variations you want.
  5. Set seed for reproducible results (optional), then generate.

Parameters

  • prompt (required): The text description of what to generate
  • negative_prompt (optional): What to avoid (artifacts, styles, objects, text, etc.)
  • aspect_ratio: Output aspect ratio (e.g., 1:1, 16:9, 9:16)
  • num_images: Number of images to generate per run
  • seed: Fixed value for reproducibility; leave empty/random for variation

Prompting guide

A stable structure:

  • Subject: who/what is in frame
  • Scene: where + time + atmosphere
  • Details: clothing, materials, environment cues
  • Lighting: softbox, sunset, harsh noon, rim light
  • Camera: close-up, wide shot, depth of field
  • Style: photorealistic, cinematic, illustration, etc.

Example pattern: A [shot type] of [subject] in [scene]. [Lighting + mood]. [Camera cues]. [Style cues].

Example prompts

  • A raw, unflinching photograph of a weathered soldier in a desert trench, dust blowing across his helmet and gear, harsh sunlight, shallow depth of field, cinematic realism.
  • Studio product photo of a minimalist watch on a matte surface, softbox lighting, crisp shadow, premium advertising look.
  • Cozy café interior at night, warm tungsten lighting, rain on windows, film still composition, subtle grain.

Negative prompt examples

  • blurry, low resolution, deformed hands, extra fingers, bad anatomy
  • watermark, logo, text, caption, jpeg artifacts
  • oversaturated, cartoonish, plastic skin, uncanny face

Best practices

  • Use negative_prompt sparingly; focus your main prompt on what you want.
  • Keep the first sentence concrete, then add camera/lighting constraints.
  • Fix seed when iterating on prompt wording for controlled comparisons.

Authentication

For authentication details, please refer to the Authentication Guide.

API Endpoints

Submit Task & Query Result


# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/wavespeed-ai/imagen4" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
    "aspect_ratio": "1:1",
    "num_images": 1
}'

# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"

Parameters

Task Submission Parameters

Request Parameters

ParameterTypeRequiredDefaultRangeDescription
promptstringYes-The positive prompt for the generation.
negative_promptstringNo-The negative prompt for the generation.
aspect_ratiostringNo1:11:1, 16:9, 9:16, 3:4, 4:3The aspect ratio of the generated media.
num_imagesintegerNo11 ~ 4The number of images to generate.
seedintegerNo--1 ~ 2147483647The random seed to use for the generation.

Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
data.idstringUnique identifier for the prediction, Task Id
data.modelstringModel ID used for the prediction
data.outputsarrayArray of URLs to the generated content (empty when status is not completed)
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.has_nsfw_contentsarrayArray of boolean values indicating NSFW detection for each output
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds

Result Request Parameters

ParameterTypeRequiredDefaultDescription
idstringYes-Task ID

Result Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
dataobjectThe prediction data object containing all details
data.idstringUnique identifier for the prediction, the ID of the prediction to get
data.modelstringModel ID used for the prediction
data.outputsstringArray of URLs to the generated content (empty when status is not completed).
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds
© 2025 WaveSpeedAI. All rights reserved.