Skip to main content

Train a Dreambooth Model with Custom Images (V2)

Overview

Using this endpoint you can train a Dreambooth model with your own images. You can train a model on any object or person.

Request

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

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

Now you can train a model on any other models used as a base model and get its style. You can choose to train on models like midjourney, portraitplus and many more.

info

Get the base_model_id from here.

tip

You can also read our blog article to learn more about model training.

Body Attributes

ParameterDescription
keyYour API Key used for request authorization
instance_promptText prompt with how you want to call your trained person/object
class_promptClassification of the trained person/object
base_model_idBase model ID to train your model on
imagesPass accessible direct links to images, cropped to 512 x 512 px. A good number is about 7-8 images.
learning_rate_unetLearning rate for the unet model. Leave it null for the default "1e-6" value.
steps_unetNumber of steps for the unet model; Leave it null for the default "1500" value.
learning_rate_text_encoderLearning rate for text encoder model. Leave it null for the default "1e-6" value.
steps_text_encoderNumber of steps for text encoder model. Leave it null for the default "350" value.
training_typeThe type of the object you are training on
webhookGet a post call when training is complete

Learning Rate Values

This the complete list of all the possible values for the learning_rate_unet and learning_rate_text_encoder parameters.

learning_rate_text_encoder values
["1e-5", "1e-6", "1e-7", "1e-8", "1e-9", "1e-10", "2e-0", "2e-1", "2e-2", "2e-3", "2e-4", "2e-5", "2e-6", "2e-7", "2e-8", "2e-9", "2e-10", "3e-0", "3e-1", "3e-2", "3e-3", "3e-4", "3e-5", "3e-6", "3e-7", "3e-8", "3e-9", "3e-10", "4e-0", "4e-1", "4e-2", "4e-3", "4e-4", "4e-5", "4e-6", "4e-7", "4e-8", "4e-9", "4e-10", "5e-0", "5e-1", "5e-2", "5e-3", "5e-4", "5e-5", "5e-6", "5e-7", "5e-8", "5e-9", "5e-10", "6e-0", "6e-1", "6e-2", "6e-3", "6e-4", "6e-5", "6e-6", "6e-7", "6e-8", "6e-9", "6e-10"]

Training Types

The table below lists all the possible values for the training_type parameter.

ValueDescription
menTrain on faces of men
femaleTrain on faces of females
coupleTrain on couples of male and female; in images array pass images of couples, instead of a single person
nullTrain on object or anything

Webhook Post JSON

This is an example webhook post call in JSON format.

{
"status": "success",
"training_status": "deploying_gpu",
"logs": "it will take upto 25 minutes",
"model_id": "F5jvdzGnYi",
}

Training Status Values

The table below describes all possible training statuses.

StatusDescription
deploying_gpuDeploying GPU
training_startedTraining started
training_successTraining completed successfully
trained_model_compressingCompressing the trained model
trained_model_uploadingUploading the trained model
trained_model_uploadedTrained model uploaded
deploying_modelDeploying the trained model
model_readyThe trained model is ready for use

Example

Body

Body
{
"key": "",
"instance_prompt": "photo of adhik person",
"class_prompt": "photo of person",
"base_model_id": "portraitplus-diffusion",
"images": [
"https://stablediffusionapi.com/storage/avatars/AdhikJoshi_00001.png",
"https://stablediffusionapi.com/storage/avatars/AdhikJoshi_00002.png",
"https://stablediffusionapi.com/storage/avatars/AdhikJoshi_00003.png",
"https://stablediffusionapi.com/storage/avatars/AdhikJoshi_00004.png",
"https://stablediffusionapi.com/storage/avatars/AdhikJoshi_00005.png",
"https://stablediffusionapi.com/storage/avatars/AdhikJoshi_00006.png",
"https://stablediffusionapi.com/storage/avatars/AdhikJoshi_00007.png"
],
"seed": "0",
"training_type": "men",
"learning_rate_unet": "2e-6",
"steps_unet": "1500",
"learning_rate_text_encoder": "1e-6",
"steps_text_encoder": "350",
"webhook": ""
}

Request

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

var raw = JSON.stringify({
"key": "",
"instance_prompt": "photo of adhik person",
"class_prompt": "photo of person",
"base_model_id": "portraitplus-diffusion",
"images": [
"https://stablediffusionapi.com/storage/avatars/AdhikJoshi_00001.png",
"https://stablediffusionapi.com/storage/avatars/AdhikJoshi_00002.png",
"https://stablediffusionapi.com/storage/avatars/AdhikJoshi_00003.png",
"https://stablediffusionapi.com/storage/avatars/AdhikJoshi_00004.png",
"https://stablediffusionapi.com/storage/avatars/AdhikJoshi_00005.png",
"https://stablediffusionapi.com/storage/avatars/AdhikJoshi_00006.png",
"https://stablediffusionapi.com/storage/avatars/AdhikJoshi_00007.png"
],
"seed": "0",
"training_type": "men",
"learning_rate_unet": "2e-6",
"steps_unet": "1500",
"learning_rate_text_encoder": "1e-6",
"steps_text_encoder": "350",
"webhook": ""
});

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

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

Response

{
"status": "success",
"messege": "deploying_gpu",
"data": "it will take upto 25 minutes.",
"training_id": "F5jvdzGnYi"
}