> For the complete documentation index, see [llms.txt](https://anyint.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://anyint.gitbook.io/docs/models-and-modalities/models.md).

# models

Model selection in AnyInt is a product decision, not only a code decision. You are choosing a request shape, an output modality, and an operational path at the same time.

## Start with the models route

The safest workflow is:

1. Query `GET /v1/models`
2. Confirm the model ID available to your account
3. Save that exact `data[].id` in your application config

Do not treat a marketing label or provider nickname as the source of truth.

## Pick a compatibility family first

| Family               | Best for                                                          | Request shape           | Output style                          |
| -------------------- | ----------------------------------------------------------------- | ----------------------- | ------------------------------------- |
| OpenAI-compatible    | fastest first integration                                         | OpenAI Chat Completions | sync or streaming                     |
| Anthropic-compatible | Claude-style content blocks and token counting                    | Anthropic Messages API  | sync                                  |
| Gemini-compatible    | `generateContent`, Gemini streaming, native function declarations | Gemini-native           | sync or streaming                     |
| DashScope media      | prompt-driven image and video generation                          | media-specific          | sync for images, task-based for video |
| AI Music             | song generation, covers, stems, lyrics, MV                        | music-specific          | task-based                            |

## What to evaluate before choosing a model

| Question                                                | Why it matters                                                         |
| ------------------------------------------------------- | ---------------------------------------------------------------------- |
| Which compatibility family do I want?                   | OpenAI, Anthropic, and Gemini routes use different request shapes      |
| Is the route sync, stream, or task-based?               | Media and music flows often return task IDs instead of final artifacts |
| Do I need text, image, video, or music output?          | Not every family supports every modality                               |
| Is this workload latency-sensitive or budget-sensitive? | Routing and fallback policy usually start here                         |
| Is this for production or exploration?                  | Subscription and key restrictions can differ by environment            |

## Recommended selection strategy

* Use the OpenAI-compatible route for the fastest first integration
* Use provider-native routes when you need provider-specific request formats
* Use DashScope media routes for image or video creation
* Use AI Music when the output is a song, cover, lyric package, stem split, or MV workflow

## Keep model selection stable in production

* Store model IDs in config, not inline in application code
* Keep separate model defaults for staging and production
* Document any fallback behavior next to the primary model choice
* Re-sync the models route regularly if your product depends on newly added models

## Account-level variability

Model access can vary by:

* subscription type
* custom model purchases
* key-level restrictions
* organization policies

That is why this docs set references the models route repeatedly instead of assuming one universal public list.
