Gemini Family

Natively Multimodal Models Built for Long Context

Gemini is Google's family of multimodal models, and multimodal here means what it sounds like: text, images, video, audio, and PDFs go in directly, against context windows measured in millions of tokens, with no extraction layer in front. The family spans a deep-reasoning tier, a workhorse Flash tier tuned for coding and agentic execution, and a lightweight tier for high-volume paths, all sharing one interface with thinking depth set per request. One integration note worth knowing before your first call: recent Flash models no longer accept sampling parameters. On DEVUP AI the family is reachable through the standard OpenAI-compatible endpoint, billed in Algerian Dinar.

Gemini logo
Overview & Architecture

Most models that read images had vision added to them. Gemini was built multimodal from the start, and the practical difference shows up in what you can send: text, images, video, audio, and PDFs, mixed freely in a single request. A PDF arrives as a document rather than as extracted text, which means layout, tables, and figures are part of what the model sees. For document and media pipelines this removes an entire preprocessing layer, along with the class of bugs that layer produces.

Context is the second defining property. The family works at a million tokens, and long-context recall is high enough that the window is usable at its full extent rather than nominal. A large codebase, a set of contracts, or an archive of logs can be held whole. That matters most for questions that span documents, since chunking discards exactly the cross-references those questions depend on.

The family is organised into tiers sharing one interface. A deep-reasoning tier handles the hardest problems. A Flash tier carries the bulk of production work and is tuned specifically for coding and multi-step agentic execution rather than for conversation alone. A lightweight tier serves high-volume paths where latency dominates. Thinking depth is set per request across three levels, so a single model can serve both a latency-critical endpoint and a long agent run.

One integration difference is worth stating plainly, because it breaks working code rather than degrading it. Recent Flash models no longer accept temperature, top_p, or top_k. Most OpenAI-compatible clients send temperature by default, so it has to be removed explicitly. Prefilled assistant turns are not supported either — a messages array cannot end with an assistant turn intended to be continued. Output variance is controlled through the thinking level and through prompt instructions instead of through sampling.

On DEVUP AI, Gemini models are reachable through the same OpenAI-compatible endpoint as the rest of the catalogue, with one API key, billing in Algerian Dinar, and local payment methods rather than an international card.

Available Gemini Models

Deploy and access all published models in this family with unified DZD pricing and zero foreign card requirement.

ModelContextDZD in / 1M tokensDZD out / 1M tokensActions
gemini-3.7-flashgoogle/gemini-3.7-flash1M Tokens2631313View model
gemini-3.1-progoogle/gemini-3.1-pro1M Tokens7004200View model
gemini-3.5-flashgoogle/gemini-3.5-flash1M Tokens5253150View model
gemini-3.1-flash-litegoogle/gemini-3.1-flash-lite1M Tokens87.5525View model
gemini-2.5-progoogle/gemini-2.5-pro1M Tokens437.53500View model
gemini-2.5-flashgoogle/gemini-2.5-flash1M Tokens105875View model

Call any Gemini model

Every model on this page uses the same API key and standard OpenAI-compatible endpoint. The example below uses the featured model google/gemini-3.7-flash.

from openai import OpenAI
import os

client = OpenAI(
    api_key=os.environ["DEVUP_API_KEY"],
    base_url="https://api.devupai.com/v1"
)

# Note: this model does not accept temperature, top_p or top_k.
response = client.chat.completions.create(
    model="gemini-3.7-flash",
    messages=[
        {"role": "user", "content": "Hello world!"}
    ],
    max_tokens=1024
)

print(response.choices[0].message.content)
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.DEVUP_API_KEY,
  baseURL: "https://api.devupai.com/v1",
});

async function main() {
  // Note: this model does not accept temperature, top_p or top_k.
  const response = await client.chat.completions.create({
    model: "gemini-3.7-flash",
    messages: [
      { role: "user", content: "Hello world!" },
    ],
    max_tokens: 1024,
  });

  console.log(response.choices[0]?.message?.content);
}

main();
curl -X POST "https://api.devupai.com/v1/chat/completions" \
  -H "Authorization: Bearer $DEVUP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-3.7-flash",
    "messages": [
      { "role": "user", "content": "Hello world!" }
    ],
    "max_tokens": 1024
  }'

Frequently Asked Questions

Almost always temperature. Recent Gemini Flash models no longer accept temperature, top_p, or top_k, and most OpenAI-compatible clients send temperature by default — so a request that works against every other model in the catalogue fails here. Remove it explicitly. The same applies to prefilled assistant turns: your messages array cannot end with an assistant turn.

Through the thinking level and through your prompt. Set a lower thinking level for deterministic, repeatable output on extraction and classification, and a higher one for exploratory or analytical work. For style and format, instruct the model directly rather than reaching for a sampling knob that no longer exists.

Yes, and you should. The model reads PDFs natively — layout, tables, and figures included. Extracting the text first and sending that instead discards exactly the structure the model would have used. Combined with the context window, this means a full report or contract set can be reasoned over in one request rather than chunked.

How much the model deliberates before answering. The lowest level is for latency-critical paths such as real-time chat, fast extraction, and draft generation. The middle level is the default and suits most work. The highest is for hard reasoning, long agent runs, and dense documents. Note that not every value is accepted on every model — an unsupported level returns a validation error rather than falling back silently, which is the good case.

Long-context recall on this family is strong enough that passing a document whole is usually better than chunking it. The caveat is cost rather than quality: media inputs consume a large number of input tokens, and a batch of high-resolution pages or a few minutes of audio consumes far more than the surrounding text. Enable usage reporting on your stream so you can see it rather than discover it afterwards.

Start with the Flash tier. It was tuned for coding and multi-step agentic work rather than for conversation alone, and it carries most production traffic well. Move up when the task is genuinely hard, and down when volume and latency dominate. Check the individual model page for the input types and thinking levels each one supports — they are not uniform across the family.

No. Google does not publish parameter counts, layer structure, or training details for Gemini, and no open weights are released. What is documented is behaviour: input types, context and output limits, thinking levels, and supported features. Where this page describes the family, it describes what the models do rather than how they are built.