Readme
This model doesn't have a readme.
Upscale Portrait Images with ControlNet Tile
Run this model in Node.js with one line of code:
npm install replicate
REPLICATE_API_TOKEN
environment variable:export REPLICATE_API_TOKEN=<paste-your-token-here>
Find your API token in your account settings.
import Replicate from "replicate";
const replicate = new Replicate({
auth: process.env.REPLICATE_API_TOKEN,
});
Run juergengunz/ultimate-portrait-upscale using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
const output = await replicate.run(
"juergengunz/ultimate-portrait-upscale:f7fdace4ec7adab7fa02688a160eee8057f070ead7fbb84e0904864fd2324be5",
{
input: {
cfg: 8,
image: "https://replicate.delivery/pbxt/K1jy8x3lgsayBRp1SwKmFoQrFGoEOvQ56VcwGIHM6giTiyPm/test.png",
steps: 20,
denoise: 0.1,
upscaler: "4x-UltraSharp",
mask_blur: 8,
mode_type: "Linear",
scheduler: "normal",
tile_width: 512,
upscale_by: 2,
tile_height: 512,
sampler_name: "euler",
tile_padding: 32,
seam_fix_mode: "None",
seam_fix_width: 64,
negative_prompt: "cartoon, cgi, render, painting, illustration, drawing",
positive_prompt: "business portrait of a man, detailed skin, perfect skin, soft lighting, beautiful blue eyes, photorealistic",
seam_fix_denoise: 1,
seam_fix_padding: 16,
seam_fix_mask_blur: 8,
controlnet_strength: 1,
force_uniform_tiles: true,
use_controlnet_tile: true
}
}
);
// To access the file URL:
console.log(output.url()); //=> "http://example.com"
// To write the file to disk:
fs.writeFile("my-image.png", output);
To learn more, take a look at the guide on getting started with Node.js.
pip install replicate
REPLICATE_API_TOKEN
environment variable:export REPLICATE_API_TOKEN=<paste-your-token-here>
Find your API token in your account settings.
import replicate
Run juergengunz/ultimate-portrait-upscale using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
output = replicate.run(
"juergengunz/ultimate-portrait-upscale:f7fdace4ec7adab7fa02688a160eee8057f070ead7fbb84e0904864fd2324be5",
input={
"cfg": 8,
"image": "https://replicate.delivery/pbxt/K1jy8x3lgsayBRp1SwKmFoQrFGoEOvQ56VcwGIHM6giTiyPm/test.png",
"steps": 20,
"denoise": 0.1,
"upscaler": "4x-UltraSharp",
"mask_blur": 8,
"mode_type": "Linear",
"scheduler": "normal",
"tile_width": 512,
"upscale_by": 2,
"tile_height": 512,
"sampler_name": "euler",
"tile_padding": 32,
"seam_fix_mode": "None",
"seam_fix_width": 64,
"negative_prompt": "cartoon, cgi, render, painting, illustration, drawing",
"positive_prompt": "business portrait of a man, detailed skin, perfect skin, soft lighting, beautiful blue eyes, photorealistic",
"seam_fix_denoise": 1,
"seam_fix_padding": 16,
"seam_fix_mask_blur": 8,
"controlnet_strength": 1,
"force_uniform_tiles": True,
"use_controlnet_tile": True
}
)
print(output)
To learn more, take a look at the guide on getting started with Python.
REPLICATE_API_TOKEN
environment variable:export REPLICATE_API_TOKEN=<paste-your-token-here>
Find your API token in your account settings.
Run juergengunz/ultimate-portrait-upscale using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
curl -s -X POST \
-H "Authorization: Bearer $REPLICATE_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Prefer: wait" \
-d $'{
"version": "f7fdace4ec7adab7fa02688a160eee8057f070ead7fbb84e0904864fd2324be5",
"input": {
"cfg": 8,
"image": "https://replicate.delivery/pbxt/K1jy8x3lgsayBRp1SwKmFoQrFGoEOvQ56VcwGIHM6giTiyPm/test.png",
"steps": 20,
"denoise": 0.1,
"upscaler": "4x-UltraSharp",
"mask_blur": 8,
"mode_type": "Linear",
"scheduler": "normal",
"tile_width": 512,
"upscale_by": 2,
"tile_height": 512,
"sampler_name": "euler",
"tile_padding": 32,
"seam_fix_mode": "None",
"seam_fix_width": 64,
"negative_prompt": "cartoon, cgi, render, painting, illustration, drawing",
"positive_prompt": "business portrait of a man, detailed skin, perfect skin, soft lighting, beautiful blue eyes, photorealistic",
"seam_fix_denoise": 1,
"seam_fix_padding": 16,
"seam_fix_mask_blur": 8,
"controlnet_strength": 1,
"force_uniform_tiles": true,
"use_controlnet_tile": true
}
}' \
https://api.replicate.com/v1/predictions
To learn more, take a look at Replicate’s HTTP API reference docs.
Add a payment method to run this model.
By signing in, you agree to our
terms of service and privacy policy
Loading...
{
"completed_at": "2023-12-10T23:56:22.876546Z",
"created_at": "2023-12-10T23:56:13.187729Z",
"data_removed": false,
"error": null,
"id": "d2wp6xdboshn2nanm7hghzq6gm",
"input": {
"cfg": 8,
"image": "https://replicate.delivery/pbxt/K1jy8x3lgsayBRp1SwKmFoQrFGoEOvQ56VcwGIHM6giTiyPm/test.png",
"steps": 20,
"denoise": 0.1,
"upscaler": "4x-UltraSharp",
"mask_blur": 8,
"mode_type": "Linear",
"scheduler": "normal",
"tile_width": 512,
"upscale_by": 2,
"tile_height": 512,
"sampler_name": "euler",
"tile_padding": 32,
"seam_fix_mode": "None",
"seam_fix_width": 64,
"negative_prompt": "cartoon, cgi, render, painting, illustration, drawing",
"positive_prompt": "business portrait of a man, detailed skin, perfect skin, soft lighting, beautiful blue eyes, photorealistic",
"seam_fix_denoise": 1,
"seam_fix_padding": 16,
"seam_fix_mask_blur": 8,
"controlnet_strength": 1,
"force_uniform_tiles": true,
"use_controlnet_tile": true
},
"logs": "Using seed: 1926293\nUsing ControlNet tile with Ultimate SD Upscale\ngot prompt\nCanva size: 800x1072\nImage size: 400x533\nScale factor: 3\nUpscaling iteration 1 with scale factor 3\nTile size: 512x512\nTiles amount: 6\nGrid: 3x2\nRedraw enabled: True\nSeams fix mode: NONE\nRequested to load ControlNet\nLoading 1 new model\n 0%| | 0/20 [00:00<?, ?it/s]\n 10%|█ | 2/20 [00:00<00:00, 18.57it/s]\n 25%|██▌ | 5/20 [00:00<00:00, 19.62it/s]\n 40%|████ | 8/20 [00:00<00:00, 20.05it/s]\n 50%|█████ | 10/20 [00:00<00:00, 19.82it/s]\n 65%|██████▌ | 13/20 [00:00<00:00, 19.71it/s]\n 75%|███████▌ | 15/20 [00:00<00:00, 19.76it/s]\n 90%|█████████ | 18/20 [00:00<00:00, 20.00it/s]\n100%|██████████| 20/20 [00:01<00:00, 19.94it/s]\n100%|██████████| 20/20 [00:01<00:00, 19.83it/s]\nRequested to load ControlNet\nLoading 1 new model\nunload clone 2\n 0%| | 0/20 [00:00<?, ?it/s]\n 10%|█ | 2/20 [00:00<00:00, 19.90it/s]\n 25%|██▌ | 5/20 [00:00<00:00, 20.09it/s]\n 40%|████ | 8/20 [00:00<00:00, 20.15it/s]\n 55%|█████▌ | 11/20 [00:00<00:00, 20.27it/s]\n 70%|███████ | 14/20 [00:00<00:00, 20.35it/s]\n 85%|████████▌ | 17/20 [00:00<00:00, 19.85it/s]\n100%|██████████| 20/20 [00:00<00:00, 20.09it/s]\n100%|██████████| 20/20 [00:00<00:00, 20.11it/s]\nRequested to load ControlNet\nLoading 1 new model\nunload clone 2\n 0%| | 0/20 [00:00<?, ?it/s]\n 10%|█ | 2/20 [00:00<00:00, 19.61it/s]\n 25%|██▌ | 5/20 [00:00<00:00, 20.10it/s]\n 40%|████ | 8/20 [00:00<00:00, 20.25it/s]\n 55%|█████▌ | 11/20 [00:00<00:00, 19.64it/s]\n 70%|███████ | 14/20 [00:00<00:00, 19.94it/s]\n 85%|████████▌ | 17/20 [00:00<00:00, 20.07it/s]\n100%|██████████| 20/20 [00:00<00:00, 20.17it/s]\n100%|██████████| 20/20 [00:00<00:00, 20.05it/s]\nRequested to load ControlNet\nLoading 1 new model\nunload clone 2\n 0%| | 0/20 [00:00<?, ?it/s]\n 10%|█ | 2/20 [00:00<00:01, 17.92it/s]\n 20%|██ | 4/20 [00:00<00:00, 18.92it/s]\n 35%|███▌ | 7/20 [00:00<00:00, 19.76it/s]\n 50%|█████ | 10/20 [00:00<00:00, 19.95it/s]\n 65%|██████▌ | 13/20 [00:00<00:00, 20.15it/s]\n 80%|████████ | 16/20 [00:00<00:00, 20.17it/s]\n 95%|█████████▌| 19/20 [00:00<00:00, 20.24it/s]\n100%|██████████| 20/20 [00:01<00:00, 19.98it/s]\nRequested to load ControlNet\nLoading 1 new model\nunload clone 2\n 0%| | 0/20 [00:00<?, ?it/s]\n 10%|█ | 2/20 [00:00<00:00, 19.62it/s]\n 25%|██▌ | 5/20 [00:00<00:00, 19.91it/s]\n 40%|████ | 8/20 [00:00<00:00, 20.07it/s]\n 55%|█████▌ | 11/20 [00:00<00:00, 20.25it/s]\n 70%|███████ | 14/20 [00:00<00:00, 20.28it/s]\n 85%|████████▌ | 17/20 [00:00<00:00, 20.21it/s]\n100%|██████████| 20/20 [00:00<00:00, 20.15it/s]\n100%|██████████| 20/20 [00:00<00:00, 20.14it/s]\nRequested to load ControlNet\nLoading 1 new model\nunload clone 2\n 0%| | 0/20 [00:00<?, ?it/s]\n 10%|█ | 2/20 [00:00<00:00, 19.84it/s]\n 25%|██▌ | 5/20 [00:00<00:00, 20.24it/s]\n 40%|████ | 8/20 [00:00<00:00, 20.12it/s]\n 55%|█████▌ | 11/20 [00:00<00:00, 19.81it/s]\n 70%|███████ | 14/20 [00:00<00:00, 20.08it/s]\n 85%|████████▌ | 17/20 [00:00<00:00, 20.20it/s]\n100%|██████████| 20/20 [00:00<00:00, 20.25it/s]\n100%|██████████| 20/20 [00:00<00:00, 20.15it/s]\nPrompt executed in 8.69 seconds\nnode output: {'images': [{'filename': 'ComfyUI_00035_.png', 'subfolder': '', 'type': 'output'}]}\noutput",
"metrics": {
"predict_time": 9.670054,
"total_time": 9.688817
},
"output": "https://replicate.delivery/pbxt/EykrnMfm3RwgWiLVz5iZV39V0iBqu2MtkeuDj0GDMXFmIABSA/out-1926293.png",
"started_at": "2023-12-10T23:56:13.206492Z",
"status": "succeeded",
"urls": {
"get": "https://api.replicate.com/v1/predictions/d2wp6xdboshn2nanm7hghzq6gm",
"cancel": "https://api.replicate.com/v1/predictions/d2wp6xdboshn2nanm7hghzq6gm/cancel"
},
"version": "f7fdace4ec7adab7fa02688a160eee8057f070ead7fbb84e0904864fd2324be5"
}
Using seed: 1926293
Using ControlNet tile with Ultimate SD Upscale
got prompt
Canva size: 800x1072
Image size: 400x533
Scale factor: 3
Upscaling iteration 1 with scale factor 3
Tile size: 512x512
Tiles amount: 6
Grid: 3x2
Redraw enabled: True
Seams fix mode: NONE
Requested to load ControlNet
Loading 1 new model
0%| | 0/20 [00:00<?, ?it/s]
10%|█ | 2/20 [00:00<00:00, 18.57it/s]
25%|██▌ | 5/20 [00:00<00:00, 19.62it/s]
40%|████ | 8/20 [00:00<00:00, 20.05it/s]
50%|█████ | 10/20 [00:00<00:00, 19.82it/s]
65%|██████▌ | 13/20 [00:00<00:00, 19.71it/s]
75%|███████▌ | 15/20 [00:00<00:00, 19.76it/s]
90%|█████████ | 18/20 [00:00<00:00, 20.00it/s]
100%|██████████| 20/20 [00:01<00:00, 19.94it/s]
100%|██████████| 20/20 [00:01<00:00, 19.83it/s]
Requested to load ControlNet
Loading 1 new model
unload clone 2
0%| | 0/20 [00:00<?, ?it/s]
10%|█ | 2/20 [00:00<00:00, 19.90it/s]
25%|██▌ | 5/20 [00:00<00:00, 20.09it/s]
40%|████ | 8/20 [00:00<00:00, 20.15it/s]
55%|█████▌ | 11/20 [00:00<00:00, 20.27it/s]
70%|███████ | 14/20 [00:00<00:00, 20.35it/s]
85%|████████▌ | 17/20 [00:00<00:00, 19.85it/s]
100%|██████████| 20/20 [00:00<00:00, 20.09it/s]
100%|██████████| 20/20 [00:00<00:00, 20.11it/s]
Requested to load ControlNet
Loading 1 new model
unload clone 2
0%| | 0/20 [00:00<?, ?it/s]
10%|█ | 2/20 [00:00<00:00, 19.61it/s]
25%|██▌ | 5/20 [00:00<00:00, 20.10it/s]
40%|████ | 8/20 [00:00<00:00, 20.25it/s]
55%|█████▌ | 11/20 [00:00<00:00, 19.64it/s]
70%|███████ | 14/20 [00:00<00:00, 19.94it/s]
85%|████████▌ | 17/20 [00:00<00:00, 20.07it/s]
100%|██████████| 20/20 [00:00<00:00, 20.17it/s]
100%|██████████| 20/20 [00:00<00:00, 20.05it/s]
Requested to load ControlNet
Loading 1 new model
unload clone 2
0%| | 0/20 [00:00<?, ?it/s]
10%|█ | 2/20 [00:00<00:01, 17.92it/s]
20%|██ | 4/20 [00:00<00:00, 18.92it/s]
35%|███▌ | 7/20 [00:00<00:00, 19.76it/s]
50%|█████ | 10/20 [00:00<00:00, 19.95it/s]
65%|██████▌ | 13/20 [00:00<00:00, 20.15it/s]
80%|████████ | 16/20 [00:00<00:00, 20.17it/s]
95%|█████████▌| 19/20 [00:00<00:00, 20.24it/s]
100%|██████████| 20/20 [00:01<00:00, 19.98it/s]
Requested to load ControlNet
Loading 1 new model
unload clone 2
0%| | 0/20 [00:00<?, ?it/s]
10%|█ | 2/20 [00:00<00:00, 19.62it/s]
25%|██▌ | 5/20 [00:00<00:00, 19.91it/s]
40%|████ | 8/20 [00:00<00:00, 20.07it/s]
55%|█████▌ | 11/20 [00:00<00:00, 20.25it/s]
70%|███████ | 14/20 [00:00<00:00, 20.28it/s]
85%|████████▌ | 17/20 [00:00<00:00, 20.21it/s]
100%|██████████| 20/20 [00:00<00:00, 20.15it/s]
100%|██████████| 20/20 [00:00<00:00, 20.14it/s]
Requested to load ControlNet
Loading 1 new model
unload clone 2
0%| | 0/20 [00:00<?, ?it/s]
10%|█ | 2/20 [00:00<00:00, 19.84it/s]
25%|██▌ | 5/20 [00:00<00:00, 20.24it/s]
40%|████ | 8/20 [00:00<00:00, 20.12it/s]
55%|█████▌ | 11/20 [00:00<00:00, 19.81it/s]
70%|███████ | 14/20 [00:00<00:00, 20.08it/s]
85%|████████▌ | 17/20 [00:00<00:00, 20.20it/s]
100%|██████████| 20/20 [00:00<00:00, 20.25it/s]
100%|██████████| 20/20 [00:00<00:00, 20.15it/s]
Prompt executed in 8.69 seconds
node output: {'images': [{'filename': 'ComfyUI_00035_.png', 'subfolder': '', 'type': 'output'}]}
output
This model costs approximately $0.14 to run on Replicate, or 7 runs per $1, but this varies depending on your inputs. It is also open source and you can run it on your own computer with Docker.
This model runs on Nvidia A100 (80GB) GPU hardware. Predictions typically complete within 98 seconds. The predict time for this model varies significantly based on the inputs.
This model doesn't have a readme.
This model is cold. You'll get a fast response if the model is warm and already running, and a slower response if the model is cold and starting up.
Choose a file from your machine
Hint: you can also drag files onto the input
Using seed: 1926293
Using ControlNet tile with Ultimate SD Upscale
got prompt
Canva size: 800x1072
Image size: 400x533
Scale factor: 3
Upscaling iteration 1 with scale factor 3
Tile size: 512x512
Tiles amount: 6
Grid: 3x2
Redraw enabled: True
Seams fix mode: NONE
Requested to load ControlNet
Loading 1 new model
0%| | 0/20 [00:00<?, ?it/s]
10%|█ | 2/20 [00:00<00:00, 18.57it/s]
25%|██▌ | 5/20 [00:00<00:00, 19.62it/s]
40%|████ | 8/20 [00:00<00:00, 20.05it/s]
50%|█████ | 10/20 [00:00<00:00, 19.82it/s]
65%|██████▌ | 13/20 [00:00<00:00, 19.71it/s]
75%|███████▌ | 15/20 [00:00<00:00, 19.76it/s]
90%|█████████ | 18/20 [00:00<00:00, 20.00it/s]
100%|██████████| 20/20 [00:01<00:00, 19.94it/s]
100%|██████████| 20/20 [00:01<00:00, 19.83it/s]
Requested to load ControlNet
Loading 1 new model
unload clone 2
0%| | 0/20 [00:00<?, ?it/s]
10%|█ | 2/20 [00:00<00:00, 19.90it/s]
25%|██▌ | 5/20 [00:00<00:00, 20.09it/s]
40%|████ | 8/20 [00:00<00:00, 20.15it/s]
55%|█████▌ | 11/20 [00:00<00:00, 20.27it/s]
70%|███████ | 14/20 [00:00<00:00, 20.35it/s]
85%|████████▌ | 17/20 [00:00<00:00, 19.85it/s]
100%|██████████| 20/20 [00:00<00:00, 20.09it/s]
100%|██████████| 20/20 [00:00<00:00, 20.11it/s]
Requested to load ControlNet
Loading 1 new model
unload clone 2
0%| | 0/20 [00:00<?, ?it/s]
10%|█ | 2/20 [00:00<00:00, 19.61it/s]
25%|██▌ | 5/20 [00:00<00:00, 20.10it/s]
40%|████ | 8/20 [00:00<00:00, 20.25it/s]
55%|█████▌ | 11/20 [00:00<00:00, 19.64it/s]
70%|███████ | 14/20 [00:00<00:00, 19.94it/s]
85%|████████▌ | 17/20 [00:00<00:00, 20.07it/s]
100%|██████████| 20/20 [00:00<00:00, 20.17it/s]
100%|██████████| 20/20 [00:00<00:00, 20.05it/s]
Requested to load ControlNet
Loading 1 new model
unload clone 2
0%| | 0/20 [00:00<?, ?it/s]
10%|█ | 2/20 [00:00<00:01, 17.92it/s]
20%|██ | 4/20 [00:00<00:00, 18.92it/s]
35%|███▌ | 7/20 [00:00<00:00, 19.76it/s]
50%|█████ | 10/20 [00:00<00:00, 19.95it/s]
65%|██████▌ | 13/20 [00:00<00:00, 20.15it/s]
80%|████████ | 16/20 [00:00<00:00, 20.17it/s]
95%|█████████▌| 19/20 [00:00<00:00, 20.24it/s]
100%|██████████| 20/20 [00:01<00:00, 19.98it/s]
Requested to load ControlNet
Loading 1 new model
unload clone 2
0%| | 0/20 [00:00<?, ?it/s]
10%|█ | 2/20 [00:00<00:00, 19.62it/s]
25%|██▌ | 5/20 [00:00<00:00, 19.91it/s]
40%|████ | 8/20 [00:00<00:00, 20.07it/s]
55%|█████▌ | 11/20 [00:00<00:00, 20.25it/s]
70%|███████ | 14/20 [00:00<00:00, 20.28it/s]
85%|████████▌ | 17/20 [00:00<00:00, 20.21it/s]
100%|██████████| 20/20 [00:00<00:00, 20.15it/s]
100%|██████████| 20/20 [00:00<00:00, 20.14it/s]
Requested to load ControlNet
Loading 1 new model
unload clone 2
0%| | 0/20 [00:00<?, ?it/s]
10%|█ | 2/20 [00:00<00:00, 19.84it/s]
25%|██▌ | 5/20 [00:00<00:00, 20.24it/s]
40%|████ | 8/20 [00:00<00:00, 20.12it/s]
55%|█████▌ | 11/20 [00:00<00:00, 19.81it/s]
70%|███████ | 14/20 [00:00<00:00, 20.08it/s]
85%|████████▌ | 17/20 [00:00<00:00, 20.20it/s]
100%|██████████| 20/20 [00:00<00:00, 20.25it/s]
100%|██████████| 20/20 [00:00<00:00, 20.15it/s]
Prompt executed in 8.69 seconds
node output: {'images': [{'filename': 'ComfyUI_00035_.png', 'subfolder': '', 'type': 'output'}]}
output