Containers
Task-specialized containers that outperform frontier models on your niche domain tasks at 1/100 the cost.
Containers: Task-Specialized Agents at Scale
A container wraps a single niche domain task — extraction, scoring, classification, normalization — and automatically optimizes it to outperform frontier models at 1/100 the cost. Run millions of calls per day with your agents while Maniac handles the optimization behind the scenes.
Containers provide the following main features:
- Telemetry: Every inference call is automatically logged. This builds a high-quality dataset from your live production traffic — the foundation for task-specialized optimization.
- Abstraction: Specify your
initial_model,initial_system_prompt, and inference config once. Every subsequent call inherits these settings from the container. - Optimization: As telemetry accumulates, Maniac automatically fine-tunes, distills, and compresses models for your specific task. Our pipelines are heavily configurable and based on cutting-edge research. You retain full control over your data and model weights.
- Routing: Once optimized models outperform the initial frontier model on your evals, traffic is automatically routed to them — delivering frontier-quality outputs at a fraction of the cost.
Creating your first container
Containers are initialized from the client library
import { Maniac } from "maniac-js"
const maniac = new Maniac()
const container = maniac.containers.create({
label: "my-container",
initial_model: "openai/gpt-5",
initial_system_prompt: "You are a helpful assistant",
})from maniac import Maniac
maniac = Maniac()
container = maniac.containers.create(
label = "my-container",
initial_model = "openai/gpt-5",
intitial_system_prompt = "You are a helpful assistant"
)Run inference with a container
import { Maniac } from "maniac-js"
const maniac = new Maniac()
const response = maniac.chat.completions.create({
container: "my-container",
messages: [{role: "user", content: "Hello!!"}]
})from maniac import Maniac
maniac = Maniac()
response = maniac.chat.completions.create(
container = "my-container",
messages = [{role: "user", content: "Hello!!"}]
)Your container will now collect telemetry on live production data.
Directly upload data to a container
In case you have data in another form (such as from another inference provider), you can upload that code directly to your container using our SDK.
import { Maniac } from "maniac-js"
const maniac = new Maniac()
const response = maniac.chat.completions.register({
container: "my-container",
dataset: [{
input: {
messages: [{
role: "user",
content: "hello"
}]
},
output: {
choices: [{
message: {
role: "assistant",
content: "Hello! How can I help you today?"
}
}]
},
}]
})from maniac import Maniac
maniac = Maniac()
response = maniac.chat.completions.register(
container = "my-container",
dataset = [{
"input": {
"messages": [
{
"user": "user",
"content": "Hello!!"
}
]
},
"output": {
"choices": [{
"message": {
"role": "assistant",
"content": "Hello! How can I help you today?"
}
}]
},
}]
)