Skip to main content

Infomaniak logoInfomaniak

Access 10 Infomaniak models through Mastra's model router. Authentication is handled automatically using the INFOMANIAK_API_KEY environment variable. Configure INFOMANIAK_PRODUCT_ID as well.

Learn more in the Infomaniak documentation.

.env
INFOMANIAK_PRODUCT_ID=your-value
INFOMANIAK_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: "infomaniak/Qwen/Qwen3.5-122B-A10B-FP8"
});

// 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 Infomaniak documentation for details.

Models
Direct link to Models

ModelContextToolsReasoningImageAudioVideoInput $/1MOutput $/1M
infomaniak/bge_multilingual_gemma28K$0.08
infomaniak/google/gemma-4-31B-it100K$0.25$0.50
infomaniak/mini_lm_l12_v2128
infomaniak/mistralai/Ministral-3-14B-Instruct-2512100K$0.37$0.50
infomaniak/mistralai/Mistral-Small-4-119B-2603256K$0.25$0.93
infomaniak/moonshotai/Kimi-K2.6256K$0.74$4
infomaniak/nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-FP81.0M$0.06$0.25
infomaniak/Qwen/Qwen3.5-122B-A10B-FP8200K$0.50$4
infomaniak/Qwen/Qwen3.5-397B-A17B-FP8200K$0.99$4
infomaniak/swiss-ai/Apertus-v1.5-70B100K$0.87$3
10 available models

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.infomaniak.com/2/ai/${INFOMANIAK_PRODUCT_ID}/openai/v1",
id: "infomaniak/Qwen/Qwen3.5-122B-A10B-FP8",
apiKey: process.env.INFOMANIAK_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
? "infomaniak/swiss-ai/Apertus-v1.5-70B"
: "infomaniak/Qwen/Qwen3.5-122B-A10B-FP8";
}
});
On this page