Hidream E1 Full
HiDream-E1 is an image editing model built on HiDream-I1.
Features
HiDream-E1-Full is a state-of-the-art image-to-image editing model, developed on top of HiDream-I1. Designed for high-fidelity visual transformation, it enables nuanced and prompt-controlled edits while preserving the key structure and style of the original image.
Key Features
- Text-Guided Image Editing: Edit images by providing natural language prompts, enabling seamless content, style, or object-level changes.
- High Visual Fidelity: Maintains original image structure, identity, and lighting while reflecting prompt-driven changes.
- Detail-Preserving Architecture: Built on the HiDream-I1 backbone, E1 enhances control and consistency with minimal content distortion.
- Open Source, API-Ready: Available for real-time experimentation and scalable deployment via the WaveSpeedAI platform.
ComfyUI
HiDream-E1-Full is also available on ComfyUI, providing local inference capabilities through a node-based workflow, ensuring flexible and efficient image generation on your system.
Use Cases
- Product/Character Variants: Instantly generate new designs or looks for a character or product by modifying accessories, colors, or styles using simple prompts.
- Concept Art & Creative Iteration: Explore multiple creative directions without redrawing the base image. Great for artists, storyboarders, and content creators.
- Precise Marketing Asset Revision: Change backgrounds, lighting, or brand elements in promotional visuals while keeping layout and subject intact.
- Photorealistic Object Modification: Add or remove items (e.g., hats, glasses, logos) in real-world scenes with photorealistic quality.
- Style Transfer with Control: Apply stylization (e.g., anime, oil painting, cyberpunk) to input photos while retaining core composition.
Accelerated Inference
Our accelerated inference approach leverages advanced optimization technology from WavespeedAI. This innovative fusion technique significantly reduces computational overhead and latency, enabling rapid image generation without compromising quality. The entire system is designed to efficiently handle large-scale inference tasks while ensuring that real-time applications achieve an optimal balance between speed and accuracy. For further details, please refer to the blog post.
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-e1-full" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"prompt": "for a light gray sweater and gold thin-rimmed glasses.",
"image": "https://d2g64w682n9w0w.cloudfront.net/media/dd703f8dc97646268d372cdd689fdccc/images/1747376730398194676_K2jByuqm.jpeg",
"seed": -1,
"enable_base64_output": false,
"enable_safety_checker": true
}'
# 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
Parameter | Type | Required | Default | Range | Description |
---|---|---|---|---|---|
prompt | string | Yes | for a light gray sweater and gold thin-rimmed glasses. | - | The prompt to generate an image from. |
image | string | Yes | https://d2g64w682n9w0w.cloudfront.net/media/dd703f8dc97646268d372cdd689fdccc/images/1747376730398194676_K2jByuqm.jpeg | - | The image to edit. |
seed | integer | No | -1 | -1 ~ 9999999999 | The same seed and the same prompt given to the same version of the model will output the same image every time. |
enable_base64_output | boolean | No | false | - | If set to true, the output base64 will be enabled. |
enable_safety_checker | boolean | No | true | - | If set to true, the safety checker will be enabled. |
Response Parameters
Parameter | Type | Description |
---|---|---|
code | integer | HTTP status code (e.g., 200 for success) |
message | string | Status message (e.g., “success”) |
data.id | string | Unique identifier for the prediction, Task Id |
data.model | string | Model ID used for the prediction |
data.outputs | array | Array of URLs to the generated content (empty when status is not completed ) |
data.urls | object | Object containing related API endpoints |
data.urls.get | string | URL to retrieve the prediction result |
data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
data.status | string | Status of the task: created , processing , completed , or failed |
data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
data.error | string | Error message (empty if no error occurred) |
data.timings | object | Object containing timing details |
data.timings.inference | integer | Inference time in milliseconds |
Result Query Parameters
Result Request Parameters
Parameter | Type | Required | Default | Description |
---|---|---|---|---|
id | string | Yes | - | Task ID |
Result Response Parameters
Parameter | Type | Description |
---|---|---|
code | integer | HTTP status code (e.g., 200 for success) |
message | string | Status message (e.g., “success”) |
data | object | The prediction data object containing all details |
data.id | string | Unique identifier for the prediction |
data.model | string | Model ID used for the prediction |
data.outputs | array | Array of URLs to the generated content (empty when status is not completed ) |
data.urls | object | Object containing related API endpoints |
data.urls.get | string | URL to retrieve the prediction result |
data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
data.status | string | Status of the task: created , processing , completed , or failed |
data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
data.error | string | Error message (empty if no error occurred) |
data.timings | object | Object containing timing details |
data.timings.inference | integer | Inference time in milliseconds |