Skip to main content

Dreambooth Text to Image Endpoint

Overview

The Dreambooth Text to Image API is used to create image from text from trained models or from public models.

You can make an API call to your trained models as well as to any public model. You can find a list of the public models available and their IDs here.

This endpoint generates and returns an image from a text passed in the request body.

Text to image endpoint result

Request

--request POST 'https://stablediffusionapi.com/api/v3/dreambooth' \

Make a POST request to https://stablediffusionapi.com/api/v3/dreambooth endpoint and pass the required parameters as a request body.

Watch the how-to video to see it in action.

Body Attributes

ParameterDescription
keyYour API Key used for request authorization
model_idThe ID of the model to be used. It can be public or your trained model.
promptText prompt with description of the things you want in the image to be generated
negative_promptItems you don't want in the image
widthMax Height: Width: 1024x1024
heightMax Height: Width: 1024x1024
samplesNumber of images to be returned in response. The maximum value is 4.
num_inference_stepsNumber of denoising steps (minimum: 1; maximum: 50)
safety_checkerA checker for NSFW images. If such an image is detected, it will be replaced by a blank image.
enhance_promptEnhance prompts for better results; default: yes, options: yes/no
seedSeed is used to reproduce results, same seed will give you same image in return again. Pass null for a random number.
guidance_scaleScale for classifier-free guidance (minimum: 1; maximum: 20)
multi_lingualAllow multi lingual prompt to generate images. Set this to "yes" if you use a language different from English in your text prompts.
panoramaSet this parameter to "yes" to generate a panorama image.
self_attentionIf you want a high quality image, set this parameter to "yes". In this case the image generation will take more time.
upscaleSet this parameter to "yes" if you want to upscale the given image resolution two times (2x). If the requested resolution is 512 x 512 px, the generated image will be 1024 x 1024 px.
embeddings_modelUse it to pass an embeddings model (embeddings_model_id).
schedulerUse it to set a scheduler.
webhookSet an URL to get a POST API call once the image generation is complete.
track_idThis ID is returned in the response to the webhook API call. This will be used to identify the webhook request.

Multi_lingual Supported Languages

If you use a language different from English in you text prompts, pass the "multi_lingual" parameter with "yes" value in the request body. This will trigger an automatic language detection and translation during the processing of your request.

The following languages are supported:

Arabic (ar_AR), Czech (cs_CZ), German (de_DE), English (en_XX), Spanish (es_XX), Estonian (et_EE), Finnish (fi_FI), French (fr_XX), Gujarati (gu_IN), Hindi (hi_IN), Italian (it_IT), Japanese (ja_XX), Kazakh (kk_KZ), Korean (ko_KR), Lithuanian (lt_LT), Latvian (lv_LV), Burmese (my_MM), Nepali (ne_NP), Dutch (nl_XX), Romanian (ro_RO), Russian (ru_RU), Sinhala (si_LK), Turkish (tr_TR), Vietnamese (vi_VN), Chinese (zh_CN), Afrikaans (af_ZA), Azerbaijani (az_AZ), Bengali (bn_IN), Persian (fa_IR), Hebrew (he_IL), Croatian (hr_HR), Indonesian (id_ID), Georgian (ka_GE), Khmer (km_KH), Macedonian (mk_MK), Malayalam (ml_IN), Mongolian (mn_MN), Marathi (mr_IN), Polish (pl_PL), Pashto (ps_AF), Portuguese (pt_XX), Swedish (sv_SE), Swahili (sw_KE), Tamil (ta_IN), Telugu (te_IN), Thai (th_TH), Tagalog (tl_XX), Ukrainian (uk_UA), Urdu (ur_PK), Xhosa (xh_ZA), Galician (gl_ES), Slovene (sl_SI)

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": "your_model_id",
"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": "30",
"safety_checker": "no",
"enhance_prompt": "yes",
"seed": null,
"guidance_scale": 7.5,
"multi_lingual": "no",
"panorama": "no",
"self_attention": "no",
"upscale": "no",
"embeddings_model": null,
"scheduler": "UniPCMultistepScheduler",
"webhook": null,
"track_id": null
}

Request

var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
"key": "",
"model_id": "your_model_id",
"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": "30",
"safety_checker": "no",
"enhance_prompt": "yes",
"seed": null,
"guidance_scale": 7.5,
"multi_lingual": "no",
"panorama": "no",
"self_attention": "no",
"upscale": "no",
"embeddings_model": null,
"scheduler": "UniPCMultistepScheduler",
"webhook": null,
"track_id": null
});

var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};

fetch("https://stablediffusionapi.com/api/v3/dreambooth", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));

Response

Example Response 1
{
"status": "success",
"generationTime": 2.0142014026641846,
"id": 12632768,
"output": [
"https://pub-8b49af329fae499aa563997f5d4068a4.r2.dev/generations/3e25f5d7-815b-46ad-be69-051b94a17c82-0.png"
],
"meta": {
"H": 512,
"W": 512,
"embeddings": null,
"file_prefix": "3e25f5d7-815b-46ad-be69-051b94a17c82",
"full_url": "no",
"guidance_scale": 7.5,
"lora": null,
"model_id": "synthwave-diffusion",
"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, glitchy, ((extra breasts)), ((double torso)), ((extra arms)), ((extra hands)), ((mangled fingers)), ((missing breasts)), (missing lips), ((ugly face)), ((fat)), ((extra legs))",
"outdir": "out",
"prompt": "nvinkpunk ultra realistic close up portrait ((beautiful pale cyberpunk female with heavy black eyeliner)) DSLR photography, sharp focus, Unreal Engine 5, Octane Render, Redshift, ((cinematic lighting)), f/1.4, ISO 200, 1/160s, 8K, RAW, unedited, symmetrical balance, in-frame",
"safetychecker": "no",
"scheduler": "UniPCMultistepScheduler",
"seed": 4036347397,
"steps": 20,
"upscale": "no"
}
}

Sometimes the response to your request might look like shown below with a processing status.

Instead of an output image, you will get its queue ID and the eta time needed for it to be generated. This is when the Fetch Queued Image endpoint of the Dreambooth API comes in handy. Simply pass your API key as the request body to the endpoint location returned by the fetch_result parameter.

Example Response 2
{
"status": "processing",
"tip": "for faster speed, keep resolution upto 512x512",
"eta": 29.247986918400002,
"messege": "Try to fetch request after given estimated time",
"fetch_result": "https://stablediffusionapi.com/api/v3/dreambooth/fetch/13481504",
"id": 13481504,
"output": [],
"meta": {
"prompt": " ultra realistic close up portrait beautiful pale cyberpunk female with heavy black eyeliner DSLR photography, sharp focus, Unreal Engine 5, Octane Render, Redshift, ((cinematic lighting)), f/1.4, ISO 200, 1/160s, 8K, RAW, unedited, symmetrical balance, in-frame",
"model_id": "midjourney-v4-painta",
"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 ((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, glitchy, ((extra breasts)), ((double torso)), ((extra arms)), ((extra hands)), ((mangled fingers)), ((missing breasts)), (missing lips), ((ugly face)), ((fat)), ((extra legs))",
"scheduler": "UniPCMultistepScheduler",
"safetychecker": "no",
"W": 512,
"H": 512,
"guidance_scale": 7.5,
"seed": 788960580,
"steps": 20,
"n_samples": 1,
"full_url": "no",
"upscale": "no",
"multi_lingual": "no",
"panorama": "no",
"self_attention": "no",
"embeddings": null,
"lora": null,
"outdir": "out",
"file_prefix": "ff6c0ac9-a2fc-4057-9123-66889a96479a"
}
}