> For the complete documentation index, see [llms.txt](https://ideogram.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ideogram.gitbook.io/docs/create/custom-models/custom-model-training-tips.md).

# Training Tips

How to build a training set for an Ideogram custom model, write good captions, upload captions in bulk, and fix a model that comes out wrong.

A custom model is only as good as the images and captions you train it on. This page covers how to choose images, write captions and check the result. For the training steps themselves, see [Custom Models](/docs/create/custom-models.md).

Training costs 4,000 credits each time, so it pays to get the set right before you click **Start training**.

Only train on images you own or have permission to use. See Ideogram's [Terms of Service](https://ideogram.ai/legal/tos).

## Decide what the model should learn

Pick one thing to teach, and keep it the same in every image:

| You want the model to learn                                           | Keep the same in every image                             | Change from image to image                 |
| --------------------------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------ |
| A visual style, such as your illustration look or brand art direction | The style: line, color treatment, texture, lighting mood | The subjects, scenes and compositions      |
| A product                                                             | The product itself, with the same shape, colors and logo | Angles, distance, backgrounds and lighting |
| A character or mascot                                                 | The character's face, build and fixed features           | Poses, outfits, settings and expressions   |

The model learns whatever stays constant. If every image has the same background, it learns the background too.

## Choose your images

Ideogram needs **15 to 100 images**: AVIF, HEIC, JPG, PNG or WebP, up to 25 MB each.

* **Start with 20 to 30 strong images.** Quality beats quantity. Add more only if the set is missing variety.
* **Use sharp, well-lit images.** The model copies what it sees, including blur, noise and compression artifacts.
* **Show variety.** Use different subjects, scenes, angles and lighting, so the model learns the style or subject and not one photo.
* **Leave out near-duplicates.** Ten shots of the same scene teach the model to repeat that scene.
* **Remove what you don't want learned.** Crop out watermarks, captions burned into the image, UI and clutter. Leave out heavy filters unless they're part of the style.
* **Keep it consistent.** One off-style image in a small set pulls the whole model toward it.

### A quick check before you upload

1. Lay the images out side by side.
2. Ask: what do they all have in common? That's what the model will learn.
3. Remove any image that doesn't share it.
4. Ask: what else repeats that I don't want? Swap out images until only the thing you want stays constant.

## Write good captions

Captions tell the model what's in each picture, so it can separate the content from the style or subject you're teaching.

1. After you add images, click **Describe images**. Ideogram writes a caption for each one.
2. Read every caption and fix anything wrong or vague.

Tips for captions:

* **Describe what's in the image:** the subject, the setting and the composition, such as "a red bicycle leaning against a brick wall, seen from the side".
* **Use the words you'll prompt with.** If you'll prompt "our mascot Pip", call the character "Pip" in every caption.
* **Name the subject the same way every time** when training a product or character. Use one name, spelled the same, in each caption.
* **Don't repeat the style words in every caption** when training a style. Describe the content and let the images carry the style.
* **Vary the wording.** Don't start every caption the same way.
* **Keep captions focused.** One or two sentences is usually enough. The limit is 2,000 characters.

### Upload captions in bulk

To caption many images at once, add a CSV file, such as `captions.csv`, to your upload. Put it in a ZIP with your images, or select it together with the images.

* The CSV needs two columns: `filename` and `caption`.
* Each `filename` must match an image in the same upload.

```csv
filename,caption
bike-01.jpg,a red bicycle leaning against a brick wall, seen from the side
bike-02.jpg,a red bicycle parked on a beach at sunset, wide shot
```

If something doesn't match, Ideogram shows **Missing caption for image** or **Caption has no matching image**. Fix the CSV and upload again.

## Fix upload errors

| Message                        | What to do                                                     |
| ------------------------------ | -------------------------------------------------------------- |
| **File size too large**        | Save the image under 25 MB.                                    |
| **Unsupported file type**      | Convert it to AVIF, HEIC, JPG, PNG or WebP.                    |
| **Image resolution too large** | Resize the image to smaller pixel dimensions.                  |
| **Too many images uploaded**   | Remove images until you have 100 or fewer.                     |
| **Caption is too long**        | Shorten the caption to 2,000 characters or fewer.              |
| **Invalid CSV format**         | Make sure the CSV has `filename` and `caption` column headers. |
| **Failed safety check**        | Remove the image. It can't be used for training.               |

Start training when the panel says **You're ready to train**.

## Test your model

When training finishes, try the model before you rely on it:

1. Prompt with words from your captions. The model knows those best.
2. Prompt with a subject that isn't in your training set, such as a new object in your style.
3. Generate several images per prompt and compare them to your training set.

### If the results are off

| What you see                                                          | Likely cause                                                        | What to try next time                                                  |
| --------------------------------------------------------------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| Images look like copies of your training images                       | Too little variety, or near-duplicates                              | Add more varied images and remove look-alikes.                         |
| The style is weak or inconsistent                                     | Mixed styles in the set, or captions that describe the style        | Remove off-style images. Describe content, not style, in the captions. |
| The product or character changes from image to image                  | Too few angles, or the subject is named differently across captions | Add more angles and use one name in every caption.                     |
| Unwanted details keep appearing, such as a background or a color cast | They repeat across the training images                              | Swap in images where that detail changes.                              |

Retraining starts a new model and costs 4,000 credits again, so change the set and the captions together.

## Need more than 100 images?

For larger datasets, hands-on setup or exact logos and typography, use **Talk to our team** on the new-model page. That's Ideogram's offer for brands and enterprise.

## In this topic: consistent results

1. [Reference Images](/docs/create/reference-images.md): guide a result with your own images
2. [Characters](/docs/organize-and-share/characters.md): save a character and reuse it
3. [Custom Models](/docs/create/custom-models.md): train a model on your style or product
4. **Training Tips** (this page): build a training set that works

## Related

* [Describe](/docs/create/describe.md)
* [Batch Generation](/docs/create/batch.md)
