Skip to main content

AnyAPI logoAnyAPI

Access 30 AnyAPI models through Mastra's model router. Authentication is handled automatically using the ANYAPI_API_KEY environment variable.

Learn more in the AnyAPI documentation.

.env
ANYAPI_API_KEY=your-api-key
src/mastra/agents/my-agent.ts
import { Agent } from "@mastra/core/agent";

const agent = new Agent({
id: "my-agent",
name: "My Agent",
instructions: "You are a helpful assistant",
model: "anyapi/anthropic/claude-haiku-4-5"
});

// Generate a response
const response = await agent.generate("Hello!");

// Stream a response
const stream = await agent.stream("Tell me a story");
for await (const chunk of stream) {
console.log(chunk);
}
note

Mastra uses the OpenAI-compatible /chat/completions endpoint. Some provider-specific features may not be available. Check the AnyAPI documentation for details.

Models
Direct link to Models

ModelContextToolsReasoningImageAudioVideoInput $/1MOutput $/1M
anyapi/anthropic/claude-haiku-4-5200K
anyapi/anthropic/claude-opus-4-61.0M
anyapi/anthropic/claude-opus-4-71.0M
anyapi/anthropic/claude-sonnet-4-5200K
anyapi/anthropic/claude-sonnet-4-61.0M
anyapi/cohere/command-r-plus-08-2024128K
anyapi/deepseek/deepseek-chat1.0M
anyapi/deepseek/deepseek-r11.0M
anyapi/deepseek/deepseek-v4-flash1.0M
anyapi/deepseek/deepseek-v4-pro1.0M
anyapi/google/gemini-2.5-flash1.0M
anyapi/google/gemini-2.5-flash-lite1.0M
anyapi/google/gemini-2.5-pro1.0M
anyapi/google/gemini-3-flash-preview1.0M
anyapi/google/gemini-3-pro-preview1.0M
anyapi/mistralai/mistral-large-2512262K
anyapi/openai/gpt-4.11.0M
anyapi/openai/gpt-4.1-mini1.0M
anyapi/openai/gpt-5400K
anyapi/openai/gpt-5-mini400K
anyapi/openai/gpt-5.1400K
anyapi/openai/gpt-5.2400K
anyapi/openai/gpt-5.41.1M
anyapi/openai/o3200K
anyapi/openai/o3-mini200K
anyapi/openai/o4-mini200K
anyapi/perplexity/sonar-pro200K
anyapi/perplexity/sonar-reasoning-pro128K
anyapi/xai/grok-4.31.0M
29 available models

Model availability, capabilities, context windows, and pricing are sourced from models.dev and may change.

Advanced configuration
Direct link to Advanced configuration

Custom headers
Direct link to Custom headers

src/mastra/agents/my-agent.ts
const agent = new Agent({
id: "custom-agent",
name: "custom-agent",
model: {
url: "https://api.anyapi.ai/v1",
id: "anyapi/anthropic/claude-haiku-4-5",
apiKey: process.env.ANYAPI_API_KEY,
headers: {
"X-Custom-Header": "value"
}
}
});

Dynamic model selection
Direct link to Dynamic model selection

src/mastra/agents/my-agent.ts
const agent = new Agent({
id: "dynamic-agent",
name: "Dynamic Agent",
model: ({ requestContext }) => {
const useAdvanced = requestContext.task === "complex";
return useAdvanced
? "anyapi/xai/grok-4.3"
: "anyapi/anthropic/claude-haiku-4-5";
}
});
On this page