LoRA
Overview
The LoRA is used to create image from text, using LoRA models, based on trained or on public models.
note
You can make an API call using your trained models or any public model by also passing the lora_model
ID parameter.
You can find a list of the public and LoRA models available and their IDs here.
tip
You can also use multi Lora. Just make sure to pass comma saparated lora model ids to the lora_model
as "more_details,animie"
in the request body.
Request
--request POST 'https://modelslab.com/api/v6/images/text2img' \
Make a POST
request to https://modelslab.com/api/v6/images/text2img endpoint and pass the required parameters in the request body.
Body Attributes
Parameter | Description | Values |
---|---|---|
key | Your API Key used for request authorization. | string |
model_id | The ID of the model to be used. It can be a public model or your trained model. | ID |
prompt | A text description of the things you want in the generated image. | string |
negative_prompt | Items you don't want in the image. | string |
width | The width of the image. | Maximum value is 1024. |
height | The height of the image. | Maximum value is 1024. |
samples | Number of images to be returned in response. | Maximum value is 4. |
num_inference_steps | Number of denoising steps. | Accepts values: 21, 31, 41. |
safety_checker | A checker for NSFW images. If detected, such images will be replaced by a blank image. | Default: "yes", Options: "yes"/"no" |
enhance_prompt | Enhance prompts for better results. | Default: "yes", Options: "yes"/"no" |
seed | Used to reproduce results. The same seed will generate the same image again. | Pass null for a random number. |
guidance_scale | Scale for classifier-free guidance. | Minimum: 1, Maximum: 20 |
multi_lingual | Allows multilingual prompts to generate images. Set to "yes" if using a language other than English in text prompts. | Options: "yes"/"no" |
panorama | Set to generate a panorama image. | Options: "yes"/"no" |
self_attention | Set for a high-quality image, though it will take more time. | Options: "yes"/"no" |
upscale | Set to upscale the image resolution two times (2x). If the requested resolution is 512 x 512 px, the generated image will be 1024 x 1024 px. | Options: "yes"/"no" |
embeddings_model | Use to pass an embeddings model (embeddings_model_id). | ID |
lora_model | Pass LoRa model ID. Multiple LoRa models are supported; pass comma-separated values. | ID |
lora_strength | Specify the strength of the LoRa model you're using. If using multiple LoRa models, provide each value as a comma-separated range. | Range: minimum 0.1 to maximum 1 |
scheduler | Use to set a scheduler. | scheduler |
webhook | Set a URL to receive a POST API call once image generation is complete. | URL |
track_id | ID returned in the response to the webhook API call, used to identify the request. | Integral value |
clip_skip | Clip Skip. | Minimum: 1, Maximum: 8 |
base64 | Get the response as a base64 string. Pass init_image, mask_image, and control_image as base64 strings to get a base64 response. | Default: "no", Options: "yes"/"no" |
temp | Create a temporary image link valid for 24 hours. | Options: "yes"/"no" |
Schedulers
This endpoint also supports schedulers. Use the "scheduler" parameter in the request body to pass a specific scheduler from the list below:
- DDPMScheduler
- DDIMScheduler
- PNDMScheduler
- LMSDiscreteScheduler
- EulerDiscreteScheduler
- EulerAncestralDiscreteScheduler
- DPMSolverMultistepScheduler
- HeunDiscreteScheduler
- KDPM2DiscreteScheduler
- DPMSolverSinglestepScheduler
- KDPM2AncestralDiscreteScheduler
- UniPCMultistepScheduler
- DDIMInverseScheduler
- DEISMultistepScheduler
- IPNDMScheduler
- KarrasVeScheduler
- ScoreSdeVeScheduler
- LCMScheduler
Example
Body
Body
{
"key": "",
"model_id": "tamarin-xl-v1",
"prompt": "actual 8K portrait photo of gareth person, portrait, happy colors, bright eyes, clear eyes, warm smile, smooth soft skin, big dreamy eyes, beautiful intricate colored hair, symmetrical, anime wide eyes, soft lighting, detailed face, by makoto shinkai, stanley artgerm lau, wlop, rossdraws, concept art, digital painting, looking into camera",
"negative_prompt": "painting, extra fingers, mutated hands, poorly drawn hands, poorly drawn face, deformed, ugly, blurry, bad anatomy, bad proportions, extra limbs, cloned face, skinny, glitchy, double torso, extra arms, extra hands, mangled fingers, missing lips, ugly face, distorted face, extra legs, anime",
"width": "512",
"height": "512",
"samples": "1",
"num_inference_steps": "31",
"safety_checker": "no",
"enhance_prompt": "yes",
"seed": null,
"guidance_scale": 7.5,
"panorama": "no",
"self_attention": "no",
"upscale": "no",
"lora_strength": "0.45",
"lora_model": "xl-realistic-cake-art-sty",
"scheduler": "UniPCMultistepScheduler",
"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": "",
"model_id": "tamarin-xl-v1",
"prompt": "actual 8K portrait photo of gareth person, portrait, happy colors, bright eyes, clear eyes, warm smile, smooth soft skin, big dreamy eyes, beautiful intricate colored hair, symmetrical, anime wide eyes, soft lighting, detailed face, by makoto shinkai, stanley artgerm lau, wlop, rossdraws, concept art, digital painting, looking into camera",
"negative_prompt": "painting, extra fingers, mutated hands, poorly drawn hands, poorly drawn face, deformed, ugly, blurry, bad anatomy, bad proportions, extra limbs, cloned face, skinny, glitchy, double torso, extra arms, extra hands, mangled fingers, missing lips, ugly face, distorted face, extra legs, anime",
"width": "512",
"height": "512",
"samples": "1",
"num_inference_steps": "31",
"safety_checker": "no",
"enhance_prompt": "yes",
"seed": null,
"guidance_scale": 7.5,
"panorama": "no",
"self_attention": "no",
"upscale": "no",
"lora_model": "xl-realistic-cake-art-sty",
"lora_strength": "0.45",
"scheduler": "UniPCMultistepScheduler",
"webhook": null,
"track_id": null
});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://modelslab.com/api/v6/images/text2img", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
<?php
$payload = [
"key" => "",
"model_id" => "tamarin-xl-v1",
"prompt" => "actual 8K portrait photo of gareth person, portrait, happy colors, bright eyes, clear eyes, warm smile, smooth soft skin, big dreamy eyes, beautiful intricate colored hair, symmetrical, anime wide eyes, soft lighting, detailed face, by makoto shinkai, stanley artgerm lau, wlop, rossdraws, concept art, digital painting, looking into camera",
"negative_prompt" => "painting, extra fingers, mutated hands, poorly drawn hands, poorly drawn face, deformed, ugly, blurry, bad anatomy, bad proportions, extra limbs, cloned face, skinny, glitchy, double torso, extra arms, extra hands, mangled fingers, missing lips, ugly face, distorted face, extra legs, anime",
"width" => "512",
"height" => "512",
"samples" => "1",
"num_inference_steps" => "31",
"safety_checker" => "no",
"enhance_prompt" => "yes",
"seed" => null,
"guidance_scale" => 7.5,
"panorama" => "no",
"self_attention" => "no",
"upscale" => "no",
"lora_model" => "xl-realistic-cake-art-sty",
"lora_strength"=> "0.45",
"scheduler" => "UniPCMultistepScheduler",
"webhook" => null,
"track_id" => null
];
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://modelslab.com/api/v6/images/text2img',
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/images/text2img',
'headers': {
'Content-Type': 'application/json'
},
body: JSON.stringify({
"key": "",
"model_id": "tamarin-xl-v1",
"prompt": "actual 8K portrait photo of gareth person, portrait, happy colors, bright eyes, clear eyes, warm smile, smooth soft skin, big dreamy eyes, beautiful intricate colored hair, symmetrical, anime wide eyes, soft lighting, detailed face, by makoto shinkai, stanley artgerm lau, wlop, rossdraws, concept art, digital painting, looking into camera",
"negative_prompt": "painting, extra fingers, mutated hands, poorly drawn hands, poorly drawn face, deformed, ugly, blurry, bad anatomy, bad proportions, extra limbs, cloned face, skinny, glitchy, double torso, extra arms, extra hands, mangled fingers, missing lips, ugly face, distorted face, extra legs, anime",
"width": "512",
"height": "512",
"samples": "1",
"num_inference_steps": "31",
"safety_checker": "no",
"enhance_prompt": "yes",
"seed": null,
"guidance_scale": 7.5,
"panorama": "no",
"self_attention": "no",
"upscale": "no",
"lora_model": "xl-realistic-cake-art-sty",
"lora_strength": "0.45",
"embeddings_model": null,
"scheduler": "UniPCMultistepScheduler",
"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/images/text2img"
payload = json.dumps({
"key": "",
"model_id": "tamarin-xl-v1",
"prompt": "actual 8K portrait photo of gareth person, portrait, happy colors, bright eyes, clear eyes, warm smile, smooth soft skin, big dreamy eyes, beautiful intricate colored hair, symmetrical, anime wide eyes, soft lighting, detailed face, by makoto shinkai, stanley artgerm lau, wlop, rossdraws, concept art, digital painting, looking into camera",
"negative_prompt": "painting, extra fingers, mutated hands, poorly drawn hands, poorly drawn face, deformed, ugly, blurry, bad anatomy, bad proportions, extra limbs, cloned face, skinny, glitchy, double torso, extra arms, extra hands, mangled fingers, missing lips, ugly face, distorted face, extra legs, anime",
"width": "512",
"height": "512",
"samples": "1",
"num_inference_steps": "31",
"safety_checker": "no",
"enhance_prompt": "yes",
"seed": None,
"guidance_scale": 7.5,
"panorama": "no",
"self_attention": "no",
"upscale": "no",
"lora_model": "xl-realistic-cake-art-sty",
"lora_strength": "0.45",
"embeddings_model": None,
"scheduler": "UniPCMultistepScheduler",
"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 \"model_id\": \"your_model_id\",\n \"prompt\": \"actual 8K portrait photo of gareth person, portrait, happy colors, bright eyes, clear eyes, warm smile, smooth soft skin, big dreamy eyes, beautiful intricate colored hair, symmetrical, anime wide eyes, soft lighting, detailed face, by makoto shinkai, stanley artgerm lau, wlop, rossdraws, concept art, digital painting, looking into camera\",\n \"negative_prompt\": \"painting, extra fingers, mutated hands, poorly drawn hands, poorly drawn face, deformed, ugly, blurry, bad anatomy, bad proportions, extra limbs, cloned face, skinny, glitchy, double torso, extra arms, extra hands, mangled fingers, missing lips, ugly face, distorted face, extra legs, anime\",\n \"width\": \"512\",\n \"height\": \"512\",\n \"samples\": \"1\",\n \"num_inference_steps\": \"30\",\n \"safety_checker\":\"no\",\n \"enhance_prompt\":\"yes\",\n \"seed\": null,\n \"guidance_scale\": 7.5,\n \"panorama\":\"no\",\n \"self_attention\":\"no\",\n \"upscale\":\"no\",\n \"embeddings_model\":\"no\",\n \"lora_model\":\"xl-realistic-cake-art-sty\",\n \"lora_strength\":\"0.45,\",\n \"scheduler\":\"UniPCMultistepScheduler\",\n \"webhook\": null,\n \"track_id\": null\n}");
Request request = new Request.Builder()
.url("https://modelslab.com/api/v6/images/text2img")
.method("POST", body)
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(request).execute();
Response
{
"status": "success",
"generationTime": 11.079592943191528,
"id": 95120262,
"output": ["https://pub-3626123a908346a7a8be8d9295f44e26.r2.dev/generations/0-9418e305-3fa8-4b51-be96-bd58f4c09c9e.png"],
"meta": {
"prompt": " actual 8K portrait photo of gareth person, portrait, happy colors, bright eyes, clear eyes, warm smile, smooth soft skin, big dreamy eyes, beautiful intricate colored hair, symmetrical, anime wide eyes, soft lighting, detailed face, by makoto shinkai, stanley artgerm lau, wlop, rossdraws, concept art, digital painting, looking into camera hyperrealistic, full body, detailed clothing, highly detailed, cinematic lighting, stunningly beautiful, intricate, sharp focus, f/1. 8, 85mm, (centered image composition), (professionally color graded), ((bright soft diffused light)), volumetric fog, trending on instagram, trending on tumblr, HDR 4K, 8K",
"model_id": "tamarin-xl-v1",
"negative_prompt": "painting, extra fingers, mutated hands, poorly drawn hands, poorly drawn face, deformed, ugly, blurry, bad anatomy, bad proportions, extra limbs, cloned face, skinny, glitchy, double torso, extra arms, extra hands, mangled fingers, missing lips, ugly face, distorted face, extra legs, anime (child:1.5), ((((underage)))), ((((child)))), (((kid))), (((preteen))), (teen:1.5) ugly, tiling, poorly drawn hands, poorly drawn feet, poorly drawn face, out of frame, extra limbs, disfigured, deformed, body out of frame, bad anatomy, watermark, signature, cut off, low contrast, underexposed, overexposed, bad art, beginner, amateur, distorted face, blurry, draft, grainy",
"scheduler": "UniPCMultistepScheduler",
"safety_checker": "no",
"W": 512,
"H": 512,
"guidance_scale": 7.5,
"seed": 1224445153,
"steps": 30,
"n_samples": 1,
"full_url": "no",
"instant_response": "no",
"tomesd": "no",
"ip_adapter_id": null,
"ip_adapter_scale": 0.6,
"ip_adapter_image": null,
"free_u": "no",
"upscale": "no",
"panorama": "no",
"self_attention": "no",
"use_karras_sigmas": "no",
"algorithm_type": "no",
"safety_checker_type": "sensitive_content_text",
"embeddings": null,
"vae": null,
"lora": "xl-realistic-cake-art-sty",
"lora_strength": "0.45",
"clip_skip": 1,
"temp": "no",
"base64": "no",
"file_prefix": "9418e305-3fa8-4b51-be96-bd58f4c09c9e.png"
},
}