Browse ModelsWavespeed AIHidream O1 Image Edit

Hidream O1 Image Edit

Hidream O1 Image Edit

Playground

Try it on WavespeedAI!

HiDream-O1-Image (Edit) is a unified, native image-editing model that takes a source image plus a text instruction and produces high-resolution edits up to 2K — no external components required. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

Features

HiDream-O1-Image (Edit)

HiDream-O1-Image is a unified, next-generation image model. The same native model that handles text-to-image also handles prompt-driven image editing and subject-driven personalization — no external adapters, controllers, or pipelines required. Provide an input image and an instruction, and the model edits it while preserving identity, composition, and lighting at resolutions up to roughly 2K (2048×2048).


Why Choose This?

  • Unified native model — One model, multiple modes (text-to-image / edit / personalization). Consistent quality across every mode.
  • Identity-preserving edits — Keeps the subject, pose, and overall composition stable while applying the requested change.
  • High-resolution output — Edits delivered at up to ~2048×2048 with sharp detail and natural lighting.
  • Strong instruction following — Faithfully interprets edit instructions (wardrobe, scene tweaks, object swaps, style changes, on-image text).
  • Flexible aspect ratios — Custom output dimensions; the model snaps to the closest supported resolution.
  • Multiple output formats — JPEG, PNG, or WEBP.
  • Reproducibility — Use a fixed seed to recreate exact results.

Parameters

ParameterRequiredDescription
promptYesText instruction describing the edit you want to make.
imagesYesSource images to edit (public URL or base64 data URI). PNG, JPEG, JPG, or WebP, up to 50MB, aspect ratio between 1:4 and 4:1.
sizeNoOutput image size as WIDTH*HEIGHT (default: 2048*2048). The model snaps to the closest supported resolution.
output_formatNoOutput format: jpeg, png, or webp (default: jpeg).
seedNoRandom seed for reproducible generation.
enable_sync_modeNoAPI only — wait for the result and return it inline.
enable_base64_outputNoAPI only — return the image as a base64 string instead of a URL.

How to Use

  1. Upload your image — drag and drop or paste a publicly accessible URL.
  2. Write your edit instruction — describe both the change and what to keep (e.g., “Change the jacket to black leather. Keep the person, pose, and background unchanged.”).
  3. Choose size (optional) — keep the source aspect ratio or pick a new one.
  4. Set output_format — JPEG for compact files, PNG for lossless, WEBP for balance.
  5. Set seed (optional) — pin a number to reproduce the same edit.
  6. Run — submit the request and download the edited image.

Pricing

Flat rate per edit.

OutputCost
Per image edit$0.04

Best Use Cases

  • Wardrobe & accessory edits — Swap clothing color/style, add/remove glasses, hats, jewelry.
  • E-commerce variations — Generate multiple colorways or styling options from a hero shot.
  • Background & scene tweaks — Replace backgrounds or swap props while keeping the subject pixel-stable.
  • Object add / remove / replace — Cleanly modify specific elements without disturbing the rest of the scene.
  • Style transfer — Apply a new look while preserving the subject’s identity.
  • Marketing iteration — Quickly produce multiple creative variants from one source image.

Prompting Guide

For clean results, specify both the change and what to preserve:

Template:

Keep the same person, pose, and background. Change [target edit]. Keep lighting natural and consistent.

Examples:

  • “Keep the same person and pose. Change the outfit to a light gray sweater and add gold thin-rimmed glasses. Keep the background and lighting unchanged.”
  • “Keep identity and composition. Replace the jacket with a black leather jacket; keep realistic fabric texture and natural shadows.”
  • “Keep the subject unchanged. Remove the object on the table and keep the scene lighting consistent.”
  • “Keep the person and pose. Change the background to a sunlit beach at golden hour.”

Pro Tips

  • Always state what should stay the same — it dramatically improves identity preservation.
  • Reference elements explicitly: “the text on the shirt”, “the background”, “the person on the left”.
  • Pin a seed while iterating so you can compare prompt variants against a fixed baseline.
  • For multi-step edits, prefer sequential single-purpose prompts over one long compound instruction.
  • Use png for lossless edits when output will be re-edited downstream.

Notes

  • If using a URL for the source image, ensure it is publicly accessible.
  • The enable_base64_output and enable_sync_mode options are only available through the API.
  • Higher resolutions may slightly increase processing time.
  • Ensure prompts comply with content guidelines.

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/hidream-o1-image/edit" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
    "size": "2048*2048",
    "output_format": "jpeg",
    "enable_sync_mode": false,
    "enable_base64_output": 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
promptstringYes-Text prompt for image generation.
imagesarrayYes[]-Reference images for image editing or subject-driven personalization.
sizestringNo2048*2048256 ~ 4096 per dimensionSpecify the width and height pixel values of the generated image.Total pixel value range: [2560*1440, 4096*4096]
output_formatstringNojpegpng, jpeg, webpOutput image format.
seedintegerNo--1 ~ 2147483647
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.
enable_base64_outputbooleanNofalse-If enabled, the output will be encoded into a BASE64 string instead of a URL. 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.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 images.
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.