GPT-5.6
by openai · family gpt
Facts
| Release date | 2026-06-25 |
|---|---|
| Retired date | — |
| Knowledge cutoff | 2026-02-16 |
| Context (max) | 1,050,000 |
| Max output | 128,000 |
| Modalities | text, image → text |
| Aliases | — |
| Open weights | no |
| Description | Adds xhigh everywhere and max on Responses; Chat Completions rejects tools unless effort is none. |
Unknown values are shown as —.
Intelligence Index v4.1.1: 61 · Sol variant, max effort · Source: Artificial Analysis (accessed 2026-08-20)
Offerings
| Provider | Wire ID | Variant | Endpoint | Protocol | Status | Price (USD / Mtok) | Reasoning |
|---|---|---|---|---|---|---|---|
| Azure AI Foundry | gpt-5.6 | v1-responses | openai-responses | ga | 2.00 / 12.00 | effort · default on · returns reasoning_summary · round-trips encrypted_content | |
| NEAR AI Cloud | openai/gpt-5.6-luna | luna | chat | openai-chat | ga | 0.20 / 1.20 | effort · default on · returns reasoning_content |
| NEAR AI Cloud | openai/gpt-5.6-sol | sol | chat | openai-chat | ga | 4.00 / 20.00 | effort · default on · returns reasoning_content |
| OpenAI | gpt-5.6-luna | luna | codex-backend | openai-responses | ga | 0.20 / 1.20 | effort · default on · returns reasoning_summary · round-trips encrypted_content |
| OpenAI | gpt-5.6-sol | sol | codex-backend | openai-responses | ga | 5.00 / 30.00 | effort · default on · returns reasoning_summary · round-trips encrypted_content |
| OpenAI | gpt-5.6-terra | terra | codex-backend | openai-responses | ga | 2.00 / 12.00 | effort · default on · returns reasoning_summary · round-trips encrypted_content |
| OpenAI | gpt-5.6 | v1-chat-completions | openai-chat | ga | 2.00 / 12.00 | effort · default on · returns hidden | |
| OpenAI | gpt-5.6 | v1-responses | openai-responses | ga | 2.00 / 12.00 | effort · default on · returns reasoning_summary · round-trips encrypted_content | |
| OpenCode Go | gpt-5.6-luna | luna | go-responses | openai-responses | ga | — | effort · default on · returns reasoning_summary · round-trips encrypted_content |
| OpenCode Zen | gpt-5.6-luna | luna | responses | openai-responses | ga | 0.20 / 1.20 | effort · default on · returns reasoning_summary · round-trips encrypted_content |
| OpenCode Zen | gpt-5.6-sol | sol | responses | openai-responses | ga | 5.00 / 30.00 | effort · default on · returns reasoning_summary · round-trips encrypted_content |
| OpenCode Zen | gpt-5.6-terra | terra | responses | openai-responses | ga | 2.00 / 12.00 | effort · default on · returns reasoning_summary · round-trips encrypted_content |
| OpenRouter | openai/gpt-5.6-luna-pro | luna | chat-completions | openai-chat | ga | 0.20 / 1.20 | effort · default on · returns reasoning_content · round-trips reasoning_content |
| OpenRouter | openai/gpt-5.6-luna | luna | chat-completions | openai-chat | ga | 0.20 / 1.20 | effort · default on · returns reasoning_content · round-trips reasoning_content |
| OpenRouter | openai/gpt-5.6-sol-pro | sol | chat-completions | openai-chat | ga | 2.00 / 10.00 | effort · default on · returns reasoning_content · round-trips reasoning_content |
| OpenRouter | openai/gpt-5.6-sol | sol | chat-completions | openai-chat | ga | 2.00 / 10.00 | effort · default on · returns reasoning_content · round-trips reasoning_content |
| OpenRouter | openai/gpt-5.6-terra-pro | terra | chat-completions | openai-chat | ga | 2.00 / 12.00 | effort · default on · returns reasoning_content · round-trips reasoning_content |
| OpenRouter | openai/gpt-5.6-terra | terra | chat-completions | openai-chat | ga | 2.00 / 12.00 | effort · default on · returns reasoning_content · round-trips reasoning_content |
Reasoning controls
Azure AI Foundry· gpt-5.6· v1-responses effort
reasoning.effort nonelowmedium●highxhighmax
effort · default on · returns reasoning_summary · round-trips encrypted_content
Incompatible with: temperature, top_p, max_tokens
NEAR AI Cloud· openai/gpt-5.6-luna· chat effort
reasoning_effort nonelowmedium●highxhighmax
effort · default on · returns reasoning_content
NEAR AI Cloud· openai/gpt-5.6-sol· chat effort
reasoning_effort nonelowmedium●highxhighmax
effort · default on · returns reasoning_content
OpenAI· gpt-5.6-luna· codex-backend effort
reasoning.effort nonelowmedium●highxhighmax
effort · default on · returns reasoning_summary · round-trips encrypted_content
OpenAI· gpt-5.6-sol· codex-backend effort
reasoning.effort nonelowmedium●highxhighmax
effort · default on · returns reasoning_summary · round-trips encrypted_content
OpenAI· gpt-5.6-terra· codex-backend effort
reasoning.effort nonelowmedium●highxhighmax
effort · default on · returns reasoning_summary · round-trips encrypted_content
OpenAI· gpt-5.6· v1-chat-completions effort
reasoning_effort nonelowmedium●highxhigh
effort · default on · returns hidden
OpenAI· gpt-5.6· v1-responses effort
reasoning.effort nonelowmedium●highxhighmax
effort · default on · returns reasoning_summary · round-trips encrypted_content
Incompatible with: temperature, top_p
OpenCode Go· gpt-5.6-luna· go-responses effort
reasoning.effort nonelowmedium●highxhighmax
effort · default on · returns reasoning_summary · round-trips encrypted_content
Incompatible with: temperature, top_p
OpenCode Zen· gpt-5.6-luna· responses effort
reasoning.effort nonelowmedium●highxhighmax
effort · default on · returns reasoning_summary · round-trips encrypted_content
Incompatible with: temperature, top_p
OpenCode Zen· gpt-5.6-sol· responses effort
reasoning.effort nonelowmedium●highxhighmax
effort · default on · returns reasoning_summary · round-trips encrypted_content
Incompatible with: temperature, top_p
OpenCode Zen· gpt-5.6-terra· responses effort
reasoning.effort nonelowmedium●highxhighmax
effort · default on · returns reasoning_summary · round-trips encrypted_content
Incompatible with: temperature, top_p
OpenRouter· openai/gpt-5.6-luna-pro· chat-completions effort
reasoning.effort nonelowmedium●highxhighmax
effort · default on · returns reasoning_content · round-trips reasoning_content
OpenRouter· openai/gpt-5.6-luna· chat-completions effort
reasoning.effort nonelowmedium●highxhighmax
effort · default on · returns reasoning_content · round-trips reasoning_content
OpenRouter· openai/gpt-5.6-sol-pro· chat-completions effort
reasoning.effort nonelowmedium●highxhighmax
effort · default on · returns reasoning_content · round-trips reasoning_content
OpenRouter· openai/gpt-5.6-sol· chat-completions effort
reasoning.effort nonelowmedium●highxhighmax
effort · default on · returns reasoning_content · round-trips reasoning_content
OpenRouter· openai/gpt-5.6-terra-pro· chat-completions effort
reasoning.effort nonelowmedium●highxhighmax
effort · default on · returns reasoning_content · round-trips reasoning_content
OpenRouter· openai/gpt-5.6-terra· chat-completions effort
reasoning.effort nonelowmedium●highxhighmax
effort · default on · returns reasoning_content · round-trips reasoning_content
Example requests
Azure AI Foundry · openai-responses · gpt-5.6
curl 'https://{resource}.openai.azure.com/openai/v1/responses' \
-H 'api-key: <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "gpt-5.6",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
}'Python (requests)
import requests
resp = requests.post(
"https://{resource}.openai.azure.com/openai/v1/responses",
headers={
"api-key": "<YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "gpt-5.6",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://{resource}.openai.azure.com/openai/v1/responses", {
method: "POST",
headers: {
"api-key": "<YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "gpt-5.6",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
}),
})
console.log(await resp.json())- ⚠ Responses include
encrypted_contentartifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss). - Reported incompatible with thinking controls: temperature, top_p, max_tokens.
NEAR AI Cloud · openai-chat · openai/gpt-5.6-luna
curl 'https://cloud-api.near.ai/v1/chat/completions' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "openai/gpt-5.6-luna",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning_effort": "medium"
}'Python (requests)
import requests
resp = requests.post(
"https://cloud-api.near.ai/v1/chat/completions",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "openai/gpt-5.6-luna",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning_effort": "medium"
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://cloud-api.near.ai/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "openai/gpt-5.6-luna",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning_effort": "medium"
}),
})
console.log(await resp.json())NEAR AI Cloud · openai-chat · openai/gpt-5.6-sol
curl 'https://cloud-api.near.ai/v1/chat/completions' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "openai/gpt-5.6-sol",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning_effort": "medium"
}'Python (requests)
import requests
resp = requests.post(
"https://cloud-api.near.ai/v1/chat/completions",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "openai/gpt-5.6-sol",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning_effort": "medium"
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://cloud-api.near.ai/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "openai/gpt-5.6-sol",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning_effort": "medium"
}),
})
console.log(await resp.json())OpenAI · openai-responses · gpt-5.6-luna
curl 'https://chatgpt.com/backend-api/codex/responses' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "gpt-5.6-luna",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
}'Python (requests)
import requests
resp = requests.post(
"https://chatgpt.com/backend-api/codex/responses",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "gpt-5.6-luna",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://chatgpt.com/backend-api/codex/responses", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "gpt-5.6-luna",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
}),
})
console.log(await resp.json())- ⚠ Responses include
encrypted_contentartifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss).
OpenAI · openai-responses · gpt-5.6-sol
curl 'https://chatgpt.com/backend-api/codex/responses' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "gpt-5.6-sol",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
}'Python (requests)
import requests
resp = requests.post(
"https://chatgpt.com/backend-api/codex/responses",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "gpt-5.6-sol",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://chatgpt.com/backend-api/codex/responses", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "gpt-5.6-sol",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
}),
})
console.log(await resp.json())- ⚠ Responses include
encrypted_contentartifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss).
OpenAI · openai-responses · gpt-5.6-terra
curl 'https://chatgpt.com/backend-api/codex/responses' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "gpt-5.6-terra",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
}'Python (requests)
import requests
resp = requests.post(
"https://chatgpt.com/backend-api/codex/responses",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "gpt-5.6-terra",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://chatgpt.com/backend-api/codex/responses", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "gpt-5.6-terra",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
}),
})
console.log(await resp.json())- ⚠ Responses include
encrypted_contentartifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss).
OpenAI · openai-chat · gpt-5.6
curl 'https://api.openai.com/v1/chat/completions' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "gpt-5.6",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning_effort": "medium"
}'Python (requests)
import requests
resp = requests.post(
"https://api.openai.com/v1/chat/completions",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "gpt-5.6",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning_effort": "medium"
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://api.openai.com/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "gpt-5.6",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning_effort": "medium"
}),
})
console.log(await resp.json())OpenAI · openai-responses · gpt-5.6
curl 'https://api.openai.com/v1/responses' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "gpt-5.6",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
}'Python (requests)
import requests
resp = requests.post(
"https://api.openai.com/v1/responses",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "gpt-5.6",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://api.openai.com/v1/responses", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "gpt-5.6",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
}),
})
console.log(await resp.json())- ⚠ Responses include
encrypted_contentartifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss). - Reported incompatible with thinking controls: temperature, top_p.
OpenCode Go · openai-responses · gpt-5.6-luna
curl 'https://opencode.ai/zen/go/v1/responses' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "gpt-5.6-luna",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
}'Python (requests)
import requests
resp = requests.post(
"https://opencode.ai/zen/go/v1/responses",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "gpt-5.6-luna",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://opencode.ai/zen/go/v1/responses", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "gpt-5.6-luna",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
}),
})
console.log(await resp.json())- ⚠ Responses include
encrypted_contentartifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss). - Reported incompatible with thinking controls: temperature, top_p.
OpenCode Zen · openai-responses · gpt-5.6-luna
curl 'https://opencode.ai/zen/v1/responses' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "gpt-5.6-luna",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
}'Python (requests)
import requests
resp = requests.post(
"https://opencode.ai/zen/v1/responses",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "gpt-5.6-luna",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://opencode.ai/zen/v1/responses", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "gpt-5.6-luna",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
}),
})
console.log(await resp.json())- ⚠ Responses include
encrypted_contentartifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss). - Reported incompatible with thinking controls: temperature, top_p.
OpenCode Zen · openai-responses · gpt-5.6-sol
curl 'https://opencode.ai/zen/v1/responses' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "gpt-5.6-sol",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
}'Python (requests)
import requests
resp = requests.post(
"https://opencode.ai/zen/v1/responses",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "gpt-5.6-sol",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://opencode.ai/zen/v1/responses", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "gpt-5.6-sol",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
}),
})
console.log(await resp.json())- ⚠ Responses include
encrypted_contentartifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss). - Reported incompatible with thinking controls: temperature, top_p.
OpenCode Zen · openai-responses · gpt-5.6-terra
curl 'https://opencode.ai/zen/v1/responses' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "gpt-5.6-terra",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
}'Python (requests)
import requests
resp = requests.post(
"https://opencode.ai/zen/v1/responses",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "gpt-5.6-terra",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://opencode.ai/zen/v1/responses", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "gpt-5.6-terra",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
}),
})
console.log(await resp.json())- ⚠ Responses include
encrypted_contentartifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss). - Reported incompatible with thinking controls: temperature, top_p.
OpenRouter · openai-chat · openai/gpt-5.6-luna-pro
curl 'https://openrouter.ai/api/v1/chat/completions' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "openai/gpt-5.6-luna-pro",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning": {
"effort": "medium"
}
}'Python (requests)
import requests
resp = requests.post(
"https://openrouter.ai/api/v1/chat/completions",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "openai/gpt-5.6-luna-pro",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning": {
"effort": "medium"
}
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://openrouter.ai/api/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "openai/gpt-5.6-luna-pro",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning": {
"effort": "medium"
}
}),
})
console.log(await resp.json())- ⚠ Responses include
reasoning_contentartifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss).
OpenRouter · openai-chat · openai/gpt-5.6-luna
curl 'https://openrouter.ai/api/v1/chat/completions' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "openai/gpt-5.6-luna",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning": {
"effort": "medium"
}
}'Python (requests)
import requests
resp = requests.post(
"https://openrouter.ai/api/v1/chat/completions",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "openai/gpt-5.6-luna",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning": {
"effort": "medium"
}
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://openrouter.ai/api/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "openai/gpt-5.6-luna",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning": {
"effort": "medium"
}
}),
})
console.log(await resp.json())- ⚠ Responses include
reasoning_contentartifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss).
OpenRouter · openai-chat · openai/gpt-5.6-sol-pro
curl 'https://openrouter.ai/api/v1/chat/completions' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "openai/gpt-5.6-sol-pro",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning": {
"effort": "medium"
}
}'Python (requests)
import requests
resp = requests.post(
"https://openrouter.ai/api/v1/chat/completions",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "openai/gpt-5.6-sol-pro",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning": {
"effort": "medium"
}
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://openrouter.ai/api/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "openai/gpt-5.6-sol-pro",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning": {
"effort": "medium"
}
}),
})
console.log(await resp.json())- ⚠ Responses include
reasoning_contentartifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss).
OpenRouter · openai-chat · openai/gpt-5.6-sol
curl 'https://openrouter.ai/api/v1/chat/completions' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "openai/gpt-5.6-sol",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning": {
"effort": "medium"
}
}'Python (requests)
import requests
resp = requests.post(
"https://openrouter.ai/api/v1/chat/completions",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "openai/gpt-5.6-sol",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning": {
"effort": "medium"
}
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://openrouter.ai/api/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "openai/gpt-5.6-sol",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning": {
"effort": "medium"
}
}),
})
console.log(await resp.json())- ⚠ Responses include
reasoning_contentartifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss).
OpenRouter · openai-chat · openai/gpt-5.6-terra-pro
curl 'https://openrouter.ai/api/v1/chat/completions' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "openai/gpt-5.6-terra-pro",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning": {
"effort": "medium"
}
}'Python (requests)
import requests
resp = requests.post(
"https://openrouter.ai/api/v1/chat/completions",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "openai/gpt-5.6-terra-pro",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning": {
"effort": "medium"
}
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://openrouter.ai/api/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "openai/gpt-5.6-terra-pro",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning": {
"effort": "medium"
}
}),
})
console.log(await resp.json())- ⚠ Responses include
reasoning_contentartifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss).
OpenRouter · openai-chat · openai/gpt-5.6-terra
curl 'https://openrouter.ai/api/v1/chat/completions' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "openai/gpt-5.6-terra",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning": {
"effort": "medium"
}
}'Python (requests)
import requests
resp = requests.post(
"https://openrouter.ai/api/v1/chat/completions",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "openai/gpt-5.6-terra",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning": {
"effort": "medium"
}
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://openrouter.ai/api/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "openai/gpt-5.6-terra",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning": {
"effort": "medium"
}
}),
})
console.log(await resp.json())- ⚠ Responses include
reasoning_contentartifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss).