# Choose the model

> CutPro's full catalog of AI models: text, embeddings, image, video, voice, music, sound, avatars, 3D and tools, with prices and what each takes.

Every model CutPro runs is in `GET /models`: chat models (Claude, GPT, Gemini, Grok, DeepSeek, Qwen, Llama, Mistral and more), embeddings, image, video, voice, music, sound effects, talking avatars, 3D and image and video tools. `GET /models/featured` lists only the strongest of each kind, for when the user picks none.

```bash
curl "https://api.cut.pro/api/v1/models?kind=music" \
  -H "X-Api-Key: $CUTPRO_API_KEY"
```

```json title="200 OK (shortened example)"
{
  "models": [
    {
      "id": "suno/music-generate",
      "name": "Suno Generate Music",
      "maker": "suno",
      "kind": "music",
      "endpoint": "generations",
      "featured": false,
      "pricing": [{ "unit": "run", "credits": 13.73, "mode": null, "resolution": null, "silent_credits": null }],
      "priced_by_request": true,
      "parameters": {
        "properties": {
          "custom_mode": { "type": "boolean" },
          "instrumental": { "type": "boolean" },
          "model": { "type": "string" },
          "prompt": { "type": "string" },
          "style": { "type": "string" },
          "lyrics": { "type": "string" }
        },
        "required": ["custom_mode", "instrumental", "model"]
      }
    }
  ]
}
```

Narrow it with `kind`, `endpoint`, `q` (part of the id or the name) or `id`.

| Field | What it is for |
|---|---|
| `kind` | What the model makes: `text`, `embedding`, `image`, `video`, `speech` (a voice), `music`, `audio` (sound effects, music and audio edits), `avatar` (a person speaking from a photo and a sound), `model3d`, `tool` (edits an image: upscale, remove the background, erase) or `videoedit` (edits a video). |
| `endpoint` | Where it runs: `generations` ([Generate with AI](/en/generations)), `chat_completions` or `embeddings` ([Chat and embeddings](/en/text)). |
| `pricing` | Credits per unit: `image`, `second`, `minute`, `1k_characters`, `run` (per run), `megapixel` (of the result; for a video, of every frame) or per million tokens (`1m_input_tokens`, `1m_output_tokens`, `1m_tokens`; for a video, its tokens are each frame's pixels divided by 1,024). |
| `priced_by_request` | `true` when the total depends on the request's fields (length, quality): always read it from `POST /generations/quote`. |
| `parameters` | The model's own fields (quality, steps, guidance, negative prompt, style), sent in `options` of `POST /generations`. `prompt`, `seconds`, `aspect_ratio`, `voice`, `seed`, images, sounds and video are placed under the right names for you. It works for the curated image, video and voice models too. |
| `supported_parameters` | For a text model, the fields it takes beyond `messages`, such as `reasoning_effort`, `reasoning`, `tools` and `response_format`. |
| `context_length`, `max_output_tokens` | For text models. |
| `modes`, `resolutions`, `seconds`, `voices` and the rest | For the image, video and voice models CutPro curates. |

> Prices can change at any time. Read them from here or, for the exact total of a generation, from `POST /generations/quote`. Never hard-code a price.
