Developers
Quickstart
Status: WaitlistThree steps: create an account, create a key, and call the endpoint. The first two work today. The endpoint itself is on a waitlist until real capacity is connected — read on for exactly what that means.
1. Create an account and an organisation
Sign up for a personal account, or create a team organisation once you are in. Every account starts on the free waitlist tier; no payment is collected.
2. Create an API key
From your dashboard, create a key and copy it immediately: it is shown once and never stored in a form you can read back. A key is scoped to read the model catalogue, call the inference endpoint, or both, and expires in 90 days by default.
3. Call the endpoint
The endpoint is OpenAI-compatible: point any OpenAI SDK at the base URL below, or send the request directly. Read the model id from GET /api/v1/models first — the id below is a placeholder.
curl https://www.cloudfrm.ai/api/v1/inference/chat/completions \
-H "Authorization: Bearer cfrm_test_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "<model_id>",
"messages": [{ "role": "user", "content": "Say hello." }]
}'from openai import OpenAI
client = OpenAI(
api_key="cfrm_test_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
base_url="https://www.cloudfrm.ai/api/v1/inference",
)
response = client.chat.completions.create(
model="<model_id>",
messages=[{"role": "user", "content": "Say hello."}],
)
print(response.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
apiKey: "cfrm_test_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
baseURL: "https://www.cloudfrm.ai/api/v1/inference",
});
const response = await client.chat.completions.create({
model: "<model_id>",
messages: [{ role: "user", content: "Say hello." }],
});
const reply = response.choices[0].message.content;{
"id": "chatcmpl-...",
"object": "chat.completion",
"model": "<model_id>",
"choices": [{ "index": 0, "finish_reason": "stop", "message": { "role": "assistant", "content": "..." } }],
"usage": { "prompt_tokens": 8, "completion_tokens": 5, "total_tokens": 13 },
"cfrm": { "request_id": "req_...", "cost_micro_usd": 1234, "usage_source": "upstream" }
}What happens today
The account and the key work now. The endpoint itself does not: every call answers 503 with the code platform_waitlist until the owner connects real inference capacity, and the response never claims a model ran. Sign up and create a key today, so you are ready the moment it opens — nothing else about integrating changes when it does.
Ready to start?
Create an account, or open your dashboard if you already have one.