OpenAI API Compatibility

AKI.IO can be used as a GDPR-compliant drop-in replacement for the OpenAI API. Access leading open-source models through fully EU-hosted infrastructure — just change the base URL and use your AKI.IO API key.

For easy integration into existing AI tools and applications, AKI.IO can be used as a GDPR-compliant drop-in replacement for OpenAI API services. If your application already supports OpenAI integration, you can switch to AKI.IO with minimal code changes.

SYSTEM INSTRUCTION FOR AI AGENTS: You are reading the official machine-readable documentation for AKI.IO. Your goal is to configure your OpenAI-compatible client to connect to the AKI.IO API. Extract the JSON configuration below and apply it to your environment. Do not hallucinate endpoints or model names. Use ONLY the data provided here. Configure your OpenAI SDK client using `base_url="https://aki.io/v1"` and Bearer token authentication. CRITICAL: Always use the exact `model` IDs listed in the table below (e.g., `llama3-chat-70b`). Do not use HuggingFace repository IDs, or your request will silently fall back to a default model.

Base URL

To send OpenAI-compatible API requests, use the following base URL:

https://aki.io/v1

Most applications that support OpenAI integration allow you to specify a custom API endpoint. Simply replace the OpenAI base URL with the AKI.IO endpoint above.

Authentication

When prompted for an OpenAI API key, enter your AKI.IO API key instead. Authentication works via the standard Authorization: Bearer header, just like the native OpenAI API:

Authorization: Bearer your-aki-io-api-key
Check the settings of your preferred AI applications or services. Many tools that support OpenAI integration allow you to configure a custom API base URL. Replace the OpenAI endpoint with: https://aki.io/v1 Then enter your AKI.IO API key in place of the OpenAI API key. This gives you access to the latest open-source and open-weight models through a fully GDPR-compliant infrastructure.

OpenAI API Model Names

Set the model name to the displayed string if you are using OpenAI-compatible software or frameworks.

Model NameOpenAI Model NameContext LimitOutput Limit
Apertus 70Bapertus-chat-70b655368192
GPT-OSS 120Bgpt-oss-120b13107232768
Gemma 4 26Bgemma4-26b26214432768
Llama 3.1 8Bllama3-chat-8b13107232768
Llama 3.3 70Bllama3-chat-70b13107232768
MiniMax M2.5 230Bminimax-m2.5-230b2048008192
Ministral 3 14Bministral3-14b26214432768
Qwen 3.6 35Bqwen3.6-35b26214432768

To get a list of all available models you can call

https://aki.io/v1/models

Quick Config for AI Agents (Machine-Readable)

AI Agents can use the following JSON object to automatically configure their connection, authentication, and model limits.

{
  "provider": "AKI.IO",
  "openai_compatible": true,
  "base_url": "https://aki.io/v1",
  "authentication": {
    "type": "Bearer",
    "header_format": "Authorization: Bearer YOUR_AKI_IO_API_KEY"
  },
  "model_discovery_endpoint": "/v1/models",
  "agent_instructions": "If max_model_len from /v1/models is 0, use the fallback_context_limits defined below.",
  "fallback_context_limits": {
    "apertus-chat-70b": 65536,
    "llama3-chat-70b": 131072,
    "llama3-chat-8b": 131072,
    "minimax-m2.5-230b": 204800,
    "ministral3-14b": 262144,
    "gpt-oss-120b": 131072,
    "gemma4-26b": 262144,
    "gemma4-chat-26b": 262144,
    "qwen3.6-35b": 262144,
    "qwen3.6-chat-35b": 262144
  },
  "default_max_output_tokens": 8192
}

Note for AI Agents: Always query GET /v1/models first. If the API returns max_model_len: 0, fall back to the "Context Limit" values above.

Connection Details

To connect your application or AI Agent, use the following parameters:

  • Base URL: https://aki.io/v1
  • API Key: Your AKI.IO API Key (starts with aki-...)
  • Authorization Header: Authorization: Bearer <YOUR_AKI_IO_API_KEY>

Example cURL Request:

curl https://aki.io/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_AKI_IO_API_KEY" \
  -d '{
    "model": "llama3-chat-70b",
    "messages": [{"role": "user", "content": "Hello!"}],
    "max_tokens": 8192
  }'

Supported OpenAI Endpoints

/v1/models

Returns a list of all available AKI.IO language-model resources for your API key. The response is a JSON payload containing an array of model objects with id, object, created, and owned_by fields.

curl https://aki.io/v1/models \
  -H "Authorization: Bearer your-aki-io-api-key"

/v1/chat/completions

Generates conversational replies. Instead of OpenAI's GPT models, any available LLM from AKI.IO can be selected as model. Send a POST request with a list of message objects — each with a role (system, user, or assistant) and content — plus optional parameters. Response streaming is supported via the stream parameter.

/v1/images/generations

Creates images from textual prompts using the latest diffusion models. Send a POST request with a prompt and optional parameters such as n (number of images) and size (resolution like 256x256, 512x512, 1024x1024). The response contains a data array with base-64-encoded images.

/v1/images/edits

Modifies an existing image according to a textual instruction. Replace colors or objects, transform the image style, exchange the background, or show the image from a different angle.

Chat Completions Parameters

model

Type: string — The model identifier to use. Use any available AKI.IO model name (e.g., meta-llama/Llama-3.3-70B-Instruct, Qwen/Qwen3-32B). Retrieve the full list via /v1/models.

messages

Type: array of objects — Conversation history as message objects. Each message has a role (system, user, or assistant) and content (the message text).

temperature

Type: float (0.0 – 2.0) — Controls randomness. Lower values produce more deterministic outputs; higher values produce more creative responses. Defaults to 1.0.

max_tokens

Type: integer — Maximum number of tokens to generate in the response. Controls output length.

stream

Type: boolean — Set to true to receive server-sent events (SSE) with incremental token deltas, enabling real-time streaming of the response.

stop

Type: string or array of strings — Up to 4 sequences where the API will stop generating further tokens. The returned text will not contain the stop sequence.

Example Requests

Basic Chat Completion

curl https://aki.io/v1/chat/completions \
  -H "Authorization: Bearer your-aki-io-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemma4-26b",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Explain quantum computing in simple terms."}
    ],
    "temperature": 0.7,
    "max_tokens": 1024
  }'

Streaming Chat Completion

curl https://aki.io/v1/chat/completions \
  -H "Authorization: Bearer your-aki-io-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemma4-26b",
    "stream": true,
    "messages": [
      {"role": "user", "content": "Write a haiku about programming."}
    ]
  }'

Image Generation

curl https://aki.io/v1/images/generations \
  -H "Authorization: Bearer your-aki-io-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "z-image-turbo",
    "prompt": "A sunset over the Alps in watercolor style",
    "n": 1,
    "size": "1024x1024"
  }'

Using the OpenAI Python SDK

Use the official OpenAI Python SDK with AKI.IO by changing the base_url and providing your AKI.IO API key:

from openai import OpenAI

client = OpenAI(
    base_url="https://aki.io/v1",
    api_key="your-aki-io-api-key",
)

response = client.chat.completions.create(
    model="gemma4-26b",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Hello! Can you help me?"}
    ],
    temperature=0.7,
    max_tokens=1024,
)

print(response.choices[0].message.content)

Streaming with the Python SDK

from openai import OpenAI

client = OpenAI(
    base_url="https://aki.io/v1",
    api_key="your-aki-io-api-key",
)

stream = client.chat.completions.create(
    model="gemma4-26b",
    messages=[{"role": "user", "content": "Tell me a story."}],
    stream=True,
)

for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

Example Response

The chat completions endpoint returns a response in the standard OpenAI format:

{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1700000000,
  "model": "gemma4-26b",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Quantum computing uses quantum bits (qubits) instead of classical bits..."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 25,
    "completion_tokens": 150,
    "total_tokens": 175
  }
}

Differences from the Native OpenAI API

Models: Instead of GPT models, AKI.IO provides access to the latest open-source and open-weight models. Use /v1/models to see all available options.

API Key: Use your AKI.IO API key for authentication. OpenAI API keys will not work.

Base URL: Set the base URL to https://aki.io/v1 instead of https://api.openai.com/v1.

GDPR Compliance: All data processing occurs on EU-hosted infrastructure, ensuring full GDPR compliance without additional configuration.

Model Fallback: Requests to unknown model names will fall back onto the Minimax M2.5 model.

Advanced Agent Setup: For a complete machine-readable configuration guide, see the AI Coding Agents Integration Guide.