Tchavi
Why TchaviModelsPricingDocumentationBlog
TchaviTchavi

Frontier AI, paid with mobile money. No card, no KYC.

Product

  • Why Tchavi
  • Pricing
  • Models

Resources

  • Documentation
  • API Reference
  • Blog
  • Support

Legal

  • Privacy
  • Terms of Service

© 2026 Tchavi. All rights reserved.

We use cookies to enhance your experience, provide personalised content, and analyse our traffic; see our Cookie Policy.

Back to models

GPT-6.1 Sol

openai/gpt-6.1-sol

The same price as GPT-6 Sol, and better at everything

GPT-6.1 Sol costs exactly what GPT-6 Sol costs — 5 credits per 1K input — scores higher on published evaluations, and reads from cache at half the price. Same 1.05M context, same 128K output, same capabilities. There is no request for which GPT-6 Sol is the better choice.

Modalities
Input / Output
5 / 24cr / 1K
Context window
1.1M
Max output
128K
Capabilities
  • JSON mode
  • Vision
  • PDF
  • Streaming
  • Prompt caching· read 0.5 cr / 1K

What this model does well

  • 🎯

    Strictly better value

    Higher scores than GPT-6 Sol on published evaluations, at an identical price

  • 📚

    1.05M token context

    A whole repository, a year of tickets, or forty invoices in one call

  • 💾

    Cheapest cache in the GPT line

    Repeated context is billed at a twentieth of the input rate

  • 📤

    128K output

    Long enough for a migration diff or a full report in one pass

  • 🛠️

    Vision + structured output

    Structured outputs, images and documents — but not function tools on this path

Example prompts

  • Here is our whole API surface. Find every endpoint that can return a 500 without logging anything, and show the fix.

  • Read these 40 supplier invoices and return one JSON row per invoice, flagging any total that does not match its line items.

Good to know

  • Function tools are not accepted on /v1/chat/completions, which is the path Tchavi uses. OpenAI returns `Function tools with reasoning_effort are not supported for gpt-6.1-sol`, and unlike GPT-6 Sol this model also rejects the `reasoning_effort: 'none'` workaround. Use GPT-5.4 or GPT-5.4 mini for tool loops.
  • Prompts over 272K input tokens are billed by OpenAI at 2x input and 1.5x output for the whole request. Tchavi charges its flat catalogue rate, so very long prompts earn a thinner margin — the same is true of GPT-6 Sol.
  • Sampling parameters are ignored. This model rejects temperature and top_p, so Tchavi drops them rather than letting the request fail.

Technical specifications

Author
openai
API identifier
gpt-6.1-sol
Category
Chat & Text
Context window
1,050,000 tokens
Max output
128,000 tokens
Rate limit
500 RPM
Billing unit
token
Streaming
Yes

Ideal for

  • Everything GPT-6 Sol does, for the same credits
  • Coding with repository context
  • Long document and archive analysis
  • Structured extraction at volume

Ready to try it?

Test this model in the playground, no setup needed.

Frequently asked questions

Can I pay with mobile money, without a bank card?

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.

Is the API compatible with OpenAI's?

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.

API

import Tchavi from '@tchavi/sdk';

const client = new Tchavi({ apiKey: 'API_KEY' });

const response = await client.chat.completions.create({
  model: 'gpt-6.1-sol',
  messages: [
  {
    "role": "user",
    "content": "Hello!"
  }
],
});

console.log(response.choices[0].message.content);
console.log('Credits used:', response.tchavi.credits_used);

API parameters

Every parameter this model accepts on the API. Check the SDK for full typings.

modelRequired
string

ID of the chat model (e.g. `gpt-6.1-sol`).

messagesRequired
Array<{ role, content }>

Conversation 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`).

temperature
number
Default: 1

Sampling temperature between 0 and 2. Higher values = more random.

max_tokens
integer

Maximum number of tokens to generate in the response.

max_completion_tokens
integer

OpenAI alias for `max_tokens`. Either field works; if both are sent, `max_completion_tokens` wins.

stream
boolean
Default: false

If true, partial message deltas are streamed as Server-Sent Events.

response_format
{ type: "json_object" | "text" }

Constrain 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_effort
"low" | "medium" | "high"

Reasoning depth on OpenAI o-series / GPT-5 reasoning models. Values `"low"`, `"medium"`, `"high"`. Silently ignored by non-reasoning OpenAI models.

Show all parameters (19)
top_p
number
Default: 1

Nucleus sampling: only tokens in the top `top_p` probability mass are considered.

seed
integer

Integer seed for deterministic output. The same seed + identical request yields the same completion when supported by the provider. OpenAI honours it; Anthropic ignores.

n
integer
Default: 1

Number of completions to generate in one call. Defaults to 1; each extra completion is billed.

stream_options
{ include_usage?: boolean }

Streaming options, e.g. `{ "include_usage": true }` to receive a final SSE chunk with usage counts. Effective only when `stream: true`.

stop
string | string[]

Up to 4 sequences where the API will stop generating further tokens.

frequency_penalty
number
Default: 0

Between -2.0 and 2.0. Positive values penalize tokens that have appeared frequently.

presence_penalty
number
Default: 0

Between -2.0 and 2.0. Positive values encourage the model to talk about new topics.

user
string

End-user identifier passed to the upstream provider for abuse / moderation tracking. Should be stable per end-user.

logit_bias
Record<string, number>

Per-token logit bias `{ "<tokenId>": <-100..100>, ... }`. OpenAI-specific; Anthropic ignores silently.

messages[].content[].image_url
string

Attach 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_url
string

Attach 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`).

Pricing

per 1,000 tokens
5 credits
Input 5 · Output 24 cr/1K

How billing works

  • Billed per token used, down to a thousandth of a credit.
  • A typical message (500 in, 150 out) costs about —, or 6.1 credits.
  • Prompt cache reads: — per 1K tokens (0.5 credits).
Real-world scenarios
Per day
Per week
Per month

Estimated over 30 days, for a typical message: ~500 input + ~150 output tokens, billed to the thousandth of a credit.

A 10 000 F CFA top-up gives you about ~4 918 questions. Pay with Orange Money, MTN MoMo or M-Pesa — no Visa card needed.

Ready to use GPT-6.1 Sol?

Create your accountAPI Documentation

Bonus credits on your first top-up · No card to sign up