Skip to main content
Mastra v1 was released! Start new projects with v1 or upgrade your existing project today.

Hugging Face logoHugging Face

Access 15 Hugging Face models through Mastra's model router. Authentication is handled automatically using the HF_TOKEN environment variable.

Learn more in the Hugging Face documentation.

HF_TOKEN=your-api-key
import { Agent } from "@mastra/core";

const agent = new Agent({
name: "my-agent",
instructions: "You are a helpful assistant",
model: "huggingface/MiniMaxAI/MiniMax-M2.1"
});

// 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);
}
info

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

ModelsDirect link to Models

ModelContextToolsReasoningImageAudioVideoInput $/1MOutput $/1M
huggingface/deepseek-ai/DeepSeek-R1-0528164K$3$5
huggingface/deepseek-ai/DeepSeek-V3.2164K$0.28$0.40
huggingface/MiniMaxAI/MiniMax-M2.1205K$0.30$1
huggingface/moonshotai/Kimi-K2-Instruct131K$1$3
huggingface/moonshotai/Kimi-K2-Instruct-0905262K$1$3
huggingface/moonshotai/Kimi-K2-Thinking262K$0.60$3
huggingface/Qwen/Qwen3-235B-A22B-Thinking-2507262K$0.30$3
huggingface/Qwen/Qwen3-Coder-480B-A35B-Instruct262K$2$2
huggingface/Qwen/Qwen3-Embedding-4B32K$0.01
huggingface/Qwen/Qwen3-Embedding-8B32K$0.01
huggingface/Qwen/Qwen3-Next-80B-A3B-Instruct262K$0.25$1
huggingface/Qwen/Qwen3-Next-80B-A3B-Thinking262K$0.30$2
huggingface/XiaomiMiMo/MiMo-V2-Flash262K$0.10$0.30
huggingface/zai-org/GLM-4.7205K$0.60$2
huggingface/zai-org/GLM-4.7-Flash200K
15 available models

Advanced ConfigurationDirect link to Advanced Configuration

Custom HeadersDirect link to Custom Headers

const agent = new Agent({
name: "custom-agent",
model: {
url: "https://router.huggingface.co/v1",
id: "huggingface/MiniMaxAI/MiniMax-M2.1",
apiKey: process.env.HF_TOKEN,
headers: {
"X-Custom-Header": "value"
}
}
});

Dynamic Model SelectionDirect link to Dynamic Model Selection

const agent = new Agent({
name: "dynamic-agent",
model: ({ runtimeContext }) => {
const useAdvanced = runtimeContext.task === "complex";
return useAdvanced
? "huggingface/zai-org/GLM-4.7-Flash"
: "huggingface/MiniMaxAI/MiniMax-M2.1";
}
});

On this page