---
title: "Gemini native generate"
method: POST
path: "/v1beta/models/{model_path}"
tags: ["Gemini Native"]
---

# Gemini native generate

`POST /v1beta/models/{model_path}`

Direct passthrough to Google's Gemini API. The `model_path`
parameter is `<model>:<action>`, for example
`google/gemini-2.5-flash:generateContent` or
`google/gemini-2.5-flash:streamGenerateContent`.

Supported actions:

| Action                     | What it does                             |
|----------------------------|------------------------------------------|
| `:generateContent`         | One-shot response (JSON)                 |
| `:streamGenerateContent`   | SSE stream of partial chunks             |

What you can do on this surface (request shape stays Gemini's
native JSON; pick the right model for each):

- **Chat / reasoning** — any `gemini-*` chat model, paired
  with `generationConfig.thinkingConfig` for budget control.
- **Multimodal input** — `inline_data` parts for image / audio /
  video / file content alongside `text` parts.
- **Function calling** — `tools: [{functionDeclarations: [...]}]`.
- **Built-in server tools** — `tools: [{googleSearch: {}}]`,
  `tools: [{codeExecution: {}}]`, `tools: [{urlContext: {}}]`.
- **Text-to-speech** — `*-tts` preview models with
  `generationConfig.responseModalities: ["AUDIO"]` and
  `speechConfig.voiceConfig`.
- **Image generation** — `gemini-*-image*` models; the response
  carries the image as an `inlineData` part.

Authentication accepts the standard `Authorization: Bearer
sk-orca-…` header, plus the Gemini-style `x-goog-api-key`
header and `?key=` query string for google-genai SDK
compatibility — see [Get an API key](/getting-started/get-api-key#how-to-send-the-key).

## Path parameters

- `model_path` string, required

## Request body

- object — Gemini-native request body (Google's `GenerateContentRequest` shape). See the examples for common payloads.

## Response `200`

Successful response. For `:generateContent` the body is
JSON (`GenerateContentResponse`). For `:streamGenerateContent`
the body is SSE (`text/event-stream`); each event is a
partial `GenerateContentResponse`.

- object — Gemini-native `GenerateContentResponse`.

---

[API](https://skmtc.dev/orcarouter/apis/orcarouter-api.md) · [All operations](https://skmtc.dev/orcarouter/apis/orcarouter-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/orcarouter/orcarouter-api/revisions/9c5cc5d00311/schema)
