Recraft AI Recraft V4.1 Flash Text To Image API Documentation

Recraft AI Recraft V4.1 Flash Text To Image API Documentation

Playground

Try it on WaveSpeedAI!

Recraft V4.1 Flash Text-to-Image generates high-quality raster images from text prompts for photography, illustrations, creative compositions, marketing visuals, and production workflows. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

Features

Recraft V4.1 Flash Text-to-Image generates raster images directly from text prompts for fast creative exploration. Describe the subject, composition, lighting, and visual style, then choose a square, portrait, or landscape aspect ratio to generate the final image.

It is suited to photography, illustration, mixed-media compositions, product concepts, editorial visuals, and other workflows where fast text-to-image generation is useful.


Why Choose This?

  • Fast text-to-image generation
    Turn natural-language descriptions into finished raster images.

  • Flexible visual styles
    Create photography, illustrations, mixed-media compositions, and other visual directions through prompting.

  • Creative iteration
    Quickly explore different subjects, compositions, lighting setups, and styles.

  • Multiple aspect ratios
    Generate square, portrait, or landscape images for different publishing and design needs.

  • Simple workflow
    Only a text prompt is required, making the endpoint easy to integrate into image-generation pipelines.


Parameters

ParameterRequiredDescription
promptYesText description of the image to generate, including subject, composition, lighting, and visual style. Length: 1–10000 characters.
aspect_ratioNoOutput aspect ratio: 1:1, 16:9, 9:16, 4:3, or 3:4. Default: 1:1.

How to Use

  1. Write a prompt — Describe the subject, composition, lighting, colors, and visual style.
  2. Choose aspect ratio optional — Select a square, portrait, or landscape layout, or keep the default 1:1.
  3. Submit — Generate the image.
  4. Retrieve the result — Access the generated raster image from the prediction response.

Pricing

Pricing is fixed at $0.008 per generated image.

OutputPrice
One generated image$0.008

Best Use Cases

  • Product concepts — Explore product ideas, presentation styles, and campaign imagery.
  • Editorial visuals — Generate photography-style or illustrative images for articles and publications.
  • Marketing creatives — Create campaign concepts, promotional graphics, and social media imagery.
  • Illustration — Generate stylized or descriptive artwork directly from text.
  • Mixed-media concepts — Explore compositions that combine different visual treatments and aesthetics.
  • Rapid visual exploration — Test multiple creative directions quickly before final production.

Pro Tips

  • Describe the main subject and composition before adding style details.
  • Include lighting, color palette, environment, and mood when they matter to the result.
  • Use 16:9 or 4:3 for landscape compositions.
  • Use 9:16 or 3:4 for portrait-oriented content.
  • Keep the prompt focused when you want stronger control over the main subject and composition.
  • Iterate on prompt wording to explore different visual directions quickly.

Notes

  • aspect_ratio defaults to 1:1.
  • Supported aspect ratios are 1:1, 16:9, 9:16, 4:3, and 3:4.
  • Each successful request generates one raster image.
  • This endpoint is for text-to-image generation, not image editing or vector generation.
  • Custom dimensions and structured color controls are not exposed in this configuration.

Authentication

For authentication details, please refer to the Authentication Guide.

API Endpoints

Submit Task & Query Result

set -euo pipefail

export WAVESPEED_API_KEY="your-api-key"

REQUEST_BODY=$(cat <<'JSON'
{
  "prompt": "A cinematic ocean wave at sunrise, highly detailed",
  "aspect_ratio": "1:1"
}
JSON
)

# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
  -X POST "https://api.wavespeed.ai/api/v3/recraft-ai/recraft-v4.1-flash/text-to-image" \
  -H "Authorization: Bearer ${WAVESPEED_API_KEY}" \
  -H "Content-Type: application/json" \
  -d "${REQUEST_BODY}")

TASK=$(printf '%s' "${SUBMIT_RESPONSE}" | jq 'if type == "object" and has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "${TASK}" | jq -r '.id // empty')
if [ -z "${PREDICTION_ID}" ]; then
  printf 'Submission response did not contain a prediction id
' >&2
  exit 1
fi
RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/${PREDICTION_ID}/result"

# 2. Poll until the prediction finishes.
while true; do
  RESPONSE=$(curl --silent --show-error --fail-with-body \
    "${RESULT_URL}" \
    -H "Authorization: Bearer ${WAVESPEED_API_KEY}")
  RESULT=$(printf '%s' "${RESPONSE}" | jq 'if type == "object" and has("data") then .data else . end')
  STATUS=$(printf '%s' "${RESULT}" | jq -r '.status // empty')

  case "${STATUS}" in
    completed) printf '%s\n' "${RESULT}" | jq '.outputs'; break ;;
    failed|cancelled|timeout|deleted) printf '%s\n' "${RESULT}" | jq . >&2; exit 1 ;;
    *) sleep 2 ;;
  esac
done

Parameters

Task Submission Parameters

Request Parameters

ParameterTypeRequiredDefaultRangeDescription
promptstringYes-Text prompt for the generated image.
aspect_ratiostringNo1:11:1, 16:9, 9:16, 4:3, 3:4Output image aspect ratio.

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.outputsarrayOutput values, usually URL strings; some models return text strings or structured result objects (empty when status is not completed)
data.urlsobjectObject containing related API endpoints
data.statusstringTask status. completed is successful; failed, cancelled, timeout, and deleted are failure terminal statuses.
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
data.modelstringModel ID used for the prediction
data.outputsarray<string | object>Array of generated outputs (empty when status is not completed). Items are usually URL strings, but may be text strings or structured result objects, depending on the model.
data.urlsobjectObject containing related API endpoints
data.statusstringStatus: completed is successful; failed, cancelled, timeout, and deleted are failure terminal statuses
data.created_atstringISO timestamp of when the request was created
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds
© 2026 WaveSpeedAI. All rights reserved.