Gemini on DNotifier: Setup Guide

Part of a series on running AI workflows across model providers — this one's about getting Gemini talking to your app through DNotifier, end to end.
Google's Gemini lineup has grown into something genuinely wide: fast, cheap models for high-volume classification, a reasoning-heavy "Deep Think" mode for problems that need real thinking time, and native handling of images, video, and audio without bolting on a separate vision model. If you're already running other providers through DNotifier, adding Gemini is mostly a dashboard click, not a rewrite. This post walks through doing exactly that.
Where Gemini actually fits
Before wiring anything up, it's worth being honest about what Gemini is good at versus what it's merely capable of. Its clearest edge is native multimodality — feeding it a video, a screenshot, and a paragraph of text in the same call and getting a coherent answer back, not a workaround. It's also the only major provider with Google Search grounding built directly into the model API, which matters a lot if your app needs current, verifiable information rather than whatever the model learned at training time. Where it's simply competent rather than distinctive is generic single-turn text generation — plenty of models handle that well, so if that's all you need, model choice is more about cost and latency than capability.
┌─────────────────────────┐
│ Your Application │
│ notifier.sendAI() │
└────────────┬────────────┘
│
▼
┌────────────────────────────────────────────────────────────┐
│ DNotifier Foundation Layer │
└────────────┬───────────────────────────────────────────────┘
│
▼
┌─────────────────────┐ ┌──────────────────────────────┐
│ Gemini │ │ Claude, OpenAI, others │
│ (active provider) │ │ (alt providers) │
└─────────────────────┘ └──────────────────────────────┘
Same call, same platform — the box on the right is a configuration choice.
Step 1: Connect Gemini in the dashboard
Same pattern as every other provider on DNotifier: open your app's dashboard, go to Settings → Models, and paste in your Google AI API key (or your Google Cloud project details, if you're routing through the enterprise platform rather than the direct API — more on that distinction later in this series). No SDK changes, no redeploy. The moment the key is saved, Gemini is available to every sendAI() call in that app.
Step 2: Install the SDK
npm install @dnotifier-realtime/dnotifier
Python and Dart/Flutter SDKs are available too, if that's more your stack.
Step 3: Make a call
import { DNotifier } from "@dnotifier-realtime/dnotifier";
const notifier = new DNotifier({
appId: process.env.DNOTIFIER_APP_ID,
secret: process.env.DNOTIFIER_SECRET,
userId: "user-8821",
transport: "ws",
WebSocketImpl: WebSocket,
});
await notifier.connect();
const response = await notifier.sendAI({
senderId: "user-8821",
message: {
text: "Summarize the key differences between event-driven and request-response architectures.",
},
saveHistory: true,
sessionId: "architecture-chat-4",
});
console.log(response.text);That's the entire integration. Whichever model you've set as your app's default — Gemini or otherwise — answers this call. Nothing in this code names a provider, which is the point: the model is a configuration choice, not something baked into your application logic.
What model should you actually pick?
Google ships a lot of Gemini variants, and the naming gets confusing fast. As of this writing, the lineup roughly breaks into three tiers:
| Tier | Example model | Best for |
|---|---|---|
| Lite / Flash-Lite | Gemini 3.1 Flash-Lite | High-volume, latency-sensitive tasks: classification, short extraction, simple chat |
| Flash | Gemini 3.8 Flash | General-purpose work at low cost — the default most teams should start with |
| Pro / Deep Think | Gemini 3.1 Pro, Deep Think mode | Complex reasoning, multi-step analysis, harder coding problems |
Pricing scales accordingly — Flash-tier models run a fraction of a cent per thousand tokens, while Pro-tier and Deep Think cost meaningfully more per token in exchange for materially better reasoning on hard problems. We'll go deeper on picking between these later in this series; for a first integration, Flash is almost always the right starting point, and you upgrade specific calls to Pro only once you've actually measured that Flash isn't cutting it.
A real use case: triaging support tickets
Here's a concrete version of "why bother with Gemini specifically" rather than an abstract one. Say you're building a support-ticket triage system, and customers routinely attach screenshots of error messages alongside their text description. With most providers, that means a separate image-analysis step, gluing OCR or vision output back into the text prompt yourself. With Gemini, you send the screenshot and the customer's message in the same sendAI() call and get triage output — category, urgency, a suggested first response — that already accounts for what's actually in the image. It's a small integration difference that removes a whole pipeline stage.
Session memory
Ticket triage rarely ends in one message — customers add details, attach a second screenshot, or answer a clarifying question. Tie a sessionId to the ticket and DNotifier keeps the running context:
await notifier.sendAI({
senderId: "user-8821",
sessionId: `ticket-${ticketId}`,
message: { text: "Here's another screenshot from the same error." },
saveHistory: true,
});Gemini sees the full ticket history on every call — you're not reconstructing it from your own database each time.
Grounding answers in your own knowledge base
If you've connected a knowledge base to your app — product docs, a help center, internal runbooks — Gemini calls through DNotifier can draw on it the same way any other provider's calls do. This is a different thing from Google Search grounding (which pulls from the live web); this is your own content, retrieved and injected automatically so answers stay specific to your product rather than generic.
Testing prompts before they hit production
DNotifier's Prompt Testing Studio lets you run the same prompt against Gemini and any other connected provider side by side, compare outputs, and settle on wording before it's live. For a model family with as many variants as Gemini's, this matters more than usual — Flash and Pro can genuinely disagree on borderline cases, and it's worth seeing that disagreement before your users do.
Watching what's actually happening
Every Gemini call routed through DNotifier shows up in the observability dashboard — prompt, response, latency, which model answered. If you're mixing Flash for routine traffic and Pro or Deep Think for escalations, this is where you'll actually see whether that split is paying off, rather than guessing.
Frequently asked questions
Do I need a Google Cloud account to use Gemini through DNotifier?
No — a Google AI Studio API key is enough for the direct Gemini API path, which is what most of this guide covers. Google Cloud's enterprise platform is a separate, heavier option we cover later in this series, relevant mainly if you need enterprise compliance controls.
Can I use Gemini for some calls and Claude or OpenAI for others in the same app?
Yes — model selection in DNotifier can be set per app or per agent, so a single application can route different workloads to whichever provider fits best, all through the same sendAI() interface.
Does DNotifier support Gemini's multimodal inputs directly?
Yes — image, video, and audio inputs pass through the same sendAI() call structure; you're not limited to text-only messages when Gemini is the configured model.
What happens if I switch my app from Gemini to another provider later?
Nothing in your application code needs to change — it's a dashboard setting. Session history and knowledge base connections stay intact; only which model answers new calls changes.
Is there a free tier for testing?
Google offers limited free-tier access to certain Gemini models directly through their API, useful for early prototyping before you're paying per token. Production traffic should plan on the paid tier's pricing and rate limits.
The Bottom Line
Next in this series: what Gemini's native multimodality actually buys you in practice, beyond the pitch — and where it doesn't matter as much as it sounds like it should.
Explore Gemini through DNotifier at dnotifier.com.
DNotifier × Gemini
Part 1 of 7
- Part 1Gemini on DNotifier: Setup Guide
- Part 2Gemini's Multimodal Edge, Explained
- Part 3Google Search Grounding, Explained
- Part 4Google's ADK vs. DNotifier
- Part 5Building a Multimodal Support Agent
- Part 6Flash, Pro, or Deep Think?
- Part 7Gemini's Enterprise Platform, Explained
Related articles

Gemini's Multimodal Edge, Explained
Part two of the DNotifier × Gemini series — native multimodality versus bolted-on vision pipelines, where it actually matters, and where it doesn't.

Google Search Grounding, Explained
Part three of the DNotifier × Gemini series — how live Google Search grounding works inside Gemini calls, citations, billing, and when RAG is still the right tool.

Flash, Pro, or Deep Think?
Part six of the DNotifier × Gemini series — when to use Flash, Pro, or Deep Think, how to tier models per agent, and the mistakes teams make in both directions.