Image to Image SDXL
Stable Diffusion 1.5's image-to-image capability allows you to modify or transform existing images using text descriptions. It's like having a digital paintbrush that can be guided by your words.
- Python
- JavaScript
- php
import requests
import json
url = "https://api.imagepipeline.io/sdxl/image2image/v1"
headers = {
"API-Key": "Your API Key"
}
data = {
"model_id": "sdxl",
"init_image": "https://docs.imagepipeline.io/img/sdxl_img2img.png",
"prompt": "ethereal fantasy concept art of woman with crown of beautiful flowers, 8k quality, majestic, magical, fantasy art, cover art, dreamy",
"negative_prompt": "photographic, realistic, realism, 35mm film, dslr, cropped, frame, text, ((deformed eyes)), glitch, noise, noisy, off-center, deformed, ((cross-eyed)), bad anatomy, ugly, disfigured, sloppy, duplicate, mutated, black and white",
"num_inference_steps": 45,
"refiner": true,
"samples": 1,
"guidance_scale": 10,
"width": 768,
"height": 768,
"seed": 12345,
"safety_checker": true
}
response = requests.post(url, headers=headers, data=json.dumps(data))
print(response.json())
const url = "https://api.imagepipeline.io/sdxl/image2image/v1";
const headers = {
"API-Key": "Your API Key",
"Content-Type": "application/json"
};
const data = {
"model_id": "sdxl",
"init_image": "https://docs.imagepipeline.io/img/sdxl_img2img.png",
"prompt": "ethereal fantasy concept art of woman with crown of beautiful flowers, 8k quality, majestic, magical, fantasy art, cover art, dreamy",
"negative_prompt": "photographic, realistic, realism, 35mm film, dslr, cropped, frame, text, ((deformed eyes)), glitch, noise, noisy, off-center, deformed, ((cross-eyed)), bad anatomy, ugly, disfigured, sloppy, duplicate, mutated, black and white",
"num_inference_steps": 45,
"refiner": true,
"samples": 1,
"guidance_scale": 10,
"width": 768,
"height": 768,
"seed": 12345,
"safety_checker": true
};
fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => console.log(data))
.catch((error) => console.error('Error:', error));
<?php
$url = "https://api.imagepipeline.io/sdxl/image2image/v1";
$headers = array(
"API-Key: Your-API-Key",
"Content-Type: application/json"
);
$data = array(
"model_id"=> "sdxl",
"init_image"=> "https://docs.imagepipeline.io/img/sdxl_img2img.png",
"prompt"=> "ethereal fantasy concept art of woman with crown of beautiful flowers, 8k quality, majestic, magical, fantasy art, cover art, dreamy",
"negative_prompt"=> "photographic, realistic, realism, 35mm film, dslr, cropped, frame, text, ((deformed eyes)), glitch, noise, noisy, off-center, deformed, ((cross-eyed)), bad anatomy, ugly, disfigured, sloppy, duplicate, mutated, black and white",
"num_inference_steps"=> 45,
"refiner"=> true,
"samples"=> 1,
"guidance_scale"=> 10,
"width"=> 768,
"height"=> 768,
"seed" => 12345,
"safety_checker" => true
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
$response = curl_exec($ch);
if($response === FALSE){
die(curl_error($ch));
}
$responseData = json_decode($response, TRUE);
curl_close($ch);
var_dump($responseData);
?>
JSON Parameters
Parameter | Permissible values | Notes |
---|---|---|
model_id | str | model_id can be found in models page. Filter by SDXL models |
prompt | str, 75 tokens | Check our Prompt Guide for tips |
negative_prompt | str, 75 tokens | Check our Prompt Guide for tips |
num_inference_steps | int, [1-100] | Noise is removed with each step, resulting in a higher-quality image over time. Ideal value 20-30 |
strength | float, [0-1] | Optional denoise strength |
samples | int, [1-4] | Generates a maximum of 4 samples per API call |
guidance_scale | float, [1-20] | Higher guidance scale prioritizes text prompt relevance but sacrifices image quality. Ideal value 7.5-12.5 |
width | int | Width in pixels. Higher than or equal to 768 for best results |
height | int | Height in pixels. Higher than or equal to 768 for best results |
init_image | str | Add a publicly available link to the image you want to edit |
seed | int | Controlling the seed can help you generate reproducible images |
safety_checker | boolean | Checks for NSFW images and filters explicit images |
Status
Your response will include a status
.
- If the
status
=SUCCESS
, you will also havedownload_urls
that will have the links to your generated image based on the number of samples you have entered. The maximum number of samples that can be generated is 4. - If the
status
=PENDING
, you will receive aid
. You can use the status endpoint to fetch your image using theid
. - If the
status
=FAILURE
, you will receive only an error message.
Endpoint:
https://api.imagepipeline.io/sdxl/image2image/v1/status/{{id}}
Pass the API-Key as the authorization in the header.