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-5 Nano

openai/gpt-5-nano

The GPT-5 tier for mechanical, high-volume pipeline steps

GPT-5 nano is the smallest model of the GPT-5 family, launched by OpenAI on 7 August 2025 alongside GPT-5 and GPT-5 mini. It keeps 400K of context and up to 128K of output, for text.

Modalities
Input / Output
0.12 / 1cr / 1K
Context window
400K
Released
Aug 7, 2025
Capabilities
  • Tools
  • JSON mode
  • Vision
  • PDF
  • Streaming
  • Prompt caching· read 0.012 cr / 1K

It is built for the mechanical steps of a pipeline: routing a message to the right queue, tagging at scale, pulling structured data out of text, first-pass filtering, driving a scripted assistant. Function calling, JSON output and streaming are available.

On Tchavi you pay with mobile money, no card and no KYC, and credits never expire. One API key for 80+ models: nano for the sorting, GPT-5 mini or GPT-5 for the judgement.

What this model does well

  • 📚

    400K tokens of context

    Whole batches of messages or texts to process in one call

  • 🏷️

    Sorting and tagging

    Classification, routing and first-pass filtering

  • 👁️

    Images and PDFs

    Reads images and documents alongside text

  • 🛠️

    Tools + JSON

    Function calling and structured JSON output

  • ✍️

    Up to 128K tokens of output

    Room to return a full tagged batch

  • ⚡

    Streaming

    Show the answer as it is written

Example prompts

  • Here are 50 customer messages. For each one, return JSON with the destination queue (billing, technical, sales) and urgency (low, medium, high).

  • Extract the name, phone number and city of each person mentioned in this text. Return JSON and use null when the information is missing.

Good to know

  • Built for mechanical steps, not judgement: for reasoning or finer writing, use GPT-5 mini or GPT-5.

Technical specifications

Author
openai
API identifier
gpt-5-nano
Category
Chat & Text
Context window
400,000 tokens
Max output
128,000 tokens
Rate limit
600 RPM
Billing unit
token
Streaming
Yes

Ideal for

  • Routing messages to the right queue
  • Labelling and tagging at scale
  • Pulling structured data out of text
  • First-pass filtering
  • Simple scripted assistants

Ready to try it?

Test this model in the playground, no setup needed.

Frequently asked questions

GPT-5 nano or GPT-5 mini: which should I pick?

Nano for mechanical steps: routing, tagging, simple extraction, filtering. Mini as soon as the output needs better writing or real reasoning.

GPT-5 nano or GPT-4o mini?

Nano is GPT-5 generation with 400K of context. GPT-4o mini stays an option if your pipeline already runs on it; test both on a sample.

GPT-5 nano or GPT-5.4 nano?

GPT-5.4 nano is the next generation, also text only. Keep GPT-5 nano if your pipeline is already validated on it, try 5.4 for new flows.

How much context, and does it accept images?

400K tokens of context, up to 128K of output. It reads images and PDFs as well as text.

How do I call GPT-5 nano with my OpenAI SDK?

Swap the base URL for Tchavi's, use your Tchavi API key and set model: "gpt-5-nano". The rest of your code stays the same.

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-5-nano',
  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-5-nano`).

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.

tools
Array<{ type, function }>

Function-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_choice
"auto" | "none" | { type, function }

How 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_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 (22)
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`).

parallel_tool_calls
boolean
Default: true

Whether the model may call multiple tools in parallel within one turn. Set `false` to force serial tool calls. Only with `supportsTools: true` (OpenAI).

Pricing

per 1,000 tokens
0.12 credits
Input 0.12 · Output 1 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 0.21 credits.
  • Prompt cache reads: — per 1K tokens (0.012 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 ~142 871 questions. Pay with Orange Money, MTN MoMo or M-Pesa — no Visa card needed.

Ready to use GPT-5 Nano?

Create your accountAPI Documentation

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