Custom Model Training
Train a custom model on your own images, then use it to generate new images in your unique style.
Overview
Custom model training lets you fine-tune an Ideogram model on your own dataset of images. Once training completes, you can use the model with the Generate endpoint by passing its custom_model_uri.
The workflow has four steps:
- Create a dataset to hold your training images.
- Upload images (and optional captions) to the dataset.
- Start training to kick off the model training job.
- Generate images using your trained model.
Step 1: Create a Dataset
Python
cURL
Step 2: Upload Training Images
Upload your training images to the dataset. You can upload individual images (JPEG, PNG, WebP), optional .txt caption sidecar files, or ZIP archives containing both.
- A dataset needs at least 10 images to start training.
- A dataset can hold up to 100 images.
- Caption files are matched by filename stem (e.g.
sunset.txtcaptionssunset.jpg).
Python
cURL
You can also upload a ZIP file containing images and captions together, which is convenient for larger datasets.
Step 3: Train the Model
Once your dataset has enough images, start training by giving your model a name.
Python
cURL
Checking Training Status
Poll the model details endpoint to check when training completes.
Python
cURL
Step 4: Generate with Your Model
Once training is complete and is_available_for_generation is true, use the custom_model_uri from the model details to generate images.
Python
cURL
Tips for Better Results
- Use high-quality images that clearly represent the style or subject you want the model to learn.
- Add captions to guide the model on what each image represents. Captions are optional!
- Use consistent subjects across your training images for best results with style transfer.