Skip to main content
Google Gemini — це дуже потужна система AI-діалогів, яка може за кілька секунд генерувати плавні та природні відповіді шляхом введення підказок. Цей документ переважно описує спосіб використання Gemini Generate Content API — це офіційний нативний формат API Google, який підтримує дві кінцеві точки: generateContent і streamGenerateContent.

Відмінності від Chat Completions API

Gemini Generate Content API використовує офіційний нативний формат запитів Google (поле contents), а не сумісний з OpenAI формат (поле messages). Якщо ви вже використовуєте Google Gemini SDK або знайомі з офіційним форматом API, ви можете безпосередньо використовувати цей API без зміни формату запитів.

Поточна підтримка

Інтерфейс приймає текстові, графічні, відео- та аудіовходи (inlineData або fileData), конфігурацію мислення та користувацькі декларації функцій. Нативні поля, такі як аудіовихід, вбудовані інструменти та явне кешування контексту, поки що не мають гарантії уніфікованої доступності; орієнтуйтеся на фактичну відповідь конкретної моделі. Під час надсилання аудіо та інших файлів за допомогою fileData.fileUri переконайтеся, що файл доступний безпосередньо через HTTPS, не залежить від стану входу, а термін дії підписаного посилання охоплює весь час обробки запиту. Непотоковий аналіз аудіо повертає результат лише після завершення обробки моделлю, що може зайняти понад 90 секунд; клієнт має встановити достатньо тривалий загальний тайм-аут відповідно до розміру файлу та бізнес-сценарію, щоб уникнути розриву з’єднання, поки сервер все ще обробляє запит.

Процес отримання

Перед використанням Gemini Generate Content API спочатку перейдіть на сторінку Gemini Generate Content API та натисніть кнопку “Отримати”, щоб отримати облікові дані, необхідні для запиту. Якщо ви ще не увійшли або не зареєструвалися, вас буде автоматично перенаправлено на сторінку входу. Під час першого отримання буде надано безкоштовну квоту.

Базове використання

Non-Streaming(непотоковий)

Надішліть POST-запит на /v1beta/models/{model}:generateContent:
Підказка:flash серії gemini-3.x є моделлю мислення та спочатку споживає reasoning tokens; установіть generationConfig.maxOutputTokens на 512 або більше, інакше може повернутися лише порожній вміст.
Приклад результату відповіді:
Поля token у usageMetadata оплачуються відповідно до нативної семантики Gemini:
  • promptTokenCount включає cachedContentTokenCount; частина, що влучила в кеш, розраховується за ціною читання з кешу та не враховується повторно як звичайний вхід.
  • promptTokensDetails і cacheTokensDetails нормалізуються в text_tokens, image_tokens, video_tokens, audio_tokens та відповідні деталі cached_* у usage.prompt_tokens_details. Ці значення відповідно включаються до prompt_tokens і cached_tokens; різні модальності перераховуються лише за власними цінами та не оплачуються повторно.
  • candidatesTokenCount і thoughtsTokenCount обидва розраховуються за ціною вихідних token.
  • toolUsePromptTokenCount є окремими token введення інструменту та розраховується за ціною вхідних token.
Ace Data Cloud додатково повертає нормалізований об’єкт usage, а вартість цього виклику уніфіковано для протоколів різних моделей зчитується з usage.cost. cost є необов’язковим попереднім переглядом вартості; коли попередній перегляд ціни тимчасово недоступний, відповідь моделі все одно повертається нормально, але може не містити цього поля. Остаточний рахунок визначається записами про використання.

Streaming(потоковий)

Надішліть POST-запит на /v1beta/models/{model}:streamGenerateContent?alt=sse:
Потокова відповідь поступово повертатиме вміст у форматі SSE(Server-Sent Events). Проміжні події зазвичай містять лише інкрементальний вміст; фінальна подія з авторитетними даними про використання міститиме usageMetadata та нормалізований usage, а вартість, як і раніше, міститься у usage.cost:
Закриття з’єднання означає завершення потоку; нативний потік Gemini не надсилає data: [DONE]. Якщо попередній перегляд ціни у фінальному стані тимчасово недоступний, usage все одно поверне використання token, але пропустить cost.

Підтримувані моделі

Розширені функції

Системні інструкції

Конфігурація генерації

Режим JSON

Режим мислення (Thinking)

Моделі, що підтримують функцію мислення (наприклад, gemini-2.5-flash, gemini-2.5-pro), можуть увімкнути режим мислення:

Виклик функцій

Багатораундовий діалог

Розуміння зображень

Налаштування безпеки

Можна керувати фільтрацією вмісту через safetySettings:

Обробка помилок