---
title: "Cygnal Gemini Generate"
method: POST
path: "/cygnal/v1beta/models/{model}:generateContent"
---

# Cygnal Gemini Generate

`POST /cygnal/v1beta/models/{model}:generateContent`

Create Gemini-compatible generateContent responses with Cygnal protection.

Docs: [Guide](https://docs.grayswan.ai/cygnal/creating-completions) |
[API Reference](https://docs.grayswan.ai/api-reference/cygnal/gemini-generate-v1beta)

## Path parameters

- `model` string, required

## Response `200`

Successful Response

- GeminiGenerateContentResponse
  - `id` string, required
  - `candidates` GeminiCandidate[], required
    - `id` string, nullable
    - `content` GeminiContent, required
      - `parts` GeminiPart[], required
        - `text` string, required
      - `role` string, nullable
    - `finish_reason` string, nullable
    - `index` integer, nullable
    - `safety_ratings` GeminiSafetyRating[], nullable
      - `category` string, nullable
      - `probability` string, nullable
      - `blocked` boolean, nullable
  - `prompt_feedback` GeminiPromptFeedback
    - `safety_ratings` GeminiSafetyRating[], nullable
      - `category` string, nullable
      - `probability` string, nullable
      - `blocked` boolean, nullable
  - `usage_metadata` GeminiUsageMetadata
    - `prompt_token_count` integer, nullable
    - `candidates_token_count` integer, nullable
    - `total_token_count` integer, nullable

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `422` — Unprocessable Content
- `500` — Internal Server Error

---

[API](https://skmtc.net/grayswan/apis/gray-swan-ai-api.md) · [All operations](https://skmtc.net/grayswan/apis/gray-swan-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/grayswan/gray-swan-ai-api/versions/6ef1ea32ff13/schema)
