Model IDs & capabilities
CrossModel uses one model ID format:
vendor/model-nameFor example:
deepseek/deepseek-v4-pro
anthropic/claude-sonnet-4.6
openai/gpt-5-miniDiscover available models
Call /v1/models to get the list of models available right now:
curl https://api.crossmodel.ai/v1/models \
-H "Authorization: Bearer $CROSSMODEL_API_KEY"If a request names a model that doesn't exist, isn't listed, or is currently unavailable, the endpoint returns:
{
"error": {
"message": "Model 'foo/bar' was not found or is unavailable.",
"type": "invalid_request_error",
"param": "model",
"code": "model_not_found"
}
}Protocols and models
CrossModel routes each model to the right provider and protocol. You can use the same CrossModel model ID across different endpoints:
| Endpoint | Good for |
|---|---|
/v1/chat/completions | The OpenAI Chat Completions ecosystem — fits most applications. |
/v1/responses | The OpenAI Responses style — structured input and output. |
/v1/messages | The Anthropic Messages style — the Anthropic SDK, Claude Code, and similar tools. |
Not every model supports every advanced capability. Whether multimodal input, tool calling, structured output, reasoning budgets, or cached tokens take effect depends on the model and provider.
Capability differences
When choosing a model, these dimensions are worth weighing:
| Capability | Notes |
|---|---|
| Context length | Long-context models suit big documents, codebases, and long conversations — usually at higher cost. |
| Max output tokens | Caps how much a single reply can generate. A request's max_tokens / max_completion_tokens is bounded by the model's limit. |
| Vision input | Models that support image content blocks can handle image_url, input_image, or Anthropic image. |
| Tool calling | Models with function/tool use can return structured call requests. |
| Reasoning controls | Some models support reasoning_effort, reasoning.effort, or Anthropic thinking. |
| Streaming | Most text models support stream: true, but the event format differs by protocol. |
Recommended approach
- For a new project, start with
/v1/chat/completionsunless you specifically need the Responses or Anthropic Messages shape. - In production, keep the model ID as a config value so you can switch models quickly.
- On
model_not_found, call/v1/modelsfirst to confirm the spelling and availability. - Before relying on an advanced parameter, validate it against the target model with a little traffic.