Terminal agent
Chat CompletionsOpenCode
Load all deepthroat text models in one OpenCode connection.
Before you start
One deepthroat key connects OpenCode to the full text model catalog. Add credits or start an hourly plan on that key.
36 text models · one connectionComplete configuration included
All modelsSetup
- 1Download opencode.json below. For an existing configuration, merge its provider.deepthroat entry and model setting instead of replacing the whole file.
- 2Save it as opencode.json in your project, then set deepthroatkey using the terminal commands below.
- 3Launch OpenCode and run /models. All included models appear under deepthroat.
Configuration
Starting model
All 36 models stay included. This only sets the initial selection.
Reasoning effort
Choose a supported level for this model. Higher effort can take longer.
opencode.json36 models included · no API key embedded
DownloadPreview the complete configuration
{
"$schema": "https://opencode.ai/config.json",
"model": "deepthroat/gpt-6.1-sol",
"provider": {
"deepthroat": {
"npm": "@ai-sdk/openai-compatible",
"name": "deepthroat",
"options": {
"baseURL": "https://api.cheapai.gay/v1",
"apiKey": "{env:deepthroatkey}"
},
"models": {
"deepseek-v4-pro": {
"name": "DeepSeek V4 Pro",
"modalities": {
"input": [
"text"
],
"output": [
"text"
]
}
},
"deepseek-v4.1-flash": {
"name": "DeepSeek V4.1 Flash",
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
}
},
"uncensored-deepseek-v4.1-flash": {
"name": "Uncensored DeepSeek V4.1 Flash",
"modalities": {
"input": [
"text"
],
"output": [
"text"
]
}
},
"gpt-oss-120b": {
"name": "GPT-OSS 120B",
"modalities": {
"input": [
"text"
],
"output": [
"text"
]
},
"reasoning": true,
"variants": {
"medium": {
"reasoningEffort": "medium"
}
}
},
"muse-spark-1.3": {
"name": "Muse Spark 1.3",
"modalities": {
"input": [
"text"
],
"output": [
"text"
]
}
},
"qwen3.7-plus": {
"name": "Qwen3.7 Plus",
"modalities": {
"input": [
"text"
],
"output": [
"text"
]
}
},
"qwen3.8-max": {
"name": "Qwen3.8 Max",
"modalities": {
"input": [
"text"
],
"output": [
"text"
]
}
},
"qwen3.7-max": {
"name": "Qwen3.7 Max",
"modalities": {
"input": [
"text"
],
"output": [
"text"
]
}
},
"qwen3.6-plus": {
"name": "Qwen3.6 Plus",
"modalities": {
"input": [
"text"
],
"output": [
"text"
]
}
},
"qwen3.5-plus": {
"name": "Qwen3.5 Plus",
"modalities": {
"input": [
"text"
],
"output": [
"text"
]
}
},
"qwen3.8-omni-flash": {
"name": "Qwen3.8 Omni Flash",
"modalities": {
"input": [
"text"
],
"output": [
"text"
]
}
},
"qwen3.5-omni-plus": {
"name": "Qwen3.5 Omni Plus",
"modalities": {
"input": [
"text"
],
"output": [
"text"
]
}
},
"gemini-3.8-flash": {
"name": "Gemini 3.8 Flash",
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
},
"reasoning": true,
"variants": {
"low": {
"reasoningEffort": "low"
},
"medium": {
"reasoningEffort": "medium"
},
"high": {
"reasoningEffort": "high"
}
}
},
"longcat-2.0": {
"name": "LongCat 2.0",
"modalities": {
"input": [
"text"
],
"output": [
"text"
]
}
},
"longcat-2.5-preview": {
"name": "LongCat 2.5 Preview",
"modalities": {
"input": [
"text"
],
"output": [
"text"
]
}
},
"gpt-6-astra": {
"name": "GPT-6 Astra",
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
},
"reasoning": true,
"variants": {
"low": {
"reasoningEffort": "low"
},
"medium": {
"reasoningEffort": "medium"
},
"high": {
"reasoningEffort": "high"
},
"xhigh": {
"reasoningEffort": "xhigh"
},
"max": {
"reasoningEffort": "max"
},
"ultra": {
"reasoningEffort": "ultra"
}
}
},
"gpt-6-sol": {
"name": "GPT-6 Sol",
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
},
"reasoning": true,
"variants": {
"low": {
"reasoningEffort": "low"
},
"medium": {
"reasoningEffort": "medium"
},
"high": {
"reasoningEffort": "high"
},
"xhigh": {
"reasoningEffort": "xhigh"
},
"max": {
"reasoningEffort": "max"
}
}
},
"gpt-6-luna": {
"name": "GPT-6 Luna",
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
},
"reasoning": true,
"variants": {
"low": {
"reasoningEffort": "low"
},
"medium": {
"reasoningEffort": "medium"
},
"high": {
"reasoningEffort": "high"
},
"xhigh": {
"reasoningEffort": "xhigh"
},
"max": {
"reasoningEffort": "max"
}
}
},
"gpt-5.6-sol": {
"name": "GPT-5.6 Sol",
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
},
"reasoning": true,
"variants": {
"low": {
"reasoningEffort": "low"
},
"medium": {
"reasoningEffort": "medium"
},
"high": {
"reasoningEffort": "high"
},
"xhigh": {
"reasoningEffort": "xhigh"
},
"max": {
"reasoningEffort": "max"
}
}
},
"gpt-5.6-terra": {
"name": "GPT-5.6 Terra",
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
},
"reasoning": true,
"variants": {
"low": {
"reasoningEffort": "low"
},
"medium": {
"reasoningEffort": "medium"
},
"high": {
"reasoningEffort": "high"
},
"xhigh": {
"reasoningEffort": "xhigh"
},
"max": {
"reasoningEffort": "max"
}
}
},
"gpt-5.6-luna": {
"name": "GPT-5.6 Luna",
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
},
"reasoning": true,
"variants": {
"low": {
"reasoningEffort": "low"
},
"medium": {
"reasoningEffort": "medium"
},
"high": {
"reasoningEffort": "high"
},
"xhigh": {
"reasoningEffort": "xhigh"
},
"max": {
"reasoningEffort": "max"
}
}
},
"claude-sonnet-5": {
"name": "Claude Sonnet 5",
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
}
},
"claude-sonnet-4.6": {
"name": "Claude Sonnet 4.6 (Thinking)",
"modalities": {
"input": [
"text"
],
"output": [
"text"
]
},
"reasoning": true,
"variants": {
"low": {
"reasoningEffort": "low"
},
"medium": {
"reasoningEffort": "medium"
},
"high": {
"reasoningEffort": "high"
},
"xhigh": {
"reasoningEffort": "xhigh"
},
"max": {
"reasoningEffort": "max"
}
}
},
"claude-haiku-4.5": {
"name": "Claude Haiku 4.5",
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
}
},
"claude-opus-4.5": {
"name": "Claude Opus 4.5",
"modalities": {
"input": [
"text"
],
"output": [
"text"
]
},
"reasoning": true,
"variants": {
"low": {
"reasoningEffort": "low"
},
"medium": {
"reasoningEffort": "medium"
},
"high": {
"reasoningEffort": "high"
},
"xhigh": {
"reasoningEffort": "xhigh"
},
"max": {
"reasoningEffort": "max"
}
}
},
"claude-opus-4.6": {
"name": "Claude Opus 4.6 (Thinking)",
"modalities": {
"input": [
"text"
],
"output": [
"text"
]
},
"reasoning": true,
"variants": {
"low": {
"reasoningEffort": "low"
},
"medium": {
"reasoningEffort": "medium"
},
"high": {
"reasoningEffort": "high"
},
"xhigh": {
"reasoningEffort": "xhigh"
},
"max": {
"reasoningEffort": "max"
}
}
},
"claude-opus-4.7": {
"name": "Claude Opus 4.7",
"modalities": {
"input": [
"text"
],
"output": [
"text"
]
},
"reasoning": true,
"variants": {
"low": {
"reasoningEffort": "low"
},
"medium": {
"reasoningEffort": "medium"
},
"high": {
"reasoningEffort": "high"
},
"xhigh": {
"reasoningEffort": "xhigh"
},
"max": {
"reasoningEffort": "max"
}
}
},
"claude-opus-4.8": {
"name": "Claude Opus 4.8",
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
},
"reasoning": true,
"variants": {
"low": {
"reasoningEffort": "low"
},
"medium": {
"reasoningEffort": "medium"
},
"high": {
"reasoningEffort": "high"
},
"xhigh": {
"reasoningEffort": "xhigh"
},
"max": {
"reasoningEffort": "max"
}
}
},
"claude-opus-5": {
"name": "Claude Opus 5",
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
},
"reasoning": true,
"variants": {
"low": {
"reasoningEffort": "low"
},
"medium": {
"reasoningEffort": "medium"
},
"high": {
"reasoningEffort": "high"
},
"xhigh": {
"reasoningEffort": "xhigh"
},
"max": {
"reasoningEffort": "max"
}
}
},
"claude-opus-5.5": {
"name": "Claude Opus 5.5",
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
},
"reasoning": true,
"variants": {
"low": {
"reasoningEffort": "low"
},
"medium": {
"reasoningEffort": "medium"
},
"high": {
"reasoningEffort": "high"
},
"xhigh": {
"reasoningEffort": "xhigh"
},
"max": {
"reasoningEffort": "max"
}
}
},
"claude-sonnet-5.5": {
"name": "Claude Sonnet 5.5",
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
},
"reasoning": true,
"variants": {
"low": {
"reasoningEffort": "low"
},
"medium": {
"reasoningEffort": "medium"
},
"high": {
"reasoningEffort": "high"
}
}
},
"gpt-6.1-sol": {
"name": "GPT-6.1 Sol",
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
},
"reasoning": true,
"variants": {
"low": {
"reasoningEffort": "low"
},
"medium": {
"reasoningEffort": "medium"
},
"high": {
"reasoningEffort": "high"
},
"xhigh": {
"reasoningEffort": "xhigh"
},
"max": {
"reasoningEffort": "max"
},
"ultra": {
"reasoningEffort": "ultra"
}
}
},
"swe-1.6": {
"name": "SWE-1.6",
"modalities": {
"input": [
"text"
],
"output": [
"text"
]
}
},
"claude-haiku-5.5": {
"name": "Claude Haiku 5.5",
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
},
"reasoning": true,
"variants": {
"low": {
"reasoningEffort": "low"
},
"medium": {
"reasoningEffort": "medium"
},
"high": {
"reasoningEffort": "high"
},
"xhigh": {
"reasoningEffort": "xhigh"
},
"max": {
"reasoningEffort": "max"
}
}
},
"deepseek-v4.1-flash-1017": {
"name": "DeepSeek V4.1 Flash 1017",
"modalities": {
"input": [
"text"
],
"output": [
"text"
]
},
"reasoning": true,
"variants": {
"low": {
"reasoningEffort": "low"
},
"medium": {
"reasoningEffort": "medium"
},
"high": {
"reasoningEffort": "high"
}
}
},
"glm-5.3-flash": {
"name": "GLM 5.3 Flash",
"modalities": {
"input": [
"text"
],
"output": [
"text"
]
},
"reasoning": true,
"variants": {
"low": {
"reasoningEffort": "low"
},
"medium": {
"reasoningEffort": "medium"
},
"high": {
"reasoningEffort": "high"
}
}
}
}
}
}
}export deepthroatkey="YOUR_API_KEY"
opencodeReasoning controls
The complete downloaded configuration includes named reasoning variants for every adjustable model. Use the harness’s variant selector to change effort. Model discovery alone does not include these custom variants; install or merge the downloaded configuration.
Switch models inside your app
Open /models and select deepthroat. Every model is in the same connection; your starting model only decides which one opens first.
Included models (36)
DeepSeek V4 Pro
deepseek-v4-proModel defaultDeepSeek V4.1 Flash
deepseek-v4.1-flashModel defaultUncensored DeepSeek V4.1 Flash
uncensored-deepseek-v4.1-flashModel defaultGPT-OSS 120B
gpt-oss-120bmediumMuse Spark 1.3
muse-spark-1.3Model defaultQwen3.7 Plus
qwen3.7-plusModel defaultQwen3.8 Max
qwen3.8-maxModel defaultQwen3.7 Max
qwen3.7-maxModel defaultQwen3.6 Plus
qwen3.6-plusModel defaultQwen3.5 Plus
qwen3.5-plusModel defaultQwen3.8 Omni Flash
qwen3.8-omni-flashModel defaultQwen3.5 Omni Plus
qwen3.5-omni-plusModel defaultGemini 3.8 Flash
gemini-3.8-flashlowmediumhighLongCat 2.0
longcat-2.0Model defaultLongCat 2.5 Preview
longcat-2.5-previewModel defaultGPT-6 Astra
gpt-6-astralowmediumhighxhighmaxultraGPT-6 Sol
gpt-6-sollowmediumhighxhighmaxGPT-6 Luna
gpt-6-lunalowmediumhighxhighmaxGPT-5.6 Sol
gpt-5.6-sollowmediumhighxhighmaxGPT-5.6 Terra
gpt-5.6-terralowmediumhighxhighmaxGPT-5.6 Luna
gpt-5.6-lunalowmediumhighxhighmaxClaude Sonnet 5
claude-sonnet-5Model defaultClaude Sonnet 4.6 (Thinking)
claude-sonnet-4.6lowmediumhighxhighmaxClaude Haiku 4.5
claude-haiku-4.5Model defaultClaude Opus 4.5
claude-opus-4.5lowmediumhighxhighmaxClaude Opus 4.6 (Thinking)
claude-opus-4.6lowmediumhighxhighmaxClaude Opus 4.7
claude-opus-4.7lowmediumhighxhighmaxClaude Opus 4.8
claude-opus-4.8lowmediumhighxhighmaxClaude Opus 5
claude-opus-5lowmediumhighxhighmaxClaude Opus 5.5
claude-opus-5.5lowmediumhighxhighmaxClaude Sonnet 5.5
claude-sonnet-5.5lowmediumhighGPT-6.1 Sol
gpt-6.1-sollowmediumhighxhighmaxultraSWE-1.6
swe-1.6Model defaultClaude Haiku 5.5
claude-haiku-5.5lowmediumhighxhighmaxDeepSeek V4.1 Flash 1017
deepseek-v4.1-flash-1017lowmediumhighGLM 5.3 Flash
glm-5.3-flashlowmediumhighEffort labels show levels available through this harness. These are the current published text models. Your key’s access rules and model availability still apply. Image-generation models use a separate API.
Verify & troubleshoot
Send a short prompt and check Activity. If models are missing, verify the list with the same API key:
curl "https://api.cheapai.gay/v1/models" \
-H "Authorization: Bearer YOUR_API_KEY"- 401: replace the placeholder with your actual key and check that it is enabled.
- 402: top up that key or start an hourly plan in the wallet.
- 404: refresh the model list and check the endpoint. Use https://api.cheapai.gay/v1 as the base URL.
- Tool errors: select a tool-capable text model and read the tool calling guide.