Hakila Docs
Chat

建立 Chat Completion

對齊 OpenAI Chat Completions 規格。請求 body 會依 `model` 前綴路由至對應上游供應商。 - 設定 `"stream": true` 時以 SSE(`text/event-stream`)回傳 - 直連供應商時會自動剝除 model id 的 provider 前綴再轉發 - 未知欄位會盡可能透傳給上游(pass-through) - `hakila/auto` 依可用金鑰嘗試:OpenAI → Gemini → Claude → Grok → OpenRouter

POST
/api/v1/chat/completions

對齊 OpenAI Chat Completions 規格。請求 body 會依 model 前綴路由至對應上游供應商。

  • 設定 "stream": true 時以 SSE(text/event-stream)回傳
  • 直連供應商時會自動剝除 model id 的 provider 前綴再轉發
  • 未知欄位會盡可能透傳給上游(pass-through)
  • hakila/auto 依可用金鑰嘗試:OpenAI → Gemini → Claude → Grok → OpenRouter

Authorization

bearerAuth
AuthorizationBearer <token>

Authorization 標頭帶入 Workspace API Key: Authorization: Bearer sk-hakila-...

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/v1/chat/completions" \  -H "Content-Type: application/json" \  -d '{    "model": "openai/gpt-5.6-luna",    "messages": [      {        "role": "user",        "content": "用一句話介紹 Hakila"      }    ]  }'
{  "id": "chatcmpl-example",  "object": "chat.completion",  "created": 1710000000,  "model": "gpt-5.6-luna",  "choices": [    {      "index": 0,      "message": {        "role": "assistant",        "content": "Hakila 是統一的 AI Gateway。"      },      "finish_reason": "stop"    }  ],  "usage": {    "prompt_tokens": 12,    "completion_tokens": 8,    "total_tokens": 20  }}