Skip to content

Migration guidesFrom Martian and Not Diamond

From a model router to routes you control

Martian and Not Diamond made the same promise: send the prompt, and the router chooses the model. Both have moved on. This page says where each stands, and what INFRO offers instead: not a learned router, but routes with a prompt classifier and rules you can read.

Martian's router no longer documented; Not Diamond refocused on coding agents (Python SDK archived 2025-12-11)

INFRO accounts are self-serve. The catalog, the docs, and the API contract are public, the gateway is deployed, and anything beyond v1 is marked Later. Plans and trial

Where things stand

Martian

Its docs describe the Martian Gateway, an OpenAI- and Anthropic-compatible API to many models paid from credits it sells; we found no router model id or routing parameter in them. Its homepage now leads with research and links to Thesean AI.

Not Diamond

Its homepage describes a model router for coding agents (Not Diamond Code), which recommends a model per step while inference runs through your own provider or gateway. The notdiamond-python repository was archived on 2025-12-11; the older modelSelect API docs are still online.

Whose account serves the request

Martian's gateway: Martian's credits. Not Diamond: always yours; it only recommends. INFRO: always yours.

INFRO's classifier picks among classes you define. It does not learn which model wins.

  • You want a router trained on your own evaluation data to pick the model (Not Diamond's custom routers). INFRO has no training step.
  • You run coding agents and want a per-step choice of model and reasoning level. Not Diamond Code does that, and can send inference through INFRO as your gateway.
  • You want model access without accounts at each provider. Martian's gateway sells that; INFRO does not.

The edits, one row each. Everything not listed here stays as it is.

 Martian and Not DiamondINFRO
Base URLMartian: https://api.withmartian.com/v1. Not Diamond: its SDK, then your provider.https://api.infro.io/v1
KeyMARTIAN_API_KEY, or NOTDIAMOND_API_KEY plus provider keys.An INFRO gateway key; provider keys become connections.
Model idA list of candidate models, or creator/model.A route name. The route's classifier picks a class; each class has its own targets.
DecisionMade by the router's model, per prompt.Made by a decision model on your own connection, against classes and rules you wrote.

Before · Not Diamond SDK (archived)

from notdiamond import NotDiamond

client = NotDiamond()  # NOTDIAMOND_API_KEY + provider keys

result, session_id, provider = client.chat.completions.create(
    messages=[{"role": "user", "content": "Hello"}],
    model=[
        "openai/gpt-5.6-luna",
        "openai/gpt-5.6-terra",
        "anthropic/claude-sonnet-5.5",
    ],
)

After · INFRO

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.infro.io/v1",
    api_key=os.environ["INFRO_API_KEY"],
)

# "assistant" is a route with a prompt classifier:
# class "simple" -> openai/gpt-5.6-luna
# class "hard"   -> anthropic/claude-sonnet-5.5
completion = client.chat.completions.create(
    model="assistant",
    messages=[{"role": "user", "content": "Hello"}],
)
print(completion.model, completion.provider)

Classes you can read

A route's classifier puts each prompt in one of the classes you name, on a decision model you choose, and rules send each class to its own targets. The trace shows the class it picked.

Failover still applies

Each class's targets fail over like any route. A wrong pick costs a slower answer, not a failed one.

Not Diamond Code with INFRO

Not Diamond Code sends inference through your configured provider or gateway. INFRO can be that gateway, with budgets per developer key.

Martian and Not Diamond's objects against INFRO's, from Martian and Not Diamond's public documentation read on 19 October 2026 and checked against what the gateway implements. Two rows say INFRO has nothing.

Martian and Not DiamondWhat it does thereIn INFRO
Per-prompt model choicedifferentA learned router chooses among candidates.A prompt classifier picks a class you defined; rules map classes to targets.
Custom routers trained on your datanothingNot Diamond trainCustomRouter.Nothing.
Prompt optimisationnothingNot Diamond optimize adapts a prompt per model.Nothing.
Unified accessdifferentMartian's gateway: many models on its credits.One API over your own provider accounts.
Spend controldifferentNot described on the pages we read.Budgets that refuse before the call, per organization, project, member, key and end customer.

Our reading of Martian and Not Diamond’s published documentation, not a trial or a benchmark. If we have read something wrong, tell us and we will fix the row.

What INFRO does not do

  • Learn which model wins on your prompts, or train a router on your evaluations.
  • Rewrite prompts per model.
  • Provide model access without your own provider accounts.

What does not come across

  • Router training data and routing history. There is no importer.

Questions

Does INFRO have a model router?
It has routes with a prompt classifier: a decision model sorts each prompt into classes you define, and rules send each class to its own targets. It does not learn from outcomes.
Is Martian's router still available?
Its current docs describe only the Martian Gateway; we found no router in them on 2026-10-19.
Who pays for the classifier's call?
Your provider, on your own account, like every other request. INFRO adds 0% to model spend.

Move with us, or on your own

The migration program maps your Martian and Not Diamond setup to INFRO connections, routes and budgets on a call and moves the first service with you. Your providers keep billing you directly; INFRO is a subscription and adds 0% to model spend.

Sources

Every statement on this page about Martian and Not Diamond comes from one of these, read on 19 October 2026. Nothing is inferred from a trial, a benchmark, or a conversation.