Models.dev — это открытая база данных с характеристиками, ценами и возможностями AI-моделей. Проект начали как сообщество, потому что единого справочника по всем моделям не существовало. Данные лежат в репозитории в виде TOML-файлов, разложенных по папкам провайдеров. Получить их можно через API простым curl-запросом, а логотипы провайдеров доступны как SVG-файлы.
Чтобы добавить новую модель, нужно начать с проверки — есть ли уже провайдер в папке providers/. Если нет, создаётся новая директория с ID провайдера. Внутри кладётся provider.toml с названием, именем npm-пакета для AI SDK, ключами авторизации и ссылкой на документацию. Для провайдеров без собственного npm-пакета, но с OpenAI-совместимым API, используется пакет @ai-sdk/openai-compatible и указывается базовый URL. Туда же добавляется logo.svg — строго в формате SVG, без фиксированных размеров и цветов, только currentColor.
Сама модель описывается отдельным TOML-файлом в папке models/. Имя файла — это Model ID. Если ID содержит слэш (например, openai/gpt-5), создаются подпапки. В файле указывается: поддерживает ли модель вложения, рассуждения, вызов инструментов, структурированный вывод, контроль температуры. Также даты знания и релиза, флаг открытых весов и блок [cost] с ценами за миллион токонов (вход, выход, рассуждения, кеш, аудио). Блок [limit] содержит максимальный контекст и лимиты на ввод-вывод. Блок [modalities] описывает поддерживаемые типы ввода и вывода.
Для провайдеров-обёрток, которые просто зеркалируют чужую модель, есть механика extends. Она ссылается на каноническую модель из другого провайдера (например, anthropic/claude-opus-4-6) и позволяет переопределить или исключить отдельные поля. extends нельзя использовать внутри директорий самих лабораторий — только для внешних обёрток.
Все изменения вносятся через Pull Request в репозиторий. GitHub Action автоматически проверяет, что все поля заполнены, типы данных верны, а синтаксис TOML корректен. Для безопасного перевода старых обёрток на extends есть скрипт compare:migrations, который выводит diff.
Проект поддерживается командой SST. Связаться с ними можно через Discord, YouTube или X.com.