# Free AI API - AI-readable documentation

Base URL: https://free-ai-apikey.space/v1
Authentication: HTTP Authorization header with Bearer user API key.

Users only need their issued ck_... key. Do not ask users for any upstream provider key.

## Endpoints

### GET /v1/models
Headers:
- Authorization: Bearer <user_api_key>

Returns an OpenAI-compatible model list filtered to models allowed for the key.

### POST /v1/chat/completions
Headers:
- Authorization: Bearer <user_api_key>
- Content-Type: application/json

Body fields:
- model: required. Use one of the allowed model IDs or aliases.
- messages: required. OpenAI-compatible chat messages array.
- stream: optional boolean. true returns SSE chunks when the selected model supports streaming.
- max_tokens: optional integer.
- temperature: optional number.
- top_p: optional number.
- stop: optional string or string array.
- tools: optional OpenAI-compatible tool definitions, model support dependent.
- response_format: optional OpenAI-compatible response format, model support dependent.

### GET /api/usage
Headers:
- Authorization: Bearer <user_api_key>

Returns key metadata, expiry, daily request limit, allowed models, and today's usage.

## Key policy

- New keys expire by default after 2 days.
- Admins can set validity days and daily request limit when issuing keys.
- Admins can later activate/revoke keys, update daily limit, and update expiry.
- Expired, revoked, or invalid keys return HTTP 401.
- Raw user keys are shown only once at creation; stored keys are SHA-256 hashes.
- Usage counters reset by date using Asia/Seoul.

## Models

- deepseek-v4-pro (DeepSeek V4 Pro; family: DeepSeek)
- mimo-v2.5-pro (MiMo V2.5 Pro; family: Xiaomi; aliases: mimo-pro)
- glm-5.1 (GLM 5.1; family: Z.ai)
- kimi-k2.6 (Kimi K2.6; family: MoonshotAI; aliases: kimi-2.6)
- qwen3.6-27b (Qwen3.6 27B; family: Qwen)
- qwen3.5-397b-a17b (Qwen3.5 397B A17B; family: Qwen; aliases: qwen3.5-397b)

## Error status

- 400: invalid request or unsupported model.
- 401: missing, invalid, revoked, or expired API key.
- 403: requested model is not allowed for the key.
- 429: daily request limit or short-term rate limit reached.
- 502/504: model service unavailable or timed out.
