Maniac LogoManiac

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?"
              }
          }]
      },

  }]
)