We use cookies to enhance your experience, provide personalised content, and analyse our traffic; see our Cookie Policy.
google/gemini-3.5-flashA fast multimodal Flash with a 1M-token context
Google unveiled Gemini 3.5 Flash on 19 May 2026 at Google I/O as its strongest Flash model for coding and agents. Its documentation now lists it among the legacy Flash models, behind newer generations.
According to Google, it beats Gemini 3.1 Pro on coding and agent benchmarks, with an output rate about four times that of other frontier models. It reads text, images and PDFs over 1M tokens: long documents, JSON extraction, explaining stack traces.
On Tchavi, change your OpenAI SDK's base URL and keep the same API key as for Claude and GPT. You top up with mobile money, no card and no KYC, and your credits never expire.
A long document or a large repository in a single request
Reads images and PDFs alongside text
Function calling and structured JSON output
Presented by Google as its strongest Flash on these tasks
Tokens streamed over SSE as they are generated
Enough for a full report or a complete code file
Extract every date and amount from this invoice text and return them as valid JSON, with the currency and the source line.
Explain this Python stack trace, find the likely root cause and propose a fix with the changed code.
Summarise this 20-page report in five bullets: one decision to make, two risks, two key figures.
According to Google, 3.5 Flash beats 3.1 Pro on coding and agents, and it holds 1M tokens where 3.1 Pro is capped at 180K on Tchavi. Default to 3.5 Flash; use 3.1 Pro only if your prompts are already tuned to it.
Gemini 3.8 Flash is the newer generation in the catalogue, with the same 1M context and multimodal input. Keep 3.5 Flash only for a prompt tuned to its exact behaviour.
3.5 Flash for a 1M-token context and JSON mode; Haiku 4.5 to stay on Claude with 200K and forced tool_choice.
1M tokens in and up to 65,536 out, with images and PDFs.
With the OpenAI SDK, change the base URL, use your sk-tch-… key and model: "gemini-3.5-flash" on /v1/chat/completions. JSON mode is available.
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: 'gemini-3.5-flash',
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. `gemini-3.5-flash`).
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.
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`).
Estimated over 30 days, for a typical message: ~500 input + ~150 output tokens, billed to the thousandth of a credit.