Firered Image V1.1 Edit API Documentation

Firered Image V1.1 Edit API Documentation

Playground

Try it on WaveSpeedAI!

FireRed Image Edit V1.1 enables precise image editing with natural-language instructions, supporting both English and Chinese prompts with multi-image references. Ready-to-use REST inference API, best performance, no cold starts, affordable pricing.

Features

FireRed Image V1.1 Edit is a powerful multi-image editing model that transforms reference images based on text prompts. Upload up to 3 reference images and describe the desired output — the model generates new images that combine elements, styles, or characters from your references with cinematic quality and retro aesthetics.


Why Choose This?

  • Multi-image reference Combine elements from up to 3 reference images into a single cohesive output.

  • Style-aware editing Excels at editorial looks, film grain, retro tones, and cinematic aesthetics.

  • Flexible sizing Choose preset aspect ratios or custom dimensions — leave empty to preserve original proportions.

  • Character consistency Maintain subject identity while transforming style, setting, or mood.

  • Prompt Enhancer Built-in tool to automatically improve your descriptions.


Parameters

ParameterRequiredDescription
promptYesText description of the desired output
imagesYesReference images (max: 3, click ”+ Add Item” to add more)
sizeNoAspect ratio: 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3
widthNoCustom width in pixels (range: 256–1536)
heightNoCustom height in pixels (range: 256–1536)

How to Use

  1. Upload reference images — add up to 3 images for style, character, or scene guidance.
  2. Write your prompt — describe the desired output with style and mood details.
  3. Set size (optional) — choose a preset ratio, custom dimensions, or leave empty to keep original proportions.
  4. Use Prompt Enhancer (optional) — click to refine your description.
  5. Run — submit and download your edited image.

Pricing

OutputCost
Per image$0.15

Best Use Cases

  • Editorial Portraits — Create stylized portraits with film grain and retro aesthetics.
  • Character Styling — Transform subjects into different settings, eras, or moods.
  • Vintage Looks — Generate images with warm retro tones and classic Americana vibes.
  • Fashion & Lifestyle — Produce editorial-quality imagery for campaigns.
  • Creative Compositing — Combine elements from multiple reference images seamlessly.

Pro Tips

  • Describe the style explicitly — include details like “film grain,” “warm retro tones,” or “editorial portrait.”
  • Reference images guide the output — use clear, high-quality images for best results.
  • Leave size empty to automatically preserve the original image proportions.
  • Include setting and mood details (e.g., “classic diner neon sign at dusk”) for atmospheric results.
  • Use 1–2 reference images for simpler edits; add a third for complex multi-element compositions.

Notes

  • Both prompt and images are required fields.
  • Maximum 3 reference images can be uploaded.
  • If size is not specified, the model preserves the original image ratio.
  • Resolution range: 256–1536 pixels for both width and height.

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",
  "images": [
    "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg"
  ]
}
JSON
)

# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
  -X POST "https://api.wavespeed.ai/api/v3/wavespeed-ai/firered-image-v1.1/edit" \
  -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-The editing instruction describing what changes to make to the image. Supports both English and Chinese.
imagesarray<string>Yes-0 ~ 3 itemsList of URLs of input images for editing. The maximum number of images is 3.
sizestringNo-256 ~ 1536Advanced option. The size of the generated media in pixels (width*height).

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.