Image to Image Endpoint
Overview
The Image2Image API generates an image from an image. Pass the appropriate request parameters to the endpoint to generate image from an image.
This endpoint generates and returns an image from an image passed with its URL in the request.
Together with the image you can add your description of the desired result by passing prompt and negative prompt.
Request
--request POST 'https://modelslab.com/api/v6/realtime/img2img' \
Make a POST
request to https://modelslab.com/api/v6/realtime/img2img endpoint and pass the required parameters as a request body to the endpoint.
Body Attributes
Parameter | Description |
---|---|
key | Your API Key used for request authorization |
prompt | Text prompt with description of the things you want in the image to be generated |
negative_prompt | Items you don't want in the image |
init_image | Link to the Initial Image |
width | Max Height: Width: 1024x1024 |
height | Max Height: Width: 1024x1024 |
samples | Number of images to be returned in response. The maximum value is 4. |
safety_checker | A checker for NSFW images. If such an image is detected, it will be replaced by a blank image. |
base64 | Get response as base64 string, default: false , options: true or false |
strength | Prompt strength when using init image. 1.0 corresponds to full destruction of information in the init image. |
instant_response | queue response instantly before processing finishes instead of waiting a minimum amount of time default: false , options: true or false |
seed | Seed is used to reproduce results, same seed will give you same image in return again. Pass null for a random number. |
enhance_prompt | Enhance prompts for better results; options: true/false |
enhance_style | This allows you to set the style of the image for better result. The following are the styles that are available; enhance ,cinematic-diva ,nude ,nsfw ,sex ,abstract-expressionism ,academia ,action-figure ,adorable-3d-character ,adorable-kawaii ,art-deco ,art-nouveau ,astral-aura ,avant-garde ,baroque ,bauhaus-style-poster ,blueprint-schematic-drawing ,caricature ,cel-shaded-art ,character-design-sheet ,classicism-art ,color-field-painting ,colored-pencil-art ,conceptual-art ,constructivism ,cubism ,dadaism ,dark-fantasy ,dark-moody-atmosphere ,dmt-art ,doodle-art ,double-exposure ,dripping-paint-splatter ,expressionism ,faded-polaroid-photo ,fauvism ,flat-2d ,fortnite-style ,futurism ,glitchcore ,glo-fi ,googie-style ,graffiti-art ,harlem-renaissance-art ,high-fashion ,idyllic ,impressionism ,infographic-drawing ,ink-dripping-drawing ,japanese-ink-drawing ,knolling-photography ,light-cheery-atmosphere ,logo-design ,luxurious-elegance ,macro-photography ,mandola-art ,marker-drawing ,medievalism ,minimalism ,neo-baroque ,neo-byzantine ,neo-futurism ,neo-impressionism ,neo-rococo ,neoclassicism ,op-art ,ornate-and-intricate ,pencil-sketch-drawing ,pop-art-2 ,rococo ,silhouette-art ,simple-vector-art ,sketchup ,steampunk-2 ,surrealism ,suprematism ,terragen ,tranquil-relaxing-atmosphere ,sticker-designs ,vibrant-rim-light ,volumetric-lighting ,watercolor ,whimsical-and-playful ,sharp ,masterpiece ,photograph ,negative ,cinematic ,ads-advertising ,ads-automotive ,ads-corporate ,ads-fashion-editorial ,ads-food-photography ,ads-gourmet-food-photography ,ads-luxury ,ads-real-estate ,ads-retail ,abstract ,abstract-expressionism ,art-deco ,art-nouveau ,constructivist ,cubist ,expressionist ,graffiti ,hyperrealism ,impressionist ,pointillism ,pop-art ,psychedelic ,renaissance ,steampunk ,surrealist ,typography ,watercolor ,futuristic-biomechanical ,futuristic-biomechanical-cyberpunk ,futuristic-cybernetic ,futuristic-cybernetic-robot ,futuristic-cyberpunk-cityscape ,futuristic-futuristic ,futuristic-retro-cyberpunk ,futuristic-retro ,futuristic-sci-fi ,futuristic-vaporwave ,game-bubble ,game-cyberpunk ,game-fighting ,game-gta ,game-mario ,game-minecraft ,game-pokemon ,game-retro-arcade ,game-retro ,game-rpg-fantasy ,game-strategy ,game-streetfighter ,game-zelda ,misc-architectural ,misc-disco ,misc-dreamscape ,misc-dystopian ,misc-fairy-tale ,misc-gothic ,misc-grunge ,misc-horror ,misc-kawaii ,misc-lovecraftian ,misc-macabre ,misc-manga ,misc-metropolis ,misc-minimalist ,misc-monochrome ,misc-nautical ,misc-space ,misc-stained-glass ,misc-techwear-fashion ,misc-tribal ,misc-zentangle ,papercraft-collage ,papercraft-flat-papercut ,papercraft-kirigami ,papercraft-paper-mache ,papercraft-paper-quilling ,papercraft-papercut-collage ,papercraft-papercut-shadow-box ,papercraft-stacked-papercut ,papercraft-thick-layered-papercut ,photo-alien ,photo-film-noir ,photo-glamour ,photo-hdr ,photo-iphone-photographic ,photo-long-exposure ,photo-neon-noir ,photo-silhouette ,photo-tilt-shift ,3d-model ,analog-film ,anime ,cinematic ,comic-book ,craft-clay ,digital-art ,fantasy-art ,isometric ,line-art ,lowpoly ,neonpunk ,origami ,photographic ,pixel-art ,texture , |
webhook | Set an URL to get a POST API call once the image generation is complete. |
track_id | This ID is returned in the response to the webhook API call. This will be used to identify the webhook request. |
Example
Body
Body
{
"key": "",
"prompt": "a cat sitting on a bench",
"negative_prompt": "bad quality",
"init_image": "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo.png",
"width": "512",
"height": "512",
"samples": "1",
"temp": false,
"safety_checker": false,
"strength":0.7,
"seed": null,
"webhook": null,
"track_id": null
}
Request
- JS
- PHP
- NODE
- PYTHON
- JAVA
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({
"key": "",
"prompt": "a cat sitting on a bench",
"negative_prompt": "bad quality",
"init_image": "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo.png",
"width": "512",
"height": "512",
"samples": "1",
"temp": false,
"safety_checker": false,
"strength":0.7,
"seed": null,
"webhook": null,
"track_id": null
});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://modelslab.com/api/v6/realtime/img2img", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
<?php
$payload = [
"key" => "",
"prompt" => "a cat sitting on a bench",
"negative_prompt" => "bad quality",
"init_image" => "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo.png",
"width" => "512",
"height" => "512",
"samples" => "1",
"temp" => false,
"safety_checker" => false,
"strength" => 0.7,
"seed" => null,
"webhook" => null,
"track_id" => null
];
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://modelslab.com/api/v6/realtime/img2img',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => json_encode($payload),
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://modelslab.com/api/v6/realtime/img2img',
'headers': {
'Content-Type': 'application/json'
},
body: JSON.stringify({
"key": "",
"prompt": "a cat sitting on a bench",
"negative_prompt": "bad quality",
"init_image": "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo.png",
"width": "512",
"height": "512",
"samples": "1",
"temp": false,
"safety_checker": false,
"strength":0.7,
"seed": null,
"webhook": null,
"track_id": null
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
import requests
import json
url = "https://modelslab.com/api/v6/realtime/img2img"
payload = json.dumps({
"key": "",
"prompt": "a cat sitting on a bench",
"negative_prompt": "bad quality",
"init_image": "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo.png",
"width": "512",
"height": "512",
"samples": "1",
"temp": False,
"safety_checker": False,
"strength":0.7,
"seed": None,
"webhook": None,
"track_id": None
})
headers = {
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n \"key\": \"\",\n \"prompt\": \"a cat sitting on a bench\",\n \"negative_prompt\": \"bad quality\",\n \"init_image\": \"https://raw.githubusercontent.com/CompVis/stable-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo.png\",\n \"width\": \"512\",\n \"height\": \"512\",\n \"samples\": \"1\",\n \"temp\": false,\n \"safety_checker\": false,\n \"strength\":0.7,\n \"seed\": null,\n \"webhook\": null,\n \"track_id\": null\n}");
Request request = new Request.Builder()
.url("https://modelslab.com/api/v6/realtime/img2img")
.method("POST", body)
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(request).execute();
Response
Example Response
{
"status": "success",
"generationTime": 2.920767068862915,
"id": 302455,
"output": [
"https://d1okzptojspljx.cloudfront.net/generations/05c3260d-6a2e-4aa5-82f0-e952f2a5fa10-0.png"
],
"meta": {
"H": 512,
"W": 512,
"enable_attention_slicing": "true",
"file_prefix": "05c3260d-6a2e-4aa5-82f0-e952f2a5fa10",
"model": "runwayml/stable-diffusion-v1-5",
"n_samples": 1,
"negative_prompt": "((out of frame)), ((extra fingers)), mutated hands, ((poorly drawn hands)), ((poorly drawn face)), (((mutation))), (((deformed))), (((tiling))), ((naked)), ((tile)), ((fleshpile)), ((ugly)), (((abstract))), blurry, ((bad anatomy)), ((bad proportions)), ((extra limbs)), cloned face, (((skinny))), glitchy, ((extra breasts)), ((double torso)), ((extra arms)), ((extra hands)), ((mangled fingers)), ((missing breasts)), (missing lips), ((ugly face)), ((fat)), ((extra legs)), anime",
"outdir": "out",
"prompt": "ultra realistic close up portrait ((beautiful pale cyberpunk female with heavy black eyeliner)), blue eyes, shaved side haircut, hyper detail, cinematic lighting, magic neon, dark red city, Canon EOS R3, nikon, f/1.4, ISO 200, 1/160s, 8K, RAW, unedited, symmetrical balance, in-frame, 8K",
"revision": "fp16",
"safety_checker": "none",
"seed": 1793745243,
"steps": 20,
"vae": "stabilityai/sd-vae-ft-mse"
}
}