API Documentation

staik offers an OpenAI-compatible REST API. Just change the base_url.

Authentication

Authorization: Bearer sk-st-your-key-here

Base URL

https://api.staik.se/v1

Chat Completions

curl https://api.staik.se/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-st-your-key" \
  -d '{
    "model": "qwen3.5:35b-a3b",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

Models

ModelPlanTokens/day
qwen3.5:9bHobby50 000
qwen3.5:35b-a3bEarly Adopter, Agent300 000

Pricing

PlanPrice
Early AdopterFree (max 25)
Hobby99 SEK/mo (49 SEK first month)
Agent499 SEK/mo (249 SEK first month)

Quickstart with AI agents

staik works out of the box with popular agent frameworks. Just change the base_url and API key.

JSONOpenClaw / Claude Code
// openclaw.json
{
  "models": {
    "providers": {
      "staik": {
        "baseUrl": "https://api.staik.se/v1",
        "apiKey": "sk-st-your-key",
        "api": "openai-completions",
        "models": [{
          "id": "qwen3.5:35b-a3b",
          "name": "Qwen3.5 35B via staik"
        }]
      }
    }
  }
}
PythonOpenAI SDK
from openai import OpenAI

client = OpenAI(
    base_url="https://api.staik.se/v1",
    api_key="sk-st-your-key",
)

response = client.chat.completions.create(
    model="qwen3.5:35b-a3b",
    messages=[
        {"role": "system", "content": "Du är en hjälpsam assistent."},
        {"role": "user", "content": "Förklara GDPR kort."}
    ],
    temperature=0.7,
    max_tokens=500,
)
print(response.choices[0].message.content)
PythonCrewAI
from crewai import Agent, Task, Crew, LLM

llm = LLM(
    model="openai/qwen3.5:35b-a3b",
    base_url="https://api.staik.se/v1",
    api_key="sk-st-your-key",
)

researcher = Agent(
    role="Researcher",
    goal="Find relevant information",
    backstory="You are an expert researcher.",
    llm=llm,
)

task = Task(
    description="Research the latest trends in Swedish AI policy.",
    expected_output="A summary of key findings.",
    agent=researcher,
)

crew = Crew(agents=[researcher], tasks=[task])
result = crew.kickoff()
print(result)
PythonLangChain
from langchain_openai import ChatOpenAI
from langchain_core.messages import HumanMessage

llm = ChatOpenAI(
    model="qwen3.5:35b-a3b",
    base_url="https://api.staik.se/v1",
    api_key="sk-st-your-key",
)

response = llm.invoke([
    HumanMessage(content="Skriv en haiku om Stockholm")
])
print(response.content)
TypeScriptVercel AI SDK
import { createOpenAI } from "@ai-sdk/openai";
import { generateText } from "ai";

const staik = createOpenAI({
  baseURL: "https://api.staik.se/v1",
  apiKey: "sk-st-your-key",
});

const { text } = await generateText({
  model: staik("qwen3.5:35b-a3b"),
  prompt: "Explain GDPR in simple terms.",
});
console.log(text);
Node.jsOpenAI SDK
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.staik.se/v1",
  apiKey: "sk-st-your-key",
});

const response = await client.chat.completions.create({
  model: "qwen3.5:35b-a3b",
  messages: [
    { role: "user", content: "Hello from Node.js!" }
  ],
});
console.log(response.choices[0].message.content);

Error codes

CodeDescription
401Invalid or missing API key
429Daily token limit exceeded or all slots busy
503Model temporarily unavailable

Ready to integrate?