Getting started
Fusion supports OpenAI-compatible Chat Completions and Responses interfaces. This quickstart uses Chat Completions; see the Responses API reference for Responses clients.
You need three values:
| Value | |
|---|---|
| Base URL | https://capi.fumolab.ai/api/fusion/v1 |
| API key | Create in the console |
| Model | An authorized model ID |
Get an API key
This page is for online self-service customers using FUMO Dashboard. If sales provisioned your enterprise account, use Enterprise onboarding.
- Sign up. Open the registration page and use your email and verification code, or continue with Google / GitHub. When signing up by email, enter your representative's Sales Code if you have one. If you already have an account, sign in.
- Prepare credits. Bind a payment card in Account, check your starter credit eligibility, and top up as needed.
- Create an API key. Open API Keys in the console, click Create New Key, enter a key name, and create it.
- Copy the key. Return to the key list and click Copy, then store it in an environment variable as described below.
If you sign in with Google / GitHub or skipped the Sales Code at signup, you can bind your representative's code in Account.
Check your balance and remaining Fusion credits in Account, and find model IDs and prices in Model. See Console and account for a guide to these pages.
Store the API key
Keep credentials out of source code, browser-side code, logs, and public repositories.
export FUMO_API_KEY="your-key"
Use your deployment platform or secret manager for production workloads.
These examples use FUMO_API_KEY as the local environment-variable name. You can choose another name if you update the client configuration to match.
Choose a model ID
The models below share the same API key and Base URL. Set model to a model ID authorized for your key.
Fusion models
| Product | Model ID | Product focus |
|---|---|---|
| Fusion Max 2.0 | fusion-max-2.0 | High-performance coding, agents and document analysis, built for cost efficiency. |
| Fusion Max 1.0 | fusion-max-1.0 | Complex reasoning and demanding agentic work |
| Fusion Code 1.0 | fusion-code-1.0 | Coding and software-agent workflows |
Send a first request
The complete public endpoint is:
POST https://capi.fumolab.ai/api/fusion/v1/chat/completions
curl https://capi.fumolab.ai/api/fusion/v1/chat/completions \
-H "Authorization: Bearer $FUMO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "fusion-max-1.0",
"messages": [
{"role": "user", "content": "Explain the trade-offs in this design."}
]
}'
A successful response confirms the key, model authorization, request contract, and network path.
Use the OpenAI Python SDK
Install the SDK:
pip install openai
Point the client at the Fusion Base URL:
import os
from openai import OpenAI
client = OpenAI(
base_url="https://capi.fumolab.ai/api/fusion/v1",
api_key=os.environ["FUMO_API_KEY"],
)
response = client.chat.completions.create(
model="fusion-max-1.0",
messages=[
{"role": "system", "content": "Be precise and state your assumptions."},
{"role": "user", "content": "Review this migration plan."},
],
)
print(response.choices[0].message.content)
Stream with the OpenAI TypeScript SDK
Install the SDK:
pnpm add openai
Create a streaming request:
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://capi.fumolab.ai/api/fusion/v1",
apiKey: process.env.FUMO_API_KEY,
});
const stream = await client.chat.completions.create({
model: "fusion-code-1.0",
messages: [
{ role: "user", content: "Find the race condition and propose a patch." },
],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}
Troubleshoot the first call
401 — authentication failed
Confirm the request sends Authorization: Bearer <API_KEY> and that the key has not been truncated or replaced by another environment variable.
403 — service access denied
The key is valid but does not have access to the requested model or Fusion service. Check the model ID in your request. If the error persists, contact support with the model ID, error message, and request_id. For an account set up through sales, your representative can also help confirm the service configuration.
404 — route not found
Confirm that the Base URL ends in /v1, the client calls /chat/completions or /responses, and the model ID is an authorized alias. The exact error envelope may vary by gateway.
Configure Codex with Responses · Configure OpenCode with Chat Completions · Review the API contracts
All three models are AVAILABLE with 128K maximum output. Max 2.0 / Max 1.0 have 1M context; Code 1.0 has 512K. Text/image input and text/tool-call output are supported. Agents read files; native file upload is not supported.
Enterprise customers
Using a sales-provisioned enterprise account? Follow Enterprise onboarding for the correct API key and Base URL. Binding a Sales Code does not change a self-service account’s endpoint.
