Three steps: get a key, point at the base URL, send a request.
1. Get a key
Keys come from the Hyphen console , and a key needs an active plan behind
it: create an account, subscribe (from $3/mo ) or grab a credit pack, and
your key appears in the console.
Go to app.hyphen-solution.com and sign
in.
Pick a plan or credit pack on the Billing page (skip if you already
have one).
Open Dashboard → API Keys and copy the key — it looks like sk-....
One key authenticates every endpoint. Keep it secret — treat it like a password.
Export it into your shell so the samples below pick it up:
export HYPHEN_API_KEY = "sk-..."
2. Set the base URL
The gateway root is:
https://api.hyphen-solution.com
OpenAI-style clients want the /v1 root:
https://api.hyphen-solution.com/v1
3. Make your first request
A minimal Chat Completions call with curl — this returns a completion from the
flagship model, minimax-m3:
curl https://api.hyphen-solution.com/v1/chat/completions \
-H "Authorization: Bearer $HYPHEN_API_KEY " \
-H "Content-Type: application/json" \
-d '{
"model": "minimax-m3",
"messages": [
{ "role": "user", "content": "Say hello in one sentence." }
]
}'
You'll get back an OpenAI-shaped response:
{
"id" : "chatcmpl-abc123" ,
"object" : "chat.completion" ,
"model" : "minimax-m3" ,
"choices" : [
{
"index" : 0 ,
"message" : { "role" : "assistant" , "content" : "Hello — great to meet you!" },
"finish_reason" : "stop"
}
],
"usage" : { "prompt_tokens" : 12 , "completion_tokens" : 8 , "total_tokens" : 20 }
}
If you see a choices[0].message.content, you're connected.
Same call, OpenAI SDK
from openai import OpenAI
client = OpenAI(
base_url = "https://api.hyphen-solution.com/v1" ,
api_key = "sk-..." , # your Hyphen key
)
resp = client.chat.completions.create(
model = "minimax-m3" ,
messages = [{ "role" : "user" , "content" : "Say hello in one sentence." }],
)
print (resp.choices[ 0 ].message.content)
import OpenAI from "openai" ;
const client = new OpenAI ({
baseURL: "https://api.hyphen-solution.com/v1" ,
apiKey: "sk-..." , // your Hyphen key
});
const resp = await client.chat.completions. create ({
model: "minimax-m3" ,
messages: [{ role: "user" , content: "Say hello in one sentence." }],
});
console. log (resp.choices[ 0 ].message.content);
Check which models you have
curl https://api.hyphen-solution.com/v1/models \
-H "Authorization: Bearer $HYPHEN_API_KEY "
{
"object" : "list" ,
"data" : [
{ "id" : "minimax-m2" , "object" : "model" , "owned_by" : "minimax" },
{ "id" : "minimax-m2-her" , "object" : "model" , "owned_by" : "minimax" },
{ "id" : "minimax-m2.1" , "object" : "model" , "owned_by" : "minimax" },
{ "id" : "minimax-m2.1-highspeed" , "object" : "model" , "owned_by" : "minimax" },
{ "id" : "minimax-m2.5" , "object" : "model" , "owned_by" : "minimax" },
{ "id" : "minimax-m2.5-highspeed" , "object" : "model" , "owned_by" : "minimax" },
{ "id" : "minimax-m2.7" , "object" : "model" , "owned_by" : "minimax" },
{ "id" : "minimax-m2.7-highspeed" , "object" : "model" , "owned_by" : "minimax" },
{ "id" : "minimax-m3" , "object" : "model" , "owned_by" : "minimax" },
{ "id" : "minimax-text-01" , "object" : "model" , "owned_by" : "minimax" }
]
}
All ten are MiniMax models under their real names. Pick by tier — flagship
minimax-m3, balanced minimax-m2.7, fast minimax-m2.5 — and see
Models for the full catalog, including the -highspeed variants,
the older generations, and the specialty models.
What happens at the cap
When your key's monthly budget is spent, requests fail closed with HTTP 429
instead of running over budget:
{
"error" : {
"message" : "Budget has been exceeded! Monthly budget resets on 2026-08-01." ,
"type" : "budget_exceeded" ,
"code" : "429"
}
}
No overage is ever charged. Full details on Rate limits & caps .
Where to go next
Connect your coding agent — one page per tool, each
a single copy-paste block.
Choosing a model for which model fits which job.
Read the max_tokens section before you build anything.
Recipes for copy-pasteable code. Streaming, tool
calling, structured JSON, a small agent loop, and 429 handling.
API Reference — try every endpoint interactively.
Last modified on July 28, 2026