# `Nous.StreamNormalizer.Gemini`
[🔗](https://github.com/nyo16/nous/blob/v0.17.1/lib/nous/stream_normalizer/gemini.ex#L1)

Stream normalizer for Google Gemini API.

Handles Gemini's SSE streaming format where events arrive as JSON maps
with a `candidates` array.

## Streaming Event Types

| Gemini Event | Normalized Output |
|-------------|-------------------|
| `candidates[0].content.parts[0].text` | `{:text_delta, text}` |
| `candidates[0].content.parts` with `functionCall` | `{:tool_call_delta, call}` |
| `candidates[0].finishReason` present | `{:finish, reason}` |
| `{:stream_done, reason}` | `{:finish, reason}` |
| Error with `"error"` key | `{:error, message}` |

---

*Consult [api-reference.md](api-reference.md) for complete listing*
