Models.dev: Open-Source Database of AI Model Specs, Pricing, and Capabilities

Models.dev is an open-source database of AI model specifications, pricing, and capabilities, maintained as a community-contributed project. The data is stored in the repo as TOML files, organized by provider and model, with logos as SVGs. It also powers an API and is used internally in opencode.
API Access
You can fetch all model data via a single API endpoint:
curl https://models.dev/api.jsonThe Model ID field (e.g., openai/gpt-5) matches the identifier used by AI SDK. Provider logos are available as SVG files:
curl https://models.dev/logos/{provider}.svgReplace {provider} with the Provider ID (e.g., anthropic, openai, google).
Contributing
To add a new model, first check if the provider already exists in the providers/ directory. If not, create a provider folder with a provider.toml file:
name = "Provider Name"
npm = "@ai-sdk/provider" # AI SDK Package name
env = ["PROVIDER_API_KEY"] # Environment Variable keys used for auth
doc = "https://example.com/docs/models" # Link to provider's documentationIf the provider exposes an OpenAI-compatible endpoint, set npm = "@ai-sdk/openai-compatible" and include the base URL: api = "https://api.example.com/v1".
Optionally, add a logo.svg to the provider's directory using currentColor for fills/strokes. Then create a model definition TOML file in providers/{provider}/models/. Example model definition:
name = "Model Display Name"
attachment = true # supports file attachments
reasoning = false # supports chain-of-thought
tool_call = true # supports tool calling
structured_output = true # supports structured output
temperature = true # supports temperature control
knowledge = "2024-04" # knowledge-cutoff date
release_date = "2025-02-19"
last_updated = "2025-02-19"
open_weights = true # weights publicly available
[cost]
input = 3.00 # per million input tokens (USD)
output = 15.00 # per million output tokens
reasoning = 15.00 # per million reasoning tokens
cache_read = 0.30 # per million cached read tokens
cache_write = 3.75 # per million cached write tokens
input_audio = 1.00 # per million audio input tokens
output_audio = 10.00 # per million audio output tokens
[limit]
context = 400_000 # max context window (tokens)
input = 272_000 # max input tokens
output = 8_192 # max output tokens
[modalities]
input = ["text", "image"]
output = ["text"]
[interleaved]
field = "reasoning_content"
For wrapper providers that mirror existing models, use extends (not detailed in the snippet).
Models.dev is an open-source, community-driven database. The source is on GitHub, and contributions are welcome to keep data up to date.
📖 Read the full source: HN LLM Tools
👀 See Also

Relay lets Claude Code sessions message each other without alt-tabbing
A plugin called Relay uses Claude Code's channels capability to let parallel sessions communicate directly, removing the need to manually copy-paste context between backend and frontend repos.

Claude-voice: Local TTS with Word Highlighting for Claude Code
Claude-voice is a Python tool that adds local text-to-speech with real-time word highlighting to Claude Code's voice mode. It uses Kokoro TTS (82M parameters) running fully locally without API keys.

Fixing Context Bloat in Claude Code Auto-Memory with a Naming Schema and Audit Script
A Claude Code skill enforces a 3-type naming schema, required frontmatter, and a bash audit script to deduplicate memory files and reduce context load.

Claude Banana: A Claude Code plugin for image generation with design system awareness
Claude Banana is a Claude Code plugin that generates images using Google's Gemini API with context-aware prompt crafting. It reads Tailwind configs, CSS variables, design tokens, and existing assets to understand project visual styles.