We use cookies to enhance your experience, provide personalised content, and analyse our traffic; see our Cookie Policy.
openai/gpt-6-solThe default GPT-6 for coding and agent work
GPT-6 Sol is the middle tier of the GPT-6 family, released by OpenAI on 22 September 2026 alongside Luna. OpenAI positions it for complex coding and agentic workflows.
It shines whenever a task has several steps: reviewing a diff, refactoring a module, chaining tool calls, pulling data out of a long document. 1.05M tokens of context, up to 128K of output, image and document input, adjustable reasoning effort.
On Tchavi you pay with mobile money, no bank card and no KYC. One account and one API key open 100+ models: change the base URL, keep your OpenAI SDK.
Positioned by OpenAI for complex coding and agentic workflows
A whole repo or a long file in one call, with up to 128K of output
From none to max, to match the difficulty of the request
Reads screenshots, diagrams and attached files alongside text
Function calling and structured JSON output
Show the answer as it is written
Here is a 300-line diff and the ticket behind it. Review it like a demanding maintainer: likely bugs, forgotten edge cases, missing tests, ranked by severity.
Turn this rambling meeting transcript into a decision log: what was decided, by whom, by when, and what is still open, as a table.
Start with Sol for coding, agents and everyday assistance. Move to Astra, which OpenAI calls its most capable model, once you have watched Sol fail on a genuinely hard problem.
According to OpenAI, Luna is the most efficient GPT-6 model for focused, high-volume tasks. Pick Sol when the job needs more reasoning: code, agents, complex documents.
GPT-6.1 Sol is the newer release, out on 29 September 2026. Keep GPT-6 Sol if your prompts are already validated on it; try 6.1 for new projects.
1.05M tokens of context and up to 128K of output. It accepts images and documents as input and returns text.
No: the model rejects them, so Tchavi strips them from the request. To steer style, use system instructions and the reasoning effort.
Swap the base URL for Tchavi's, use your Tchavi API key and set model: "gpt-6-sol". The rest of your code stays the same.
Yes. Top up your Tchavi account with Orange Money, MTN MoMo, M-Pesa or another mobile money operator. No bank card is needed. Credits land as soon as the payment is confirmed and are deducted as you use them.
Yes. Keep your current OpenAI SDK, just change the base URL to Tchavi's (shown in the API tab) and use your Tchavi key. The rest of your code stays the same.
import Tchavi from '@tchavi/sdk';
const client = new Tchavi({ apiKey: 'API_KEY' });
const response = await client.chat.completions.create({
model: 'gpt-6-sol',
messages: [
{
"role": "user",
"content": "Hello!"
}
],
});
console.log(response.choices[0].message.content);
console.log('Credits used:', response.tchavi.credits_used);Every parameter this model accepts on the API. Check the SDK for full typings.
modelRequiredID of the chat model (e.g. `gpt-6-sol`).
messagesRequiredConversation messages. Each item has a `role` (system/user/assistant) and a `content` that's either a plain string or an array of content blocks (`text`, `image_url`, `document_url`).
temperature1Sampling temperature between 0 and 2. Higher values = more random.
max_tokensMaximum number of tokens to generate in the response.
max_completion_tokensOpenAI alias for `max_tokens`. Either field works; if both are sent, `max_completion_tokens` wins.
streamfalseIf true, partial message deltas are streamed as Server-Sent Events.
toolsFunction-calling toolbox. Pass an array of `{ type: "function", function: { name, description, parameters } }`. Returned tool calls land in `choices[].message.tool_calls`. Only models with `supportsTools: true` accept this.
tool_choiceHow the model picks among tools: `"auto"` (default), `"none"` to force a plain text reply, or `{ type: "function", function: { name } }` to force a specific tool. Only with `supportsTools: true`.
response_formatConstrain the output. Pass `{ type: "json_object" }` to force valid JSON (the model still needs a JSON instruction in your prompt). Only models with `supportsJsonMode: true` honour this.
reasoning_effortReasoning depth on OpenAI o-series / GPT-5 reasoning models. Values `"low"`, `"medium"`, `"high"`. Silently ignored by non-reasoning OpenAI models.
top_p1Nucleus sampling: only tokens in the top `top_p` probability mass are considered.
seedInteger seed for deterministic output. The same seed + identical request yields the same completion when supported by the provider. OpenAI honours it; Anthropic ignores.
n1Number of completions to generate in one call. Defaults to 1; each extra completion is billed.
stream_optionsStreaming options, e.g. `{ "include_usage": true }` to receive a final SSE chunk with usage counts. Effective only when `stream: true`.
stopUp to 4 sequences where the API will stop generating further tokens.
frequency_penalty0Between -2.0 and 2.0. Positive values penalize tokens that have appeared frequently.
presence_penalty0Between -2.0 and 2.0. Positive values encourage the model to talk about new topics.
userEnd-user identifier passed to the upstream provider for abuse / moderation tracking. Should be stable per end-user.
logit_biasPer-token logit bias `{ "<tokenId>": <-100..100>, ... }`. OpenAI-specific; Anthropic ignores silently.
messages[].content[].image_urlAttach an image on a user message. Pass a content block `{ "type": "image_url", "image_url": { "url": ... } }`. PNG / JPEG / WebP, up to 4 per request. Only models with `supportsImageInput: true` accept this block (e.g. `gpt-4o`, `claude-opus-4-7`).
messages[].content[].document_urlAttach a PDF on a user message. Pass a content block `{ "type": "document_url", "document_url": { "url": ... } }`. Up to 5 PDFs per request. Only models with `supportsDocuments: true` accept this block (e.g. `claude-sonnet-4-6`, `gpt-4.1`).
parallel_tool_callstrueWhether the model may call multiple tools in parallel within one turn. Set `false` to force serial tool calls. Only with `supportsTools: true` (OpenAI).
This model costs more upstream once a prompt passes a threshold, and we pass that through rather than cap the window or raise the price for everyone. The rate above is the first band.
| Prompt length | Input / 1K | Output / 1K |
|---|---|---|
| Under 272K tokens | ||
| 272K tokens and above |
The threshold counts every input token on the request, cached ones included — a 95K cache hit plus 10K of new prompt is a 105K prompt. Output is priced by the prompt’s length, so a long prompt with a short answer still pays the higher output rate.
Estimated over 30 days, for a typical message: ~500 input + ~150 output tokens, billed to the thousandth of a credit.