Ultimate SD Upscale

ultimate-sd-upscale

Ultimate SD Upscale is a Face Enhancer AI model that improves facial details and enhances image quality.

A100 80GB
Fast Inference
REST API

Model Information

Response Time~40 sec
StatusActive
Version
0.0.1
Updated28 days ago

Prerequisites

  • Create an API Key from the Eachlabs Console
  • Install the required dependencies for your chosen language (e.g., requests for Python)

API Integration Steps

1. Create a Prediction

Send a POST request to create a new prediction. This will return a prediction ID that you'll use to check the result. The request should include your model inputs and API key.

import requests
import time
API_KEY = "YOUR_API_KEY" # Replace with your API key
HEADERS = {
"X-API-Key": API_KEY,
"Content-Type": "application/json"
}
def create_prediction():
response = requests.post(
"https://api.eachlabs.ai/v1/prediction/",
headers=HEADERS,
json={
"model": "ultimate-sd-upscale",
"version": "0.0.1",
"input": {
"seam_fix_padding": "16",
"seed": null,
"denoise": "0.2",
"mask_blur": "8",
"tile_width": "512",
"upscale_by": "2",
"tile_height": "512",
"mode_type": "Linear",
"upscaler": "4x-UltraSharp",
"steps": "20",
"cfg": "8",
"scheduler": "normal",
"tile_padding": "32",
"seam_fix_width": "64",
"seam_fix_denoise": "1",
"seam_fix_mask_blur": "8",
"controlnet_strength": "1",
"force_uniform_tiles": "True",
"use_controlnet_tile": "True",
"seam_fix_mode": "None",
"image": "your_file.image/jpeg",
"negative_prompt": "your negative prompt here",
"positive_prompt": "your positive prompt here",
"sampler_name": "euler"
}
}
)
prediction = response.json()
if prediction["status"] != "success":
raise Exception(f"Prediction failed: {prediction}")
return prediction["predictionID"]

2. Get Prediction Result

Poll the prediction endpoint with the prediction ID until the result is ready. The API uses long-polling, so you'll need to repeatedly check until you receive a success status.

def get_prediction(prediction_id):
while True:
result = requests.get(
f"https://api.eachlabs.ai/v1/prediction/{prediction_id}",
headers=HEADERS
).json()
if result["status"] == "success":
return result
elif result["status"] == "error":
raise Exception(f"Prediction failed: {result}")
time.sleep(1) # Wait before polling again

3. Complete Example

Here's a complete example that puts it all together, including error handling and result processing. This shows how to create a prediction and wait for the result in a production environment.

try:
# Create prediction
prediction_id = create_prediction()
print(f"Prediction created: {prediction_id}")
# Get result
result = get_prediction(prediction_id)
print(f"Output URL: {result['output']}")
print(f"Processing time: {result['metrics']['predict_time']}s")
except Exception as e:
print(f"Error: {e}")

Additional Information

  • The API uses a two-step process: create prediction and poll for results
  • Response time: ~40 seconds
  • Rate limit: 60 requests/minute
  • Concurrent requests: 10 maximum
  • Use long-polling to check prediction status until completion

Overview

Ultimate SD Upscale is designed for high-quality image upscaling while maintaining fine details and improving overall image fidelity. With advanced options for tile-based upscaling, ControlNet integration, and seamless blending, it allows users to upscale images with precision, making it ideal for creative projects requiring enhanced visuals.

Technical Specifications

Upscaling Methods: Includes multiple upscaling algorithms like 4x_NMKD-Siax_200k and RealESRGAN_x4plus, each optimized for different use cases (e.g., anime, sharp details).

Tile Handling: Supports customizable tile sizes and padding to ensure memory efficiency and seamless image blending.

ControlNet Integration: Adds structure-preserving capabilities, adjustable through the controlnet_strength parameter.

Flexible Sampling and Scheduling: Offers advanced sampling techniques (e.g., dpmpp_2m, euler_ancestral) and scheduling options (karras, exponential) for fine control over the upscaling process.

Key Considerations

Resource Usage: Larger images or higher tile overlap settings may increase processing time and resource consumption.

Tile Seams: Ensure appropriate seam-fix settings to avoid visible tile boundaries in the final output.

Prompt Optimization: Misaligned prompts can lead to unintended artifacts. Carefully curate positive and negative prompts.

ControlNet Activation: ControlNet can introduce noise if improperly calibrated. Adjust the strength based on the input image and desired output.

Tips & Tricks

Input-Specific Adjustments

  • Upscaler:
    • Use 4x_NMKD-Siax_200k for highly detailed imagery.
    • Choose RealESRGAN_x4plus_anime_6B for anime-style images.
    • Select 4x-UltraSharp for photos requiring enhanced sharpness.
  • Sampler Name:
    • dpmpp_2m and dpmpp_2m_sde are recommended for smooth and balanced outputs.
    • euler_ancestral provides a softer, artistic finish.
  • Scheduler:
    • Use karras for natural-looking results with gradual transitions.
    • exponential is suited for sharper, high-contrast images.
  • Mode Type:
    • Select Linear for consistent upscaling across the image.
    • Use Chess for complex, tiled designs to minimize memory usage.
  • Tile Dimensions and Padding:
    • Start with a tile width and height of 512x512 for most cases.
    • Increase padding to 32 for better blending at tile edges.

General Settings

  • Positive and Negative Prompts:
    • Be explicit in positive prompts to emphasize desired features (e.g., "highly detailed, sharp textures").
    • Use negative prompts to avoid unwanted artifacts (e.g., "no blurriness, no distorted edges").
  • ControlNet:
    • For intricate details, set controlnet_strength between 0.5 and 0.7.
    • Activate Use ControlNet Tile for highly structured or grid-like images.
  • Denoise and CFG Scale:
    • Keep denoise between 0.4 and 0.6 to preserve image structure while reducing unwanted noise.
    • Set cfg to 7.0 for balanced creativity and prompt adherence.
  • Seam Fix Options:
    • Use Half Tile + Intersections for seamless transitions in tiled outputs.
    • Adjust seam_fix_denoise to 0.3 and seam_fix_mask_blur to 8 for better blending.

Capabilities

Upscales images up to 4x their original resolution.

Supports tile-based processing for high-resolution images.

Integrates seamlessly with ControlNet for structure-aware upscaling.

Flexible parameter options for fine-tuning outputs.

What can I use for?

Enhance image quality for digital art, photography, or animations.

Upscale anime and other stylized visuals while preserving intricate details.

Generate high-resolution assets for professional and creative projects.

Things to be aware of

Use Linear mode and 4x-UltraSharp for realistic photographs requiring sharpness.

Test tiled upscaling with a tile size of 256x256 and seam fix enabled for large images.

Activate ControlNet for architectural or grid-like images, adjusting controlnet_strength to preserve details.

Limitations

Processing Time: Larger images or high tile overlap may lead to slower processing.

Tile Artifacts: Improper settings may leave visible seams or artifacts in tiled outputs.

Prompt Dependency: Results are highly dependent on prompt accuracy and clarity.

ControlNet Overuse: Excessive ControlNet strength may distort image structure.

Output Format:PNG

Related AI Models

each-upscaler

Image Upscaler by Each AI

each-upscaler

Image to Image
sdxl-controlnet-lora

SDXL Controlnet Lora

sdxl-controlnet-lora

Image to Image
eachlabs-couple

Couple Image Generation

eachlabs-couple

Image to Image
flux-depth-dev

Flux Depth Dev

flux-depth-dev

Image to Image