Real ESRGAN
Real-ESRGAN with optional face correction and adjustable upscale
Features
Real-ESRGAN is an advanced image super-resolution model developed by nightmareai, now available through WaveSpeedAI. It enhances image clarity and resolution, making it ideal for restoring low-quality or blurry photos.
Key Features
- Image Enhancement: Improves image clarity and resolution.
- Fast Inference with WaveSpeedAI: Delivers rapid processing speeds.
- Cost-Effective Deployment: Offers affordable usage rates.
ComfyUI
nightmareai/real-esrgan is also available on ComfyUI, providing local inference capabilities through a node-based workflow. This ensures flexible and efficient video generation on your system, catering to various creative workflows.
Limitations
- Artifact Introduction: May produce artifacts in certain scenarios.
- Out-of-Distribution Challenges: Less effective on unfamiliar degradations.
- Resource Requirements: High-resolution processing demands significant GPU memory.
Out-of-Scope Use
The model and its derivatives may not be used in any way that violates applicable national, federal, state, local, or international law or regulation, including but not limited to:
- Exploiting, harming, or attempting to exploit or harm minors, including solicitation, creation, acquisition, or dissemination of child exploitative content.
- Generating or disseminating verifiably false information with the intent to harm others.
- Creating or distributing personal identifiable information that could be used to harm an individual.
- Harassing, abusing, threatening, stalking, or bullying individuals or groups.
- Producing non-consensual nudity or illegal pornographic content.
- Making fully automated decisions that adversely affect an individual’s legal rights or create binding obligations.
- Facilitating large-scale disinformation campaigns.
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/v2/nightmareai/real-esrgan" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"image": "https://d2g64w682n9w0w.cloudfront.net/media/images/1744206178039419379_bDY951YU.png",
"guidance_scale": 4,
"face_enhance": false
}'
# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v2/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"
Parameters
Task Submission Parameters
Request Parameters
Parameter | Type | Required | Default | Range | Description |
---|---|---|---|---|---|
image | string | Yes | https://d2g64w682n9w0w.cloudfront.net/media/images/1744206178039419379_bDY951YU.png | - | Input image |
guidance_scale | number | No | 4 | 0 ~ 10 | Factor to scale image by |
face_enhance | boolean | No | false | - | Run GFPGAN face enhancement along with upscaling |
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 |