models/Swiss-ai/Apertus-V1.5-8b
SA
Swiss-ai

Apertus-V1.5-8b

text
Playground →Compare

Apertus 1.5 is an 8B parameter language model designed to advance the state of multilingual, multimodal, fully open, and transparent AI. The models support a wide range of languages, handle contexts of up to 262,144 tokens, and it uses only fully open training data whilst delivering performance comparable to other models of similar size. For access, please fill out this form: https://forms.gle/kgvmkr6ucHN3xNuH6

MODALITIES
text + vision
INPUT
$0.100 /1M
OUTPUT
$0.200 /1M
CONTEXT
262K tok
MAX OUTPUT
33K tok
RELEASED
2026-09-30

Apertus-V1.5-8b (swiss-ai/apertus-v1.5-8b) is a text model from Swiss-ai, released 2026-09-30. Context window: 262,144 tokens; max output 32,768. Pricing via AIgateway: input $0.100/M tokens, output $0.200/M tokens. Capabilities: tools, streaming, vision, json. Call it via https://api.aigateway.sh/v1/chat/completions with the OpenAI SDK — set model="swiss-ai/apertus-v1.5-8b".

model · swiss-ai/apertus-v1.5-8b

Use this model

model: swiss-ai/apertus-v1.5-8b
curl https://api.aigateway.sh/v1/chat/completions \
  -H "Authorization: Bearer $AIGATEWAY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"swiss-ai/apertus-v1.5-8b","messages":[{"role":"user","content":"hello"}],"stream":true}'

Capabilities

Tool callingStreamingVisionJSON mode
CONTEXT
262,144 tok
MAX OUTPUT
32,768 tok

Pricing

Input$0.100 / 1M tokens
Output$0.200 / 1M tokens
You pay pass-through pricing.
Try in playground →CompareAPI referenceSee usage ranking →

Collections

More text models →More from Swiss-ai →Frontier models →Free-tier models →
API schema

Call Apertus-V1.5-8b from any OpenAI SDK

POST https://api.aigateway.sh/v1/chat/completions·Content-Type: application/json·Auth: Bearer sk-aig-...

Request body

json
{
  "model": "swiss-ai/apertus-v1.5-8b",
  "messages": [
    { "role": "system", "content": "You are a helpful assistant." },
    { "role": "user",   "content": "Hello!" }
  ],
  "temperature": 0.7,
  "top_p": 0.95,
  "max_tokens": 1024,
  "stream": false,
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "get_weather",
        "description": "Get current weather for a city",
        "parameters": {
          "type": "object",
          "properties": {
            "city": { "type": "string" }
          },
          "required": ["city"]
        }
      }
    }
  ],
  "tool_choice": "auto",
  "parallel_tool_calls": true,
  "response_format": { "type": "json_object" }

  // For vision: messages[].content can be an array of
  //   { type: "text", text: "..." }  and
  //   { type: "image_url", image_url: { url: "https://..." } }
}

Response

json
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1776947082,
  "model": "swiss-ai/apertus-v1.5-8b",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you today?",
        "tool_calls": [
          {
            "id": "call_abc123",
            "type": "function",
            "function": {
              "name": "get_weather",
              "arguments": "{\"city\":\"Tokyo\"}"
            }
          }
        ]
      },
      "finish_reason": "stop"   // or "tool_calls" when calling a function
    }
  ],
  "usage": {
    "prompt_tokens": 24,
    "completion_tokens": 12,
    "total_tokens": 36
  }
}

Streaming (SSE) — set "stream": true

// 1. Role announcement (first chunk):
data: {"choices":[{"index":0,"delta":{"role":"assistant"},"finish_reason":null}]}

// 2. Content chunks (final answer):
data: {"choices":[{"index":0,"delta":{"content":"Hello"},"finish_reason":null}]}
data: {"choices":[{"index":0,"delta":{"content":"!"},"finish_reason":null}]}

// Tool-call chunks (when the assistant calls a function):
data: {"choices":[{"index":0,"delta":{"tool_calls":[
  {"index":0,"id":"call_abc","type":"function",
   "function":{"name":"get_weather","arguments":""}}]},"finish_reason":null}]}
data: {"choices":[{"index":0,"delta":{"tool_calls":[
  {"index":0,"function":{"arguments":"{\"city\":"}}]},"finish_reason":null}]}
data: {"choices":[{"index":0,"delta":{"tool_calls":[
  {"index":0,"function":{"arguments":"\"Tokyo\"}"}}]},"finish_reason":null}]}
// Concat arguments fragments by index → {"city":"Tokyo"}

// Finish chunk:
data: {"choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}

// Terminator:
data: [DONE]

Quickstart

# pip install aigateway-py openai
# aigateway-py adds sub-accounts, evals, replays, jobs, webhook verify.
# openai SDK covers chat — drop-in per our SDK's own guidance.
from openai import OpenAI

client = OpenAI(
    base_url="https://api.aigateway.sh/v1",
    api_key="sk-aig-...",
)

stream = client.chat.completions.create(
    model="swiss-ai/apertus-v1.5-8b",
    messages=[{"role": "user", "content": "Hello!"}],
    stream=True,
)
for chunk in stream:
    print(chunk.choices[0].delta.content or "", end="", flush=True)

Errors

401authentication_errorInvalid or missing API key
402insufficient_creditsWallet empty (PAYG only)
404not_foundUnknown model or endpoint
429rate_limit_errorOver per-minute limit — see Retry-After header
500server_errorUpstream provider failed (retryable)
503service_unavailableUpstream saturated (retryable)
Full docs →API reference →OpenAPI spec →llms.txt →

Frequently asked questions

What is Apertus-V1.5-8b?
Apertus 1.5 is an 8B parameter language model designed to advance the state of multilingual, multimodal, fully open, and transparent AI. The models support a wide range of languages, handle contexts of up to 262,144 tokens, and it uses only fully open training data whilst delivering performance comparable to other models of similar size. For access, please fill out this form: https://forms.gle/kgvmkr6ucHN3xNuH6 It is a text model from Swiss-ai, accessible via AIgateway's OpenAI-compatible API at slug swiss-ai/apertus-v1.5-8b.
How much does Apertus-V1.5-8b cost via AIgateway?
Input costs $0.100 per 1M tokens; output costs $0.200 per 1M tokens, billed pass-through.
What is the context window of Apertus-V1.5-8b?
262,144 tokens. Maximum output is 32,768 tokens.
How do I call Apertus-V1.5-8b from my code?
Point the OpenAI SDK at https://api.aigateway.sh/v1 with your AIgateway key and set model to "swiss-ai/apertus-v1.5-8b". The request and response shapes match OpenAI exactly.
Does Apertus-V1.5-8b support streaming, tool calling, vision, and JSON mode?
Streaming — yes. Tool calling — yes. Vision — yes. JSON mode — yes. Prompt caching — no.
Can I bring my own Swiss-ai API key (BYOK)?
Yes. Attach a Swiss-ai key in your AIgateway dashboard and this model flips to pass-through — you pay Swiss-ai directly and AIgateway adds no platform fee on those calls.