# Choosing an image model

> Pick an image model id from the catalog. Check that it edits, that it serves 4k, and what it costs, then try your own prompts on a shortlist.

Pick a model id from the [catalog](https://mynth.io/models) and pass it on every request.
Three things in the catalog entry decide whether a model can serve your
request at all. None of them is a matter of taste:

| Check                | Where to look                                    | If the model lacks it                        |
| -------------------- | ------------------------------------------------ | -------------------------------------------- |
| Does it take images? | `img->img` in `modes`, or `inputs` in `supports` | `400 VALIDATION_ERROR` when you send inputs  |
| Does it serve 4k?    | `pricing.perImage["4k"]`, or `4k` in `supports`  | The task fails on a `_4k` size               |
| What does it cost?   | `pricing.perImage.base`, plus `perInput`         | Nothing fails. You pay more than you planned |

Image prices differ by more than two orders of magnitude across the catalog,
so check the price before you pin a model.

```bash
npx @mynthio/cli models list --type image --capability img2img --4k --max-price 0.05
```

The same filters are on [mynth.io/models](https://mynth.io/models). `--max-price` compares
the base price per image.

> **Note**
>
> The catalog does not rank models, and neither do we. Which model looks best depends on your
> prompts and your taste. Pick two or three in the right price band and run your own prompts through
> them.

Once you have an id, pass it:

```bash
curl https://api.mynth.io/image/generate \
  -H "Authorization: Bearer $MYNTH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"black-forest-labs/flux.2-pro","prompt":"A lighthouse at dusk, 35mm film"}'
```

Do not leave `model` off to let Mynth choose. That falls back to `auto`,
which is experimental. [The model field](https://mynth.io/docs/models.md#auto-is-experimental)
explains why.

## Next steps

- [The model field](https://mynth.io/docs/models.md): catalog fields, input rules, and fields a model cannot serve.
- [Image to image](https://mynth.io/docs/guides/image-to-image.md): sending inputs to a model that edits.
- [Estimate cost](https://mynth.io/docs/guides/estimate-cost.md): price a request before you run it.
