Prompt Optimizer

Prompt Optimizer

Playground

Try it on WavespeedAI!

Advanced Prompt Optimizer for image and video generation. Automatically enhances prompts for clarity, structure, composition, motion dynamics, and style control—producing significantly better outputs across models like FLUX, Wan, Kling, Veo, Seedance, and more. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

Features

Image & Video Prompt Optimizer API

Overview

The WaveSpeedAI Prompt Optimizer enhances prompts specifically for image and video generation workflows. It restructures and enriches your input prompt to improve visual clarity, composition, cinematic framing, lighting, camera movement, and style consistency.

Designed for models such as Nano Banana, Seedream, FLUX, Wan, Kling, Veo, Seedance, Hailuo, and other leading visual-generation systems.

Key Features

  • Improves visual composition (lighting, framing, perspective)
  • Expands prompts with cinematic and artistic attributes
  • Enhances style, mood, and motion for video models
  • Reduces ambiguity and ensures consistent reproducible outputs
  • Works seamlessly in automated pipelines and API workflows

Why Use It?

Raw user prompts often produce unstable or low-quality visual outputs. The Prompt Optimizer standardizes and enriches prompts, leading to:

  • Better image detail and fidelity
  • More stable, coherent video motion
  • Consistent art direction across batches
  • Improved adherence to user intent

Usage

Send any raw text prompt to the /v1/prompt/optimize endpoint and receive a fully optimized version ready for visual generation models.

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/prompt-optimizer" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
    "style": "default",
    "mode": "image",
    "enable_sync_mode": false
}'

# 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
imagestringNo-Image to use as context for prompt optimization.
textstringNo--Text to expand or use as context for prompt optimization.
stylestringNodefaultdefault, artistic, photographic, technical, anime, realisticStyle or tone to apply to the optimized prompt.
modestringNoimageimage, videoThe aim of the optimization, either for image or video generation.
enable_sync_modebooleanNofalse-If set to true, the function will wait for the result to be generated and uploaded before returning the response. It allows you to get the result directly in the response. This property is only available through the API.

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

© 2025 WaveSpeedAI. All rights reserved.