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 або більше, інакше може повернутися лише порожній вміст.
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.
usage, а вартість цього виклику уніфіковано для протоколів різних моделей зчитується з usage.cost. cost є необов’язковим попереднім переглядом вартості; коли попередній перегляд ціни тимчасово недоступний, відповідь моделі все одно повертається нормально, але може не містити цього поля. Остаточний рахунок визначається записами про використання.
Streaming(потоковий)
Надішліть POST-запит на/v1beta/models/{model}:streamGenerateContent?alt=sse:
usageMetadata та нормалізований usage, а вартість, як і раніше, міститься у usage.cost:
data: [DONE]. Якщо попередній перегляд ціни у фінальному стані тимчасово недоступний, usage все одно поверне використання token, але пропустить cost.
Підтримувані моделі
Розширені функції
Системні інструкції
Конфігурація генерації
Режим JSON
Режим мислення (Thinking)
Моделі, що підтримують функцію мислення (наприклад, gemini-2.5-flash, gemini-2.5-pro), можуть увімкнути режим мислення:Виклик функцій
Багатораундовий діалог
Розуміння зображень
Налаштування безпеки
Можна керувати фільтрацією вмісту черезsafetySettings:

