# GPT-5.6 Terra API OpenAI GPT-5.6 Terra: mid GPT-5.6 tier balancing quality and cost. Base URL: https://01router.com/api/v1 Model ID: gpt-5.6-terra Documentation: https://01router.com/gateway/gpt-5.6-terra#api ## Quick start Set API_KEY to your project key, then run a sample from your server. Replace example media URLs with your own public URLs. ```bash export API_KEY="YOUR_API_KEY" curl "https://01router.com/api/v1/chat/completions" \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ --data-binary @- <<'JSON' { "model": "gpt-5.6-terra", "messages": [ { "role": "user", "content": "Hello!" } ], "stream": false } JSON ``` ## Endpoints | Method | Path | Authentication | Description | | --- | --- | --- | --- | | POST | /api/v1/chat/completions | API key required | Chat completion (OpenAI-compatible, stream or not) | | GET | /api/v1/models/gpt-5.6-terra | Public ยท no key | Get one model | ## Authentication Send your API key as a Bearer token. Requests are billed to the key owner's credits. `Authorization: Bearer ` ## Input Send messages directly in the request body. Chat requests do not use an input wrapper. | Name | Type | Required | Description | | --- | --- | --- | --- | | model | string | Yes | "gpt-5.6-terra" | | provider | string | No | Pin a provider; omit to auto-route to the cheapest. One of: replicate \| wavespeed \| kie \| apimart \| evolink \| atlascloud \| vercel \| openrouter | | messages | object[] | Yes | OpenAI-format messages, each with role and content. | | stream | boolean | No | true returns an SSE stream. | | max_tokens | integer | No | Output token cap; credits are pre-held for it (default 4096). | ## Output This example uses stream: false. Read the reply from choices[0].message.content. With stream: true, read SSE chunks from choices[].delta until [DONE]. | Name | Type | Required | Description | | --- | --- | --- | --- | | id | string | Yes | Chat completion ID | | object | string | Yes | chat.completion | | model | string | Yes | gpt-5.6-terra | | choices | object[] | Yes | Reply choices; message.content contains the non-streaming response. | | usage | object | No | Token usage: prompt_tokens, completion_tokens and total_tokens. Availability depends on the provider. | ### Task completed ```json { "id": "chatcmpl-example", "object": "chat.completion", "model": "gpt-5.6-terra", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "Hello! How can I help?" }, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 9, "completion_tokens": 8, "total_tokens": 17 } } ``` ## Errors Check the HTTP status and error.message. Fix the request before retrying validation or authentication errors. A failed generation is reported in status and error on the task itself. ```json { "error": { "message": "Invalid or missing API key", "code": "unauthorized" } } ``` HTTP 400: invalid request; 401: unauthorized; 402: insufficient credits; 404: not found; 409: not cancelable; 429: rate/concurrency/quota limit; 5xx: upstream/server error. Full API reference: https://01router.com/docs/errors