Use the Gemini native API format through CometAPI for text generation, video input, thinking summaries, Google Search grounding, JSON output, and streaming.
POST
/
v1beta
/
models
/
{model}
:
{operator}
import osfrom google import genaiclient = genai.Client( api_key=os.environ["COMETAPI_KEY"], http_options={ "api_version": "v1beta", "base_url": "https://api.cometapi.com", },)response = client.models.generate_content( model="gemini-3.8-flash", contents='Explain how AI works in a few words',)print(response.text)
{ "candidates": [ { "content": { "role": "model", "parts": [ { "text": "AI learns patterns from massive amounts of data to make predictions, solve problems, and generate new content. \n\nIn short: **Data in → Patterns found → Smart predictions out.**" } ] }, "finishReason": "STOP" } ], "usageMetadata": { "promptTokenCount": 9, "candidatesTokenCount": 36, "thoughtsTokenCount": 388, "totalTokenCount": 433 }, "modelVersion": "gemini-3.8-flash"}
Use the Gemini native request format through CometAPI to generate text, send video input, and configure thinking or tools. The examples use gemini-3.8-flash.
Use Google’s GenerateContent API reference for field definitions and model-specific options. This page shows the CometAPI base URL, authentication, and request examples.
Both x-goog-api-key and Authorization: Bearer headers are supported for authentication.
Set includeThoughts to request a thinking summary. When the response includes a summary, its text part has thought: true:
curl \ "https://api.cometapi.com/v1beta/models/gemini-3.8-flash:generateContent" \ -H "Content-Type: application/json" \ -H "x-goog-api-key: $COMETAPI_KEY" \ --data-binary @- <<'EOF'{ "contents": [ { "parts": [ { "text": "What is the 10th Fibonacci number when F(0)=0 and F(1)=1? Briefly verify the result." } ] } ], "generationConfig": { "maxOutputTokens": 4096, "thinkingConfig": { "thinkingLevel": "MEDIUM", "includeThoughts": true } }}EOF
thinkingBudget is a numeric control for compatible models, including Gemini 2.5. Use thinkingLevel in the Gemini 3 examples and do not send both controls. See Google’s thinking guide for model-specific values.
For multi-turn conversations, send the preceding user and model content in contents. The SDK chat examples maintain this history for you.For function calling, return one functionResponse for each functionCall, with the matching name and any returned id. Pass the preceding model content back unchanged, including thoughtSignature fields. The signature is opaque; do not reconstruct it from displayed text.
A text response includes generated content and token usage. This abbreviated example omits optional fields:
{ "candidates": [ { "content": { "role": "model", "parts": [ { "text": "AI learns patterns from massive amounts of data to make predictions, solve problems, and generate new content. \n\nIn short: **Data in → Patterns found → Smart predictions out.**" } ] }, "finishReason": "STOP" } ], "usageMetadata": { "promptTokenCount": 9, "candidatesTokenCount": 36, "thoughtsTokenCount": 388, "totalTokenCount": 433 }, "modelVersion": "gemini-3.8-flash"}
thoughtsTokenCount reports internal thinking tokens, even when the response does not include a thinking summary. Inspect each content part; a response can contain text, summaries, or function calls.
Operation to perform. Use generateContent for a JSON response. For Server-Sent Events, select streamGenerateContent and set the separate alt query parameter to sse.
Conversation content. Each entry has an optional role (user or model) and a parts array. For tool results, preserve the complete preceding model content, including any thoughtSignature fields.
The name of cached content to use as context. Format: cachedContents/{id}. See the Gemini context caching documentation for details.
Response
200 - application/json
Successful response. For streaming requests, the response is a stream of SSE events, each containing a GenerateContentResponse JSON object prefixed with data:.
import osfrom google import genaiclient = genai.Client( api_key=os.environ["COMETAPI_KEY"], http_options={ "api_version": "v1beta", "base_url": "https://api.cometapi.com", },)response = client.models.generate_content( model="gemini-3.8-flash", contents='Explain how AI works in a few words',)print(response.text)
{ "candidates": [ { "content": { "role": "model", "parts": [ { "text": "AI learns patterns from massive amounts of data to make predictions, solve problems, and generate new content. \n\nIn short: **Data in → Patterns found → Smart predictions out.**" } ] }, "finishReason": "STOP" } ], "usageMetadata": { "promptTokenCount": 9, "candidatesTokenCount": 36, "thoughtsTokenCount": 388, "totalTokenCount": 433 }, "modelVersion": "gemini-3.8-flash"}
{"docsConfig":{"theme":"luma","$schema":"https://mintlify.com/docs.json","name":"CometAPI Documentation","description":"CometAPI developer documentation for unified API access to GPT, Claude, Gemini, Grok, Llama, DeepSeek, Mistral, Qwen, and more, including API reference, quickstart guides, and integration tutorials.","colors":{"primary":"#00ACE2","light":"#00ACE2","dark":"#0274C3"},"logo":{"light":"https://mintcdn.com/cometapi/cmhWX83dzrkf2F-2/logo/comet-light.svg?fit=max\u0026auto=format\u0026n=cmhWX83dzrkf2F-2\u0026q=85\u0026s=7ae2fde0df7785d111912bce23157ef2","dark":"https://mintcdn.com/cometapi/cmhWX83dzrkf2F-2/logo/comet-dark.svg?fit=max\u0026auto=format\u0026n=cmhWX83dzrkf2F-2\u0026q=85\u0026s=2d25d0a1c0376b7a3b5b2b06c4149fbc"},"favicon":"https://mintcdn.com/cometapi/cmhWX83dzrkf2F-2/logo/comet.svg?fit=max\u0026auto=format\u0026n=cmhWX83dzrkf2F-2\u0026q=85\u0026s=bd1150b78a8058af98088b06cbe67cdc","api":{"playground":{"display":"interactive","proxy":true},"examples":{"defaults":"required","prefill":true}},"navbar":{"links":[{"href":"https://www.cometapi.com/models/","label":"Models"}],"primary":{"type":"button","label":"Dashboard","href":"https://www.cometapi.com/console"}},"footer":{},"seo":{"metatags":{"og:site_name":"CometAPI Docs","og:type":"website","twitter:card":"summary_large_image","canonical":"https://apidoc.cometapi.com","author":"CometAPI","copyright":"Copyright 2026 CometAPI","category":"Technology","distribution":"global","coverage":"Worldwide"},"indexing":"navigable"},"integrations":{"posthog":{"apiKey":"phc_y3KwBz46V9TGDjqPtDrpuSahVg3bDky6eyzGsD8vuCYS","sessionRecording":false}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity"],"display":"header"},"interaction":{"drilldown":false},"metadata":{"timestamp":true},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","href":""},{"language":"zh-Hans","href":"zh-Hans"},{"language":"zh-Hant","href":"zh-Hant"},{"language":"ja","href":"ja"},{"language":"ko","href":"ko"},{"language":"fr","href":"fr"},{"language":"de","href":"de"},{"language":"es","href":"es"},{"language":"it","href":"it"},{"language":"pt","href":"pt"},{"language":"ru","href":"ru"},{"language":"ar","href":"ar"},{"language":"vi","href":"vi"},{"language":"id","href":"id"},{"language":"tr","href":"tr"},{"language":"pl","href":"pl"},{"language":"nl","href":"nl"},{"language":"no","href":"no"},{"language":"uk","href":"uk"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"cometapi","hasAudioNarration":false,"actualSubdomain":"cometapi","customDomains":["apidoc.cometapi.com"],"gitSource":{"type":"github","owner":"cometapi-dev","repo":"cometapi-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6ae2ec350f3a19b455e9452e","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"en","tag":"API","count":109},{"language":"en","tag":"Video Models","count":66},{"language":"en","tag":"Integrations","count":53},{"language":"en","tag":"Docs","count":35},{"language":"en","tag":"Kling","count":33},{"language":"en","tag":"Image Models","count":28},{"language":"en","tag":"AI chat clients","count":14},{"language":"en","tag":"Runway","count":13},{"language":"en","tag":"Midjourney","count":10},{"language":"en","tag":"AI coding agents","count":10}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"img[src*=\"cloudfront.net/flags/\"]{display:none!important}div.relative:has(>img[src*=\"cloudfront.net/flags/\"]){display:none!important}#localization-select-item-zh-Hans{display:none!important}nav a.link[class~=\"bg-gray-950/[0.03]\"]{background-color:rgb(var(--primary) / 0.12);box-shadow:inset 0 0 0 1px rgb(var(--primary) / 0.38), 0 1px 2px rgb(var(--primary) / 0.08);color:rgb(var(--primary))}nav a.link[class~=\"bg-gray-950/[0.03]\"]:hover,nav a.link[class~=\"bg-gray-950/[0.03]\"]:focus-visible{background-color:rgb(var(--primary) / 0.18);box-shadow:inset 0 0 0 1px rgb(var(--primary) / 0.58), 0 1px 2px rgb(var(--primary) / 0.1);color:rgb(var(--primary))}nav a.link[class~=\"bg-gray-950/[0.03]\"]:focus-visible{outline:2px solid rgb(var(--primary) / 0.45);outline-offset:2px}.dark nav a.link[class~=\"bg-gray-950/[0.03]\"]{background-color:rgb(var(--primary-light) / 0.2);box-shadow:inset 0 0 0 1px rgb(var(--primary-light) / 0.55), 0 1px 2px rgb(var(--primary-light) / 0.16);color:rgb(var(--primary-light))}.dark nav a.link[class~=\"bg-gray-950/[0.03]\"]:hover,.dark nav a.link[class~=\"bg-gray-950/[0.03]\"]:focus-visible{background-color:rgb(var(--primary-light) / 0.28);box-shadow:inset 0 0 0 1px rgb(var(--primary-light) / 0.7), 0 1px 2px rgb(var(--primary-light) / 0.18);color:rgb(var(--primary-light))}.integration-logo-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:12px;margin:16px 0 28px}.integration-logo-card{align-items:center;background:rgba(127, 127, 127, 0.04);border:1px solid rgba(127, 127, 127, 0.22);border-radius:8px;color:inherit;display:flex;gap:14px;min-height:72px;padding:14px 16px;text-decoration:none!important;transition:background 160ms ease, border-color 160ms ease, transform 160ms ease}.integration-logo-card:hover,.integration-logo-card:focus-visible{background:rgba(0, 172, 226, 0.08);border-color:rgba(0, 172, 226, 0.55);transform:translateY(-1px)}.integration-logo-card:focus-visible{outline:2px solid rgba(0, 172, 226, 0.45);outline-offset:2px}.integration-logo-mark{align-items:center;background:#fff;background-position:center;background-repeat:no-repeat;background-size:28px 28px;border:1px solid rgba(127, 127, 127, 0.18);border-radius:8px;display:flex;flex:0 0 38px;height:38px;justify-content:center;overflow:hidden;width:38px}.integration-logo-body{display:flex;flex-direction:column;gap:2px;min-width:0}.integration-logo-title{font-size:0.95rem;font-weight:600;line-height:1.3}.integration-logo-subtitle{color:rgba(90, 90, 90, 0.92);font-size:0.78rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.integration-card-arrow{color:rgba(90, 90, 90, 0.7);flex:0 0 16px;font-size:0.9rem;margin-left:auto;text-align:right}.integration-card-arrow::before{content:\"\\2197\"}.integration-logo-ai-sdk{background-image:url(\"/images/integrations/logos/ai-sdk.png\")}.integration-logo-agno{background-image:url(\"/images/integrations/logos/agno.png\")}.integration-logo-claude-code{background-image:url(\"/images/integrations/logos/claude-code.png\")}.integration-logo-claude-desktop{background-image:url(\"/images/integrations/logos/claude-desktop.png\")}.integration-logo-codex{background-image:url(\"/images/integrations/logos/codex.png\")}.integration-logo-dify{background-image:url(\"/images/integrations/logos/dify.png\")}.integration-logo-gemini-cli{background-image:url(\"/images/integrations/logos/gemini-cli.png\")}.integration-logo-hermes-agent{background-image:url(\"/images/integrations/logos/hermes-agent.png\");background-size:34px 34px}.integration-logo-langchain{background-image:url(\"/images/integrations/logos/langchain.png\")}.integration-logo-langflow{background-image:url(\"/images/integrations/logos/langflow.png\")}.integration-logo-langfuse{background-image:url(\"/images/integrations/logos/langfuse.png\")}.integration-logo-litellm{background-image:url(\"/images/integrations/logos/litellm.png\")}.integration-logo-llamaindex{background-image:url(\"/images/integrations/logos/llamaindex.png\")}.integration-logo-lobe-chat{background-image:url(\"/images/integrations/logos/lobe-chat.jpg\")}.integration-logo-make{background-image:url(\"/images/integrations/logos/make.jpg\")}.integration-logo-n8n{background-image:url(\"/images/integrations/logos/n8n.png\")}.integration-logo-open-webui{background-image:url(\"/images/integrations/logos/open-webui.png\")}.integration-logo-workbuddy-ai{background-image:url(\"/images/integrations/logos/workbuddy-ai.svg\")}.integration-logo-openclaw{background-image:url(\"/images/integrations/logos/openclaw.svg\")}.integration-logo-opencode{background-image:url(\"/images/integrations/logos/opencode.png\")}.integration-logo-pi{background-image:url(\"/images/integrations/logos/pi.svg\")}.integration-logo-promptfoo{background-image:url(\"/images/integrations/logos/promptfoo.png\")}.dark .integration-logo-card{background:rgba(255, 255, 255, 0.035);border-color:rgba(255, 255, 255, 0.14)}.dark .integration-logo-card:hover,.dark .integration-logo-card:focus-visible{background:rgba(0, 172, 226, 0.14);border-color:rgba(0, 172, 226, 0.65)}.dark .integration-logo-mark{background-color:rgba(255, 255, 255, 0.96)}.dark .integration-logo-subtitle{color:rgba(255, 255, 255, 0.66)}.dark .integration-card-arrow{color:rgba(255, 255, 255, 0.64)}@media (max-width: 1024px){.integration-logo-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media (max-width: 640px){.integration-logo-grid{grid-template-columns:1fr}.integration-logo-card{min-height:68px}}"}],"page":{"pagePath":"api/text/gemini-generating-content","slug":"/api/text/gemini-generating-content","pageMetadata":{"title":"Generate content","sidebarTitle":"Generate content","openapi":"api/openapi/text/post-gemini-generating-content.openapi.json POST /v1beta/models/{model}:{operator}","description":"Use the Gemini native API format through CometAPI for text generation, video input, thinking summaries, Google Search grounding, JSON output, and streaming.","keywords":["CometAPI","Gemini generateContent","POST /v1beta/models/{model}:{operator}","text generation api","streamGenerateContent sse","thinkingConfig thinkingLevel","Gemini 3.8 Flash","google genai sdk"],"href":"/api/text/gemini-generating-content"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Use the Gemini native API format through CometAPI for text generation, video input, thinking summaries, Google Search grounding, JSON output, and streaming.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Heading,Info,Note,Tab,Table,Tabs,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Use the Gemini native request format through CometAPI to generate text, send video input, and configure thinking or tools. The examples use `,_jsx(_components.code,{children:`gemini-3.8-flash`}),`.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Use Google’s `,_jsx(_components.a,{href:`https://ai.google.dev/api/generate-content`,children:`GenerateContent API reference`}),` for field definitions and model-specific options. This page shows the CometAPI base URL, authentication, and request examples.`]})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Both `,_jsx(_components.code,{children:`x-goog-api-key`}),` and `,_jsx(_components.code,{children:`Authorization: Bearer`}),` headers are supported for authentication.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`quick-start`,children:`Quick start`}),`\n`,_jsx(_components.p,{children:`To use the Google Gen AI SDK or an HTTP client with CometAPI, configure the base URL and API key:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Setting`}),_jsx(_components.th,{children:`Google default`}),_jsx(_components.th,{children:`CometAPI`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Base URL`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`generativelanguage.googleapis.com`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`api.cometapi.com`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`API key`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`$GEMINI_API_KEY`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`$COMETAPI_KEY`})})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Use the `,_jsx(_components.a,{href:`https://ai.google.dev/gemini-api/docs/generate-content/text-generation`,children:`GenerateContent text generation guide`}),` for native API examples. Keep the `,_jsx(_components.code,{children:`generateContent`}),` request shape when changing the base URL.`]}),`\n`,_jsx(Heading,{level:`2`,id:`send-video-input`,children:`Send video input`}),`\n`,_jsx(_components.p,{children:`Send video as a content part. Choose the input shape based on where the video is stored:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Video source`}),_jsx(_components.th,{children:`Request part`}),_jsx(_components.th,{children:`Use when`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Local video file`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`inlineData`})}),_jsx(_components.td,{children:`The video is small enough to send as base64 in the JSON request.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Public video URL`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`fileData.fileUri`})}),_jsx(_components.td,{children:`The video is available through a public HTTPS URL that does not require authentication.`})]})]})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`For REST and curl requests, use camelCase field names such as `,_jsx(_components.code,{children:`inlineData.mimeType`}),` and `,_jsx(_components.code,{children:`fileData.fileUri`}),`.`]})}),`\n`,_jsxs(_components.p,{children:[`This example sends inline MP4 data. Replace `,_jsx(_components.code,{children:`\u003cbase64-encoded-mp4>`}),` with the base64 contents of your video:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`30`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`30`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.cometapi.com/v1beta/models/gemini-3.8-flash:generateContent\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` -H `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` -H `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"x-goog-api-key: $COMETAPI_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` --data-binary @- \u003c\u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'EOF'`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"contents\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"role\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"parts\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"inlineData\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"mimeType\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"video/mp4\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cbase64-encoded-mp4>\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Analyze this video and list the key scenes.\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"generationConfig\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"maxOutputTokens\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: 2048,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"thinkingConfig\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"thinkingLevel\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"LOW\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`EOF`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`This example analyzes a public MP4 of a flower opening:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`30`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`30`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.cometapi.com/v1beta/models/gemini-3.8-flash:generateContent\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` -H `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` -H `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"x-goog-api-key: $COMETAPI_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` --data-binary @- \u003c\u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'EOF'`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"contents\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"role\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"parts\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"fileData\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"mimeType\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"video/mp4\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"fileUri\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Analyze this video and list the key scenes.\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"generationConfig\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"maxOutputTokens\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: 2048,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"thinkingConfig\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"thinkingLevel\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"LOW\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`EOF`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`configure-thinking-reasoning`,children:`Configure thinking (reasoning)`}),`\n`,_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`thinkingConfig.thinkingLevel`}),` to guide reasoning depth. The examples below use `,_jsx(_components.code,{children:`LOW`}),` and `,_jsx(_components.code,{children:`MEDIUM`}),`.`]}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`Thinking level`,id:`thinking-level`,children:[_jsxs(_components.p,{children:[`This example sets the thinking level to `,_jsx(_components.code,{children:`LOW`}),`:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`22`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`22`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.cometapi.com/v1beta/models/gemini-3.8-flash:generateContent\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` -H `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` -H `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"x-goog-api-key: $COMETAPI_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` --data-binary @- \u003c\u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'EOF'`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"contents\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"parts\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"How does quantum computing work?\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"generationConfig\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"thinkingConfig\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"thinkingLevel\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"LOW\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`EOF`})}),`\n`]})})})]}),_jsxs(Tab,{title:`Thinking summaries`,id:`thinking-summaries`,children:[_jsxs(_components.p,{children:[`Set `,_jsx(_components.code,{children:`includeThoughts`}),` to request a thinking summary. When the response includes a summary, its text part has `,_jsx(_components.code,{children:`thought: true`}),`:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`24`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`24`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.cometapi.com/v1beta/models/gemini-3.8-flash:generateContent\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` -H `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` -H `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"x-goog-api-key: $COMETAPI_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` --data-binary @- \u003c\u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'EOF'`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"contents\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"parts\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"What is the 10th Fibonacci number when F(0)=0 and F(1)=1? Briefly verify the result.\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"generationConfig\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"maxOutputTokens\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: 4096,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"thinkingConfig\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"thinkingLevel\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"MEDIUM\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"includeThoughts\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: true`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`EOF`})}),`\n`]})})})]})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`thinkingBudget`}),` is a numeric control for compatible models, including Gemini 2.5. Use `,_jsx(_components.code,{children:`thinkingLevel`}),` in the Gemini 3 examples and do not send both controls. See Google’s `,_jsx(_components.a,{href:`https://ai.google.dev/gemini-api/docs/generate-content/thinking`,children:`thinking guide`}),` for model-specific values.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`stream-responses`,children:`Stream responses`}),`\n`,_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`streamGenerateContent?alt=sse`}),` to receive Server-Sent Events. Each `,_jsx(_components.code,{children:`data:`}),` line contains a JSON `,_jsx(_components.code,{children:`GenerateContentResponse`}),` object:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`18`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`18`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.cometapi.com/v1beta/models/gemini-3.8-flash:streamGenerateContent?alt=sse\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` -H `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` -H `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"x-goog-api-key: $COMETAPI_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` --no-buffer \\\\`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` --data-binary @- \u003c\u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'EOF'`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"contents\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"parts\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Write a short poem about the stars\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`EOF`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`set-system-instructions`,children:`Set system instructions`}),`\n`,_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`systemInstruction`}),` to guide the response. This example requests one equation without additional text:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`24`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`24`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.cometapi.com/v1beta/models/gemini-3.8-flash:generateContent\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` -H `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` -H `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"x-goog-api-key: $COMETAPI_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` --data-binary @- \u003c\u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'EOF'`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"contents\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"parts\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"What is 2+2?\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"systemInstruction\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"parts\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"You are a math tutor. Answer with exactly one equation and no other text.\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`EOF`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`request-json-output`,children:`Request JSON output`}),`\n`,_jsxs(_components.p,{children:[`Set `,_jsx(_components.code,{children:`responseMimeType`}),` to `,_jsx(_components.code,{children:`application/json`}),` and provide a `,_jsx(_components.code,{children:`responseSchema`}),`. This example requests an array of planets with names and numeric distances:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`40`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`40`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.cometapi.com/v1beta/models/gemini-3.8-flash:generateContent\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` -H `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` -H `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"x-goog-api-key: $COMETAPI_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` --data-binary @- \u003c\u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'EOF'`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"contents\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"parts\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Return a JSON array of 3 planets with name and average_distance_from_sun_au.\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"generationConfig\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"responseMimeType\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"application/json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"responseSchema\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ARRAY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"items\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"OBJECT\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"properties\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"STRING\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"description\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Name of the planet.\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"average_distance_from_sun_au\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"NUMBER\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"description\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Average distance from the Sun, in astronomical units.\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"required\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"average_distance_from_sun_au\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`EOF`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`ground-with-google-search`,children:`Ground with Google Search`}),`\n`,_jsxs(_components.p,{children:[`Add a `,_jsx(_components.code,{children:`googleSearch`}),` tool to request search grounding. This example asks for the result of the UEFA EURO 2024 final:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`25`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`25`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.cometapi.com/v1beta/models/gemini-3.8-flash:generateContent\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` -H `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` -H `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"x-goog-api-key: $COMETAPI_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` --data-binary @- \u003c\u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'EOF'`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"contents\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"parts\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Use Google Search to find the winner and final score of the UEFA EURO 2024 final. Cite your sources.\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"tools\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"googleSearch\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {}`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"generationConfig\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"maxOutputTokens\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: 2048`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`EOF`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`When search is used, inspect the candidate’s `,_jsx(_components.code,{children:`groundingMetadata`}),` for search queries, source URLs, and links between sources and response text.`]}),`\n`,_jsx(Heading,{level:`2`,id:`preserve-conversation-content`,children:`Preserve conversation content`}),`\n`,_jsxs(_components.p,{children:[`For multi-turn conversations, send the preceding `,_jsx(_components.code,{children:`user`}),` and `,_jsx(_components.code,{children:`model`}),` content in `,_jsx(_components.code,{children:`contents`}),`. The SDK chat examples maintain this history for you.`]}),`\n`,_jsxs(_components.p,{children:[`For function calling, return one `,_jsx(_components.code,{children:`functionResponse`}),` for each `,_jsx(_components.code,{children:`functionCall`}),`, with the matching `,_jsx(_components.code,{children:`name`}),` and any returned `,_jsx(_components.code,{children:`id`}),`. Pass the preceding model content back unchanged, including `,_jsx(_components.code,{children:`thoughtSignature`}),` fields. The signature is opaque; do not reconstruct it from displayed text.`]}),`\n`,_jsx(Heading,{level:`2`,id:`response-example`,children:`Response example`}),`\n`,_jsx(_components.p,{children:`A text response includes generated content and token usage. This abbreviated example omits optional fields:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`22`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`22`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"candidates\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"content\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"role\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"model\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"parts\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"AI learns patterns from massive amounts of data to make predictions, solve problems, and generate new content. `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\n\\\\n`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`In short: **Data in → Patterns found → Smart predictions out.**\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"finishReason\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"STOP\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"usageMetadata\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"promptTokenCount\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`9`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"candidatesTokenCount\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`36`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"thoughtsTokenCount\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`388`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"totalTokenCount\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`433`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"modelVersion\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"gemini-3.8-flash\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`thoughtsTokenCount`}),` reports internal thinking tokens, even when the response does not include a thinking summary. Inspect each content part; a response can contain text, summaries, or function calls.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`compare-request-formats`,children:`Compare request formats`}),`\n`,_jsxs(_components.p,{children:[`Choose the native endpoint for Gemini request and response fields. See `,_jsx(_components.a,{href:`/api/text/chat`,children:`Chat Completions`}),` for the OpenAI-compatible format.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Gemini native`}),_jsx(_components.th,{children:`OpenAI-compatible chat`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Conversation input`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`contents`}),` with `,_jsx(_components.code,{children:`parts`})]}),_jsx(_components.td,{children:_jsx(_components.code,{children:`messages`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Model ID`}),_jsx(_components.td,{children:`In the request path`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`model`}),` in the request body`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Generated content`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`candidates`}),` with `,_jsx(_components.code,{children:`content.parts`})]}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`choices`}),` with `,_jsx(_components.code,{children:`message`})]})]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Generate content","sidebarTitle":"Generate content","openapi":"api/openapi/text/post-gemini-generating-content.openapi.json POST /v1beta/models/{model}:{operator}","description":"Use the Gemini native API format through CometAPI for text generation, video input, thinking summaries, Google Search grounding, JSON output, and streaming.","keywords":["CometAPI","Gemini generateContent","POST /v1beta/models/{model}:{operator}","text generation api","streamGenerateContent sse","thinkingConfig thinkingLevel","Gemini 3.8 Flash","google genai sdk"],"href":"/api/text/gemini-generating-content"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Quick start","slug":"quick-start","depth":2,"children":[]},{"title":"Send video input","slug":"send-video-input","depth":2,"children":[]},{"title":"Configure thinking (reasoning)","slug":"configure-thinking-reasoning","depth":2,"children":[]},{"title":"Stream responses","slug":"stream-responses","depth":2,"children":[]},{"title":"Set system instructions","slug":"set-system-instructions","depth":2,"children":[]},{"title":"Request JSON output","slug":"request-json-output","depth":2,"children":[]},{"title":"Ground with Google Search","slug":"ground-with-google-search","depth":2,"children":[]},{"title":"Preserve conversation content","slug":"preserve-conversation-content","depth":2,"children":[]},{"title":"Response example","slug":"response-example","depth":2,"children":[]},{"title":"Compare request formats","slug":"compare-request-formats","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/cometapi/430a303ac1007180/analytics.js"],"openApiReferenceData":{"operation":{"summary":"Gemini Generating Content","operationId":"gemini_generating_content","description":"Use the Gemini native API format through CometAPI for text generation, video input, thinking summaries, Google Search grounding, JSON output, and streaming.","parameters":["785b8c50-d514-44b2-b972-2269d0a2fbb2","320b28f6-7429-458c-8803-9362135a4949","36aaf533-2f60-42ed-bc86-f90b776df389"],"requestBody":"c8bb728f-99eb-476d-a6b9-ea7220631d45","responses":{"200":"ecb25bd3-5c2d-4c18-a43c-e668d66fa84f"},"x-codeSamples":[{"lang":"Python","label":"Basic","source":"import os\nfrom google import genai\n\nclient = genai.Client(\n api_key=os.environ[\"COMETAPI_KEY\"],\n http_options={\n \"api_version\": \"v1beta\",\n \"base_url\": \"https://api.cometapi.com\",\n },\n)\n\nresponse = client.models.generate_content(\n model=\"gemini-3.8-flash\",\n contents='Explain how AI works in a few words',\n)\n\nprint(response.text)\n"},{"lang":"Python","label":"System Instruction","source":"import os\nfrom google import genai\nfrom google.genai import types\n\nclient = genai.Client(\n api_key=os.environ[\"COMETAPI_KEY\"],\n http_options={\n \"api_version\": \"v1beta\",\n \"base_url\": \"https://api.cometapi.com\",\n },\n)\n\nresponse = client.models.generate_content(\n model=\"gemini-3.8-flash\",\n contents='What is 2+2?',\n config=types.GenerateContentConfig(\n system_instruction=(\n \"You are a math tutor. Answer with exactly one equation \"\n \"and no other text.\"\n ),\n ),\n)\n\nprint(response.text)\n"},{"lang":"Python","label":"Thinking Summary","source":"import os\nfrom google import genai\nfrom google.genai import types\n\nclient = genai.Client(\n api_key=os.environ[\"COMETAPI_KEY\"],\n http_options={\n \"api_version\": \"v1beta\",\n \"base_url\": \"https://api.cometapi.com\",\n },\n)\n\nresponse = client.models.generate_content(\n model=\"gemini-3.8-flash\",\n contents='What is the 10th Fibonacci number when F(0)=0 and F(1)=1? Briefly verify the result.',\n config=types.GenerateContentConfig(\n max_output_tokens=4096,\n thinking_config=types.ThinkingConfig(\n thinking_level=\"MEDIUM\",\n include_thoughts=True,\n ),\n ),\n)\n\nfor part in response.candidates[0].content.parts:\n if part.text:\n label = \"Thinking summary\" if part.thought else \"Answer\"\n print(f\"{label}: {part.text}\")\n"},{"lang":"Python","label":"Google Search","source":"import os\nfrom google import genai\nfrom google.genai import types\n\nclient = genai.Client(\n api_key=os.environ[\"COMETAPI_KEY\"],\n http_options={\n \"api_version\": \"v1beta\",\n \"base_url\": \"https://api.cometapi.com\",\n },\n)\n\nresponse = client.models.generate_content(\n model=\"gemini-3.8-flash\",\n contents='Use Google Search to find the winner and final score of the UEFA EURO 2024 final. Cite your sources.',\n config=types.GenerateContentConfig(\n tools=[types.Tool(google_search=types.GoogleSearch())],\n max_output_tokens=2048,\n ),\n)\n\nprint(response.text)\n"},{"lang":"Python","label":"JSON Mode","source":"import os\nfrom google import genai\nfrom google.genai import types\n\nclient = genai.Client(\n api_key=os.environ[\"COMETAPI_KEY\"],\n http_options={\n \"api_version\": \"v1beta\",\n \"base_url\": \"https://api.cometapi.com\",\n },\n)\n\nresponse = client.models.generate_content(\n model=\"gemini-3.8-flash\",\n contents='Return a JSON array of 3 planets with name and average_distance_from_sun_au.',\n config=types.GenerateContentConfig(\n response_mime_type=\"application/json\",\n response_schema={\n \"type\": \"ARRAY\",\n \"items\": {\n \"type\": \"OBJECT\",\n \"properties\": {\n \"name\": {\n \"type\": \"STRING\",\n \"description\": \"Name of the planet.\"\n },\n \"average_distance_from_sun_au\": {\n \"type\": \"NUMBER\",\n \"description\": \"Average distance from the Sun, in astronomical units.\"\n }\n },\n \"required\": [\n \"name\",\n \"average_distance_from_sun_au\"\n ]\n }\n },\n ),\n)\n\nprint(response.text)\n"},{"lang":"Python","label":"Streaming","source":"import os\nfrom google import genai\n\nclient = genai.Client(\n api_key=os.environ[\"COMETAPI_KEY\"],\n http_options={\n \"api_version\": \"v1beta\",\n \"base_url\": \"https://api.cometapi.com\",\n },\n)\n\nresponse = client.models.generate_content_stream(\n model=\"gemini-3.8-flash\",\n contents='Write a short poem about the stars',\n)\n\nfor chunk in response:\n if chunk.text:\n print(chunk.text, end=\"\")\n"},{"lang":"Python","label":"Multi-turn Chat","source":"import os\nfrom google import genai\n\nclient = genai.Client(\n api_key=os.environ[\"COMETAPI_KEY\"],\n http_options={\n \"api_version\": \"v1beta\",\n \"base_url\": \"https://api.cometapi.com\",\n },\n)\n\nchat = client.chats.create(model=\"gemini-3.8-flash\")\n\nresponse = chat.send_message(\"I have 2 dogs.\")\nprint(response.text)\n\nresponse = chat.send_message(\"How many dog paws are in my house?\")\nprint(response.text)\n"},{"lang":"Python","label":"Thinking Level","source":"import os\nfrom google import genai\nfrom google.genai import types\n\nclient = genai.Client(\n api_key=os.environ[\"COMETAPI_KEY\"],\n http_options={\n \"api_version\": \"v1beta\",\n \"base_url\": \"https://api.cometapi.com\",\n },\n)\n\nresponse = client.models.generate_content(\n model=\"gemini-3.8-flash\",\n contents='How does quantum computing work?',\n config=types.GenerateContentConfig(\n thinking_config=types.ThinkingConfig(\n thinking_level=\"LOW\",\n ),\n ),\n)\n\nprint(response.text)\n"},{"lang":"Python","label":"Inline Video","source":"import os\nfrom google import genai\nfrom google.genai import types\n\nclient = genai.Client(\n api_key=os.environ[\"COMETAPI_KEY\"],\n http_options={\n \"api_version\": \"v1beta\",\n \"base_url\": \"https://api.cometapi.com\",\n },\n)\n\nwith open(\"your_video.mp4\", \"rb\") as f:\n video_bytes = f.read()\n\nresponse = client.models.generate_content(\n model=\"gemini-3.8-flash\",\n contents=[\n types.Part.from_bytes(data=video_bytes, mime_type=\"video/mp4\"),\n \"Analyze this video and list the key scenes.\",\n ],\n config=types.GenerateContentConfig(\n max_output_tokens=2048,\n thinking_config=types.ThinkingConfig(\n thinking_level=\"LOW\",\n ),\n ),\n)\n\nprint(response.text)\n"},{"lang":"Python","label":"Public Video URL","source":"import os\nfrom google import genai\nfrom google.genai import types\n\nclient = genai.Client(\n api_key=os.environ[\"COMETAPI_KEY\"],\n http_options={\n \"api_version\": \"v1beta\",\n \"base_url\": \"https://api.cometapi.com\",\n },\n)\n\nresponse = client.models.generate_content(\n model=\"gemini-3.8-flash\",\n contents=[\n types.Part.from_uri(\n file_uri=(\n \"https://interactive-examples.mdn.mozilla.net/\"\n \"media/cc0-videos/flower.mp4\"\n ),\n mime_type=\"video/mp4\",\n ),\n \"Analyze this video and list the key scenes.\",\n ],\n config=types.GenerateContentConfig(\n max_output_tokens=2048,\n thinking_config=types.ThinkingConfig(\n thinking_level=\"LOW\",\n ),\n ),\n)\n\nprint(response.text)\n"},{"lang":"JavaScript","label":"Basic","source":"import { GoogleGenAI } from \"@google/genai\";\n\nconst ai = new GoogleGenAI({\n apiKey: process.env.COMETAPI_KEY,\n httpOptions: {\n apiVersion: \"v1beta\",\n baseUrl: \"https://api.cometapi.com\",\n },\n});\n\nconst response = await ai.models.generateContent({\n \"model\": \"gemini-3.8-flash\",\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"Explain how AI works in a few words\"\n }\n ]\n }\n ]\n});\n\nconsole.log(response.text);\n"},{"lang":"JavaScript","label":"System Instruction","source":"import { GoogleGenAI } from \"@google/genai\";\n\nconst ai = new GoogleGenAI({\n apiKey: process.env.COMETAPI_KEY,\n httpOptions: {\n apiVersion: \"v1beta\",\n baseUrl: \"https://api.cometapi.com\",\n },\n});\n\nconst response = await ai.models.generateContent({\n \"model\": \"gemini-3.8-flash\",\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"What is 2+2?\"\n }\n ]\n }\n ],\n \"config\": {\n \"systemInstruction\": {\n \"parts\": [\n {\n \"text\": \"You are a math tutor. Answer with exactly one equation and no other text.\"\n }\n ]\n }\n }\n});\n\nconsole.log(response.text);\n"},{"lang":"JavaScript","label":"Thinking Summary","source":"import { GoogleGenAI } from \"@google/genai\";\n\nconst ai = new GoogleGenAI({\n apiKey: process.env.COMETAPI_KEY,\n httpOptions: {\n apiVersion: \"v1beta\",\n baseUrl: \"https://api.cometapi.com\",\n },\n});\n\nconst response = await ai.models.generateContent({\n \"model\": \"gemini-3.8-flash\",\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"What is the 10th Fibonacci number when F(0)=0 and F(1)=1? Briefly verify the result.\"\n }\n ]\n }\n ],\n \"config\": {\n \"maxOutputTokens\": 4096,\n \"thinkingConfig\": {\n \"thinkingLevel\": \"MEDIUM\",\n \"includeThoughts\": true\n }\n }\n});\n\nfor (const part of response.candidates[0].content.parts) {\n if (part.text) {\n const label = part.thought ? \"Thinking summary\" : \"Answer\";\n console.log(`${label}: ${part.text}`);\n }\n}\n"},{"lang":"JavaScript","label":"Google Search","source":"import { GoogleGenAI } from \"@google/genai\";\n\nconst ai = new GoogleGenAI({\n apiKey: process.env.COMETAPI_KEY,\n httpOptions: {\n apiVersion: \"v1beta\",\n baseUrl: \"https://api.cometapi.com\",\n },\n});\n\nconst response = await ai.models.generateContent({\n \"model\": \"gemini-3.8-flash\",\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"Use Google Search to find the winner and final score of the UEFA EURO 2024 final. Cite your sources.\"\n }\n ]\n }\n ],\n \"config\": {\n \"maxOutputTokens\": 2048,\n \"tools\": [\n {\n \"googleSearch\": {}\n }\n ]\n }\n});\n\nconsole.log(response.text);\n"},{"lang":"JavaScript","label":"JSON Mode","source":"import { GoogleGenAI } from \"@google/genai\";\n\nconst ai = new GoogleGenAI({\n apiKey: process.env.COMETAPI_KEY,\n httpOptions: {\n apiVersion: \"v1beta\",\n baseUrl: \"https://api.cometapi.com\",\n },\n});\n\nconst response = await ai.models.generateContent({\n \"model\": \"gemini-3.8-flash\",\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"Return a JSON array of 3 planets with name and average_distance_from_sun_au.\"\n }\n ]\n }\n ],\n \"config\": {\n \"responseMimeType\": \"application/json\",\n \"responseSchema\": {\n \"type\": \"ARRAY\",\n \"items\": {\n \"type\": \"OBJECT\",\n \"properties\": {\n \"name\": {\n \"type\": \"STRING\",\n \"description\": \"Name of the planet.\"\n },\n \"average_distance_from_sun_au\": {\n \"type\": \"NUMBER\",\n \"description\": \"Average distance from the Sun, in astronomical units.\"\n }\n },\n \"required\": [\n \"name\",\n \"average_distance_from_sun_au\"\n ]\n }\n }\n }\n});\n\nconsole.log(response.text);\n"},{"lang":"JavaScript","label":"Streaming","source":"import { GoogleGenAI } from \"@google/genai\";\n\nconst ai = new GoogleGenAI({\n apiKey: process.env.COMETAPI_KEY,\n httpOptions: {\n apiVersion: \"v1beta\",\n baseUrl: \"https://api.cometapi.com\",\n },\n});\n\nconst response = await ai.models.generateContentStream({\n \"model\": \"gemini-3.8-flash\",\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"Write a short poem about the stars\"\n }\n ]\n }\n ]\n});\n\nfor await (const chunk of response) {\n if (chunk.text) process.stdout.write(chunk.text);\n}\n"},{"lang":"JavaScript","label":"Multi-turn Chat","source":"import { GoogleGenAI } from \"@google/genai\";\n\nconst ai = new GoogleGenAI({\n apiKey: process.env.COMETAPI_KEY,\n httpOptions: {\n apiVersion: \"v1beta\",\n baseUrl: \"https://api.cometapi.com\",\n },\n});\n\nconst chat = ai.chats.create({ model: \"gemini-3.8-flash\" });\n\nlet response = await chat.sendMessage({ message: \"I have 2 dogs.\" });\nconsole.log(response.text);\n\nresponse = await chat.sendMessage({\n message: \"How many dog paws are in my house?\",\n});\nconsole.log(response.text);\n"},{"lang":"JavaScript","label":"Thinking Level","source":"import { GoogleGenAI } from \"@google/genai\";\n\nconst ai = new GoogleGenAI({\n apiKey: process.env.COMETAPI_KEY,\n httpOptions: {\n apiVersion: \"v1beta\",\n baseUrl: \"https://api.cometapi.com\",\n },\n});\n\nconst response = await ai.models.generateContent({\n \"model\": \"gemini-3.8-flash\",\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"How does quantum computing work?\"\n }\n ]\n }\n ],\n \"config\": {\n \"thinkingConfig\": {\n \"thinkingLevel\": \"LOW\"\n }\n }\n});\n\nconsole.log(response.text);\n"},{"lang":"JavaScript","label":"Inline Video","source":"import fs from \"node:fs\";\nimport { GoogleGenAI } from \"@google/genai\";\n\nconst ai = new GoogleGenAI({\n apiKey: process.env.COMETAPI_KEY,\n httpOptions: {\n apiVersion: \"v1beta\",\n baseUrl: \"https://api.cometapi.com\",\n },\n});\n\nconst videoBase64 = fs.readFileSync(\"your_video.mp4\", {\n encoding: \"base64\",\n});\n\nconst response = await ai.models.generateContent({\n \"model\": \"gemini-3.8-flash\",\n \"contents\": [\n {\n \"role\": \"user\",\n \"parts\": [\n {\n \"inlineData\": {\n \"mimeType\": \"video/mp4\",\n \"data\": videoBase64\n }\n },\n {\n \"text\": \"Analyze this video and list the key scenes.\"\n }\n ]\n }\n ],\n \"config\": {\n \"maxOutputTokens\": 2048,\n \"thinkingConfig\": {\n \"thinkingLevel\": \"LOW\"\n }\n }\n});\n\nconsole.log(response.text);\n"},{"lang":"JavaScript","label":"Public Video URL","source":"import { GoogleGenAI } from \"@google/genai\";\n\nconst ai = new GoogleGenAI({\n apiKey: process.env.COMETAPI_KEY,\n httpOptions: {\n apiVersion: \"v1beta\",\n baseUrl: \"https://api.cometapi.com\",\n },\n});\n\nconst response = await ai.models.generateContent({\n \"model\": \"gemini-3.8-flash\",\n \"contents\": [\n {\n \"role\": \"user\",\n \"parts\": [\n {\n \"fileData\": {\n \"mimeType\": \"video/mp4\",\n \"fileUri\": \"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4\"\n }\n },\n {\n \"text\": \"Analyze this video and list the key scenes.\"\n }\n ]\n }\n ],\n \"config\": {\n \"maxOutputTokens\": 2048,\n \"thinkingConfig\": {\n \"thinkingLevel\": \"LOW\"\n }\n }\n});\n\nconsole.log(response.text);\n"},{"lang":"Shell","label":"Basic","source":"curl \\\n \"https://api.cometapi.com/v1beta/models/gemini-3.8-flash:generateContent\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-goog-api-key: $COMETAPI_KEY\" \\\n --data-binary @- \u003c\u003c'EOF'\n{\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"Explain how AI works in a few words\"\n }\n ]\n }\n ]\n}\nEOF\n"},{"lang":"Shell","label":"System Instruction","source":"curl \\\n \"https://api.cometapi.com/v1beta/models/gemini-3.8-flash:generateContent\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-goog-api-key: $COMETAPI_KEY\" \\\n --data-binary @- \u003c\u003c'EOF'\n{\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"What is 2+2?\"\n }\n ]\n }\n ],\n \"systemInstruction\": {\n \"parts\": [\n {\n \"text\": \"You are a math tutor. Answer with exactly one equation and no other text.\"\n }\n ]\n }\n}\nEOF\n"},{"lang":"Shell","label":"Thinking Summary","source":"curl \\\n \"https://api.cometapi.com/v1beta/models/gemini-3.8-flash:generateContent\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-goog-api-key: $COMETAPI_KEY\" \\\n --data-binary @- \u003c\u003c'EOF'\n{\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"What is the 10th Fibonacci number when F(0)=0 and F(1)=1? Briefly verify the result.\"\n }\n ]\n }\n ],\n \"generationConfig\": {\n \"maxOutputTokens\": 4096,\n \"thinkingConfig\": {\n \"thinkingLevel\": \"MEDIUM\",\n \"includeThoughts\": true\n }\n }\n}\nEOF\n"},{"lang":"Shell","label":"Google Search","source":"curl \\\n \"https://api.cometapi.com/v1beta/models/gemini-3.8-flash:generateContent\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-goog-api-key: $COMETAPI_KEY\" \\\n --data-binary @- \u003c\u003c'EOF'\n{\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"Use Google Search to find the winner and final score of the UEFA EURO 2024 final. Cite your sources.\"\n }\n ]\n }\n ],\n \"tools\": [\n {\n \"googleSearch\": {}\n }\n ],\n \"generationConfig\": {\n \"maxOutputTokens\": 2048\n }\n}\nEOF\n"},{"lang":"Shell","label":"JSON Mode","source":"curl \\\n \"https://api.cometapi.com/v1beta/models/gemini-3.8-flash:generateContent\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-goog-api-key: $COMETAPI_KEY\" \\\n --data-binary @- \u003c\u003c'EOF'\n{\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"Return a JSON array of 3 planets with name and average_distance_from_sun_au.\"\n }\n ]\n }\n ],\n \"generationConfig\": {\n \"responseMimeType\": \"application/json\",\n \"responseSchema\": {\n \"type\": \"ARRAY\",\n \"items\": {\n \"type\": \"OBJECT\",\n \"properties\": {\n \"name\": {\n \"type\": \"STRING\",\n \"description\": \"Name of the planet.\"\n },\n \"average_distance_from_sun_au\": {\n \"type\": \"NUMBER\",\n \"description\": \"Average distance from the Sun, in astronomical units.\"\n }\n },\n \"required\": [\n \"name\",\n \"average_distance_from_sun_au\"\n ]\n }\n }\n }\n}\nEOF\n"},{"lang":"Shell","label":"Streaming","source":"curl \\\n \"https://api.cometapi.com/v1beta/models/gemini-3.8-flash:streamGenerateContent?alt=sse\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-goog-api-key: $COMETAPI_KEY\" \\\n --no-buffer \\\n --data-binary @- \u003c\u003c'EOF'\n{\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"Write a short poem about the stars\"\n }\n ]\n }\n ]\n}\nEOF\n"},{"lang":"Shell","label":"Multi-turn Chat","source":"curl \\\n \"https://api.cometapi.com/v1beta/models/gemini-3.8-flash:generateContent\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-goog-api-key: $COMETAPI_KEY\" \\\n --data-binary @- \u003c\u003c'EOF'\n{\n \"contents\": [\n {\n \"role\": \"user\",\n \"parts\": [\n {\n \"text\": \"I have 2 dogs.\"\n }\n ]\n },\n {\n \"role\": \"model\",\n \"parts\": [\n {\n \"text\": \"I will remember that you have 2 dogs.\"\n }\n ]\n },\n {\n \"role\": \"user\",\n \"parts\": [\n {\n \"text\": \"How many dog paws are in my house?\"\n }\n ]\n }\n ]\n}\nEOF\n"},{"lang":"Shell","label":"Thinking Level","source":"curl \\\n \"https://api.cometapi.com/v1beta/models/gemini-3.8-flash:generateContent\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-goog-api-key: $COMETAPI_KEY\" \\\n --data-binary @- \u003c\u003c'EOF'\n{\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"How does quantum computing work?\"\n }\n ]\n }\n ],\n \"generationConfig\": {\n \"thinkingConfig\": {\n \"thinkingLevel\": \"LOW\"\n }\n }\n}\nEOF\n"},{"lang":"Shell","label":"Inline Video","source":"curl \\\n \"https://api.cometapi.com/v1beta/models/gemini-3.8-flash:generateContent\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-goog-api-key: $COMETAPI_KEY\" \\\n --data-binary @- \u003c\u003c'EOF'\n{\n \"contents\": [\n {\n \"role\": \"user\",\n \"parts\": [\n {\n \"inlineData\": {\n \"mimeType\": \"video/mp4\",\n \"data\": \"\u003cbase64-encoded-mp4>\"\n }\n },\n {\n \"text\": \"Analyze this video and list the key scenes.\"\n }\n ]\n }\n ],\n \"generationConfig\": {\n \"maxOutputTokens\": 2048,\n \"thinkingConfig\": {\n \"thinkingLevel\": \"LOW\"\n }\n }\n}\nEOF\n"},{"lang":"Shell","label":"Public Video URL","source":"curl \\\n \"https://api.cometapi.com/v1beta/models/gemini-3.8-flash:generateContent\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-goog-api-key: $COMETAPI_KEY\" \\\n --data-binary @- \u003c\u003c'EOF'\n{\n \"contents\": [\n {\n \"role\": \"user\",\n \"parts\": [\n {\n \"fileData\": {\n \"mimeType\": \"video/mp4\",\n \"fileUri\": \"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4\"\n }\n },\n {\n \"text\": \"Analyze this video and list the key scenes.\"\n }\n ]\n }\n ],\n \"generationConfig\": {\n \"maxOutputTokens\": 2048,\n \"thinkingConfig\": {\n \"thinkingLevel\": \"LOW\"\n }\n }\n}\nEOF\n"}],"method":"post","type":"path","servers":["0b47b923-c603-46b3-8b08-20b6ceeb91cf"],"security":["9667143c-5a23-449b-9d2f-0020f8e707fa"],"path":"/v1beta/models/{model}:{operator}","baseUrlOptions":["https://api.cometapi.com"],"title":"Gemini Generating Content","codeSamples":[{"label":"Basic","lang":"Python","source":"import os\nfrom google import genai\n\nclient = genai.Client(\n api_key=os.environ[\"COMETAPI_KEY\"],\n http_options={\n \"api_version\": \"v1beta\",\n \"base_url\": \"https://api.cometapi.com\",\n },\n)\n\nresponse = client.models.generate_content(\n model=\"gemini-3.8-flash\",\n contents='Explain how AI works in a few words',\n)\n\nprint(response.text)\n"},{"label":"System Instruction","lang":"Python","source":"import os\nfrom google import genai\nfrom google.genai import types\n\nclient = genai.Client(\n api_key=os.environ[\"COMETAPI_KEY\"],\n http_options={\n \"api_version\": \"v1beta\",\n \"base_url\": \"https://api.cometapi.com\",\n },\n)\n\nresponse = client.models.generate_content(\n model=\"gemini-3.8-flash\",\n contents='What is 2+2?',\n config=types.GenerateContentConfig(\n system_instruction=(\n \"You are a math tutor. Answer with exactly one equation \"\n \"and no other text.\"\n ),\n ),\n)\n\nprint(response.text)\n"},{"label":"Thinking Summary","lang":"Python","source":"import os\nfrom google import genai\nfrom google.genai import types\n\nclient = genai.Client(\n api_key=os.environ[\"COMETAPI_KEY\"],\n http_options={\n \"api_version\": \"v1beta\",\n \"base_url\": \"https://api.cometapi.com\",\n },\n)\n\nresponse = client.models.generate_content(\n model=\"gemini-3.8-flash\",\n contents='What is the 10th Fibonacci number when F(0)=0 and F(1)=1? Briefly verify the result.',\n config=types.GenerateContentConfig(\n max_output_tokens=4096,\n thinking_config=types.ThinkingConfig(\n thinking_level=\"MEDIUM\",\n include_thoughts=True,\n ),\n ),\n)\n\nfor part in response.candidates[0].content.parts:\n if part.text:\n label = \"Thinking summary\" if part.thought else \"Answer\"\n print(f\"{label}: {part.text}\")\n"},{"label":"Google Search","lang":"Python","source":"import os\nfrom google import genai\nfrom google.genai import types\n\nclient = genai.Client(\n api_key=os.environ[\"COMETAPI_KEY\"],\n http_options={\n \"api_version\": \"v1beta\",\n \"base_url\": \"https://api.cometapi.com\",\n },\n)\n\nresponse = client.models.generate_content(\n model=\"gemini-3.8-flash\",\n contents='Use Google Search to find the winner and final score of the UEFA EURO 2024 final. Cite your sources.',\n config=types.GenerateContentConfig(\n tools=[types.Tool(google_search=types.GoogleSearch())],\n max_output_tokens=2048,\n ),\n)\n\nprint(response.text)\n"},{"label":"JSON Mode","lang":"Python","source":"import os\nfrom google import genai\nfrom google.genai import types\n\nclient = genai.Client(\n api_key=os.environ[\"COMETAPI_KEY\"],\n http_options={\n \"api_version\": \"v1beta\",\n \"base_url\": \"https://api.cometapi.com\",\n },\n)\n\nresponse = client.models.generate_content(\n model=\"gemini-3.8-flash\",\n contents='Return a JSON array of 3 planets with name and average_distance_from_sun_au.',\n config=types.GenerateContentConfig(\n response_mime_type=\"application/json\",\n response_schema={\n \"type\": \"ARRAY\",\n \"items\": {\n \"type\": \"OBJECT\",\n \"properties\": {\n \"name\": {\n \"type\": \"STRING\",\n \"description\": \"Name of the planet.\"\n },\n \"average_distance_from_sun_au\": {\n \"type\": \"NUMBER\",\n \"description\": \"Average distance from the Sun, in astronomical units.\"\n }\n },\n \"required\": [\n \"name\",\n \"average_distance_from_sun_au\"\n ]\n }\n },\n ),\n)\n\nprint(response.text)\n"},{"label":"Streaming","lang":"Python","source":"import os\nfrom google import genai\n\nclient = genai.Client(\n api_key=os.environ[\"COMETAPI_KEY\"],\n http_options={\n \"api_version\": \"v1beta\",\n \"base_url\": \"https://api.cometapi.com\",\n },\n)\n\nresponse = client.models.generate_content_stream(\n model=\"gemini-3.8-flash\",\n contents='Write a short poem about the stars',\n)\n\nfor chunk in response:\n if chunk.text:\n print(chunk.text, end=\"\")\n"},{"label":"Multi-turn Chat","lang":"Python","source":"import os\nfrom google import genai\n\nclient = genai.Client(\n api_key=os.environ[\"COMETAPI_KEY\"],\n http_options={\n \"api_version\": \"v1beta\",\n \"base_url\": \"https://api.cometapi.com\",\n },\n)\n\nchat = client.chats.create(model=\"gemini-3.8-flash\")\n\nresponse = chat.send_message(\"I have 2 dogs.\")\nprint(response.text)\n\nresponse = chat.send_message(\"How many dog paws are in my house?\")\nprint(response.text)\n"},{"label":"Thinking Level","lang":"Python","source":"import os\nfrom google import genai\nfrom google.genai import types\n\nclient = genai.Client(\n api_key=os.environ[\"COMETAPI_KEY\"],\n http_options={\n \"api_version\": \"v1beta\",\n \"base_url\": \"https://api.cometapi.com\",\n },\n)\n\nresponse = client.models.generate_content(\n model=\"gemini-3.8-flash\",\n contents='How does quantum computing work?',\n config=types.GenerateContentConfig(\n thinking_config=types.ThinkingConfig(\n thinking_level=\"LOW\",\n ),\n ),\n)\n\nprint(response.text)\n"},{"label":"Inline Video","lang":"Python","source":"import os\nfrom google import genai\nfrom google.genai import types\n\nclient = genai.Client(\n api_key=os.environ[\"COMETAPI_KEY\"],\n http_options={\n \"api_version\": \"v1beta\",\n \"base_url\": \"https://api.cometapi.com\",\n },\n)\n\nwith open(\"your_video.mp4\", \"rb\") as f:\n video_bytes = f.read()\n\nresponse = client.models.generate_content(\n model=\"gemini-3.8-flash\",\n contents=[\n types.Part.from_bytes(data=video_bytes, mime_type=\"video/mp4\"),\n \"Analyze this video and list the key scenes.\",\n ],\n config=types.GenerateContentConfig(\n max_output_tokens=2048,\n thinking_config=types.ThinkingConfig(\n thinking_level=\"LOW\",\n ),\n ),\n)\n\nprint(response.text)\n"},{"label":"Public Video URL","lang":"Python","source":"import os\nfrom google import genai\nfrom google.genai import types\n\nclient = genai.Client(\n api_key=os.environ[\"COMETAPI_KEY\"],\n http_options={\n \"api_version\": \"v1beta\",\n \"base_url\": \"https://api.cometapi.com\",\n },\n)\n\nresponse = client.models.generate_content(\n model=\"gemini-3.8-flash\",\n contents=[\n types.Part.from_uri(\n file_uri=(\n \"https://interactive-examples.mdn.mozilla.net/\"\n \"media/cc0-videos/flower.mp4\"\n ),\n mime_type=\"video/mp4\",\n ),\n \"Analyze this video and list the key scenes.\",\n ],\n config=types.GenerateContentConfig(\n max_output_tokens=2048,\n thinking_config=types.ThinkingConfig(\n thinking_level=\"LOW\",\n ),\n ),\n)\n\nprint(response.text)\n"},{"label":"Basic","lang":"JavaScript","source":"import { GoogleGenAI } from \"@google/genai\";\n\nconst ai = new GoogleGenAI({\n apiKey: process.env.COMETAPI_KEY,\n httpOptions: {\n apiVersion: \"v1beta\",\n baseUrl: \"https://api.cometapi.com\",\n },\n});\n\nconst response = await ai.models.generateContent({\n \"model\": \"gemini-3.8-flash\",\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"Explain how AI works in a few words\"\n }\n ]\n }\n ]\n});\n\nconsole.log(response.text);\n"},{"label":"System Instruction","lang":"JavaScript","source":"import { GoogleGenAI } from \"@google/genai\";\n\nconst ai = new GoogleGenAI({\n apiKey: process.env.COMETAPI_KEY,\n httpOptions: {\n apiVersion: \"v1beta\",\n baseUrl: \"https://api.cometapi.com\",\n },\n});\n\nconst response = await ai.models.generateContent({\n \"model\": \"gemini-3.8-flash\",\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"What is 2+2?\"\n }\n ]\n }\n ],\n \"config\": {\n \"systemInstruction\": {\n \"parts\": [\n {\n \"text\": \"You are a math tutor. Answer with exactly one equation and no other text.\"\n }\n ]\n }\n }\n});\n\nconsole.log(response.text);\n"},{"label":"Thinking Summary","lang":"JavaScript","source":"import { GoogleGenAI } from \"@google/genai\";\n\nconst ai = new GoogleGenAI({\n apiKey: process.env.COMETAPI_KEY,\n httpOptions: {\n apiVersion: \"v1beta\",\n baseUrl: \"https://api.cometapi.com\",\n },\n});\n\nconst response = await ai.models.generateContent({\n \"model\": \"gemini-3.8-flash\",\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"What is the 10th Fibonacci number when F(0)=0 and F(1)=1? Briefly verify the result.\"\n }\n ]\n }\n ],\n \"config\": {\n \"maxOutputTokens\": 4096,\n \"thinkingConfig\": {\n \"thinkingLevel\": \"MEDIUM\",\n \"includeThoughts\": true\n }\n }\n});\n\nfor (const part of response.candidates[0].content.parts) {\n if (part.text) {\n const label = part.thought ? \"Thinking summary\" : \"Answer\";\n console.log(`${label}: ${part.text}`);\n }\n}\n"},{"label":"Google Search","lang":"JavaScript","source":"import { GoogleGenAI } from \"@google/genai\";\n\nconst ai = new GoogleGenAI({\n apiKey: process.env.COMETAPI_KEY,\n httpOptions: {\n apiVersion: \"v1beta\",\n baseUrl: \"https://api.cometapi.com\",\n },\n});\n\nconst response = await ai.models.generateContent({\n \"model\": \"gemini-3.8-flash\",\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"Use Google Search to find the winner and final score of the UEFA EURO 2024 final. Cite your sources.\"\n }\n ]\n }\n ],\n \"config\": {\n \"maxOutputTokens\": 2048,\n \"tools\": [\n {\n \"googleSearch\": {}\n }\n ]\n }\n});\n\nconsole.log(response.text);\n"},{"label":"JSON Mode","lang":"JavaScript","source":"import { GoogleGenAI } from \"@google/genai\";\n\nconst ai = new GoogleGenAI({\n apiKey: process.env.COMETAPI_KEY,\n httpOptions: {\n apiVersion: \"v1beta\",\n baseUrl: \"https://api.cometapi.com\",\n },\n});\n\nconst response = await ai.models.generateContent({\n \"model\": \"gemini-3.8-flash\",\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"Return a JSON array of 3 planets with name and average_distance_from_sun_au.\"\n }\n ]\n }\n ],\n \"config\": {\n \"responseMimeType\": \"application/json\",\n \"responseSchema\": {\n \"type\": \"ARRAY\",\n \"items\": {\n \"type\": \"OBJECT\",\n \"properties\": {\n \"name\": {\n \"type\": \"STRING\",\n \"description\": \"Name of the planet.\"\n },\n \"average_distance_from_sun_au\": {\n \"type\": \"NUMBER\",\n \"description\": \"Average distance from the Sun, in astronomical units.\"\n }\n },\n \"required\": [\n \"name\",\n \"average_distance_from_sun_au\"\n ]\n }\n }\n }\n});\n\nconsole.log(response.text);\n"},{"label":"Streaming","lang":"JavaScript","source":"import { GoogleGenAI } from \"@google/genai\";\n\nconst ai = new GoogleGenAI({\n apiKey: process.env.COMETAPI_KEY,\n httpOptions: {\n apiVersion: \"v1beta\",\n baseUrl: \"https://api.cometapi.com\",\n },\n});\n\nconst response = await ai.models.generateContentStream({\n \"model\": \"gemini-3.8-flash\",\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"Write a short poem about the stars\"\n }\n ]\n }\n ]\n});\n\nfor await (const chunk of response) {\n if (chunk.text) process.stdout.write(chunk.text);\n}\n"},{"label":"Multi-turn Chat","lang":"JavaScript","source":"import { GoogleGenAI } from \"@google/genai\";\n\nconst ai = new GoogleGenAI({\n apiKey: process.env.COMETAPI_KEY,\n httpOptions: {\n apiVersion: \"v1beta\",\n baseUrl: \"https://api.cometapi.com\",\n },\n});\n\nconst chat = ai.chats.create({ model: \"gemini-3.8-flash\" });\n\nlet response = await chat.sendMessage({ message: \"I have 2 dogs.\" });\nconsole.log(response.text);\n\nresponse = await chat.sendMessage({\n message: \"How many dog paws are in my house?\",\n});\nconsole.log(response.text);\n"},{"label":"Thinking Level","lang":"JavaScript","source":"import { GoogleGenAI } from \"@google/genai\";\n\nconst ai = new GoogleGenAI({\n apiKey: process.env.COMETAPI_KEY,\n httpOptions: {\n apiVersion: \"v1beta\",\n baseUrl: \"https://api.cometapi.com\",\n },\n});\n\nconst response = await ai.models.generateContent({\n \"model\": \"gemini-3.8-flash\",\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"How does quantum computing work?\"\n }\n ]\n }\n ],\n \"config\": {\n \"thinkingConfig\": {\n \"thinkingLevel\": \"LOW\"\n }\n }\n});\n\nconsole.log(response.text);\n"},{"label":"Inline Video","lang":"JavaScript","source":"import fs from \"node:fs\";\nimport { GoogleGenAI } from \"@google/genai\";\n\nconst ai = new GoogleGenAI({\n apiKey: process.env.COMETAPI_KEY,\n httpOptions: {\n apiVersion: \"v1beta\",\n baseUrl: \"https://api.cometapi.com\",\n },\n});\n\nconst videoBase64 = fs.readFileSync(\"your_video.mp4\", {\n encoding: \"base64\",\n});\n\nconst response = await ai.models.generateContent({\n \"model\": \"gemini-3.8-flash\",\n \"contents\": [\n {\n \"role\": \"user\",\n \"parts\": [\n {\n \"inlineData\": {\n \"mimeType\": \"video/mp4\",\n \"data\": videoBase64\n }\n },\n {\n \"text\": \"Analyze this video and list the key scenes.\"\n }\n ]\n }\n ],\n \"config\": {\n \"maxOutputTokens\": 2048,\n \"thinkingConfig\": {\n \"thinkingLevel\": \"LOW\"\n }\n }\n});\n\nconsole.log(response.text);\n"},{"label":"Public Video URL","lang":"JavaScript","source":"import { GoogleGenAI } from \"@google/genai\";\n\nconst ai = new GoogleGenAI({\n apiKey: process.env.COMETAPI_KEY,\n httpOptions: {\n apiVersion: \"v1beta\",\n baseUrl: \"https://api.cometapi.com\",\n },\n});\n\nconst response = await ai.models.generateContent({\n \"model\": \"gemini-3.8-flash\",\n \"contents\": [\n {\n \"role\": \"user\",\n \"parts\": [\n {\n \"fileData\": {\n \"mimeType\": \"video/mp4\",\n \"fileUri\": \"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4\"\n }\n },\n {\n \"text\": \"Analyze this video and list the key scenes.\"\n }\n ]\n }\n ],\n \"config\": {\n \"maxOutputTokens\": 2048,\n \"thinkingConfig\": {\n \"thinkingLevel\": \"LOW\"\n }\n }\n});\n\nconsole.log(response.text);\n"},{"label":"Basic","lang":"Shell","source":"curl \\\n \"https://api.cometapi.com/v1beta/models/gemini-3.8-flash:generateContent\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-goog-api-key: $COMETAPI_KEY\" \\\n --data-binary @- \u003c\u003c'EOF'\n{\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"Explain how AI works in a few words\"\n }\n ]\n }\n ]\n}\nEOF\n"},{"label":"System Instruction","lang":"Shell","source":"curl \\\n \"https://api.cometapi.com/v1beta/models/gemini-3.8-flash:generateContent\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-goog-api-key: $COMETAPI_KEY\" \\\n --data-binary @- \u003c\u003c'EOF'\n{\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"What is 2+2?\"\n }\n ]\n }\n ],\n \"systemInstruction\": {\n \"parts\": [\n {\n \"text\": \"You are a math tutor. Answer with exactly one equation and no other text.\"\n }\n ]\n }\n}\nEOF\n"},{"label":"Thinking Summary","lang":"Shell","source":"curl \\\n \"https://api.cometapi.com/v1beta/models/gemini-3.8-flash:generateContent\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-goog-api-key: $COMETAPI_KEY\" \\\n --data-binary @- \u003c\u003c'EOF'\n{\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"What is the 10th Fibonacci number when F(0)=0 and F(1)=1? Briefly verify the result.\"\n }\n ]\n }\n ],\n \"generationConfig\": {\n \"maxOutputTokens\": 4096,\n \"thinkingConfig\": {\n \"thinkingLevel\": \"MEDIUM\",\n \"includeThoughts\": true\n }\n }\n}\nEOF\n"},{"label":"Google Search","lang":"Shell","source":"curl \\\n \"https://api.cometapi.com/v1beta/models/gemini-3.8-flash:generateContent\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-goog-api-key: $COMETAPI_KEY\" \\\n --data-binary @- \u003c\u003c'EOF'\n{\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"Use Google Search to find the winner and final score of the UEFA EURO 2024 final. Cite your sources.\"\n }\n ]\n }\n ],\n \"tools\": [\n {\n \"googleSearch\": {}\n }\n ],\n \"generationConfig\": {\n \"maxOutputTokens\": 2048\n }\n}\nEOF\n"},{"label":"JSON Mode","lang":"Shell","source":"curl \\\n \"https://api.cometapi.com/v1beta/models/gemini-3.8-flash:generateContent\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-goog-api-key: $COMETAPI_KEY\" \\\n --data-binary @- \u003c\u003c'EOF'\n{\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"Return a JSON array of 3 planets with name and average_distance_from_sun_au.\"\n }\n ]\n }\n ],\n \"generationConfig\": {\n \"responseMimeType\": \"application/json\",\n \"responseSchema\": {\n \"type\": \"ARRAY\",\n \"items\": {\n \"type\": \"OBJECT\",\n \"properties\": {\n \"name\": {\n \"type\": \"STRING\",\n \"description\": \"Name of the planet.\"\n },\n \"average_distance_from_sun_au\": {\n \"type\": \"NUMBER\",\n \"description\": \"Average distance from the Sun, in astronomical units.\"\n }\n },\n \"required\": [\n \"name\",\n \"average_distance_from_sun_au\"\n ]\n }\n }\n }\n}\nEOF\n"},{"label":"Streaming","lang":"Shell","source":"curl \\\n \"https://api.cometapi.com/v1beta/models/gemini-3.8-flash:streamGenerateContent?alt=sse\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-goog-api-key: $COMETAPI_KEY\" \\\n --no-buffer \\\n --data-binary @- \u003c\u003c'EOF'\n{\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"Write a short poem about the stars\"\n }\n ]\n }\n ]\n}\nEOF\n"},{"label":"Multi-turn Chat","lang":"Shell","source":"curl \\\n \"https://api.cometapi.com/v1beta/models/gemini-3.8-flash:generateContent\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-goog-api-key: $COMETAPI_KEY\" \\\n --data-binary @- \u003c\u003c'EOF'\n{\n \"contents\": [\n {\n \"role\": \"user\",\n \"parts\": [\n {\n \"text\": \"I have 2 dogs.\"\n }\n ]\n },\n {\n \"role\": \"model\",\n \"parts\": [\n {\n \"text\": \"I will remember that you have 2 dogs.\"\n }\n ]\n },\n {\n \"role\": \"user\",\n \"parts\": [\n {\n \"text\": \"How many dog paws are in my house?\"\n }\n ]\n }\n ]\n}\nEOF\n"},{"label":"Thinking Level","lang":"Shell","source":"curl \\\n \"https://api.cometapi.com/v1beta/models/gemini-3.8-flash:generateContent\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-goog-api-key: $COMETAPI_KEY\" \\\n --data-binary @- \u003c\u003c'EOF'\n{\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"How does quantum computing work?\"\n }\n ]\n }\n ],\n \"generationConfig\": {\n \"thinkingConfig\": {\n \"thinkingLevel\": \"LOW\"\n }\n }\n}\nEOF\n"},{"label":"Inline Video","lang":"Shell","source":"curl \\\n \"https://api.cometapi.com/v1beta/models/gemini-3.8-flash:generateContent\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-goog-api-key: $COMETAPI_KEY\" \\\n --data-binary @- \u003c\u003c'EOF'\n{\n \"contents\": [\n {\n \"role\": \"user\",\n \"parts\": [\n {\n \"inlineData\": {\n \"mimeType\": \"video/mp4\",\n \"data\": \"\u003cbase64-encoded-mp4>\"\n }\n },\n {\n \"text\": \"Analyze this video and list the key scenes.\"\n }\n ]\n }\n ],\n \"generationConfig\": {\n \"maxOutputTokens\": 2048,\n \"thinkingConfig\": {\n \"thinkingLevel\": \"LOW\"\n }\n }\n}\nEOF\n"},{"label":"Public Video URL","lang":"Shell","source":"curl \\\n \"https://api.cometapi.com/v1beta/models/gemini-3.8-flash:generateContent\" \\\n -H \"Content-Type: application/json\" \\\n -H \"x-goog-api-key: $COMETAPI_KEY\" \\\n --data-binary @- \u003c\u003c'EOF'\n{\n \"contents\": [\n {\n \"role\": \"user\",\n \"parts\": [\n {\n \"fileData\": {\n \"mimeType\": \"video/mp4\",\n \"fileUri\": \"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4\"\n }\n },\n {\n \"text\": \"Analyze this video and list the key scenes.\"\n }\n ]\n }\n ],\n \"generationConfig\": {\n \"maxOutputTokens\": 2048,\n \"thinkingConfig\": {\n \"thinkingLevel\": \"LOW\"\n }\n }\n}\nEOF\n"}],"requiredOnlyExamples":true,"requestExampleType":"codeSamples","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.contents.items.0.parts.items.0.text":"Explain how AI works in a few words"},{"body.contents.items.0.parts.items.0.text":"What is 2+2?","body.systemInstruction.parts.items.0.text":"You are a math tutor. Answer with exactly one equation and no other text."},{"body.contents.items.0.parts.items.0.text":"What is the 10th Fibonacci number when F(0)=0 and F(1)=1? Briefly verify the result.","body.generationConfig.maxOutputTokens":4096,"body.generationConfig.thinkingConfig.thinkingLevel":"MEDIUM","body.generationConfig.thinkingConfig.includeThoughts":true},{"body.contents.items.0.parts.items.0.text":"Use Google Search to find the winner and final score of the UEFA EURO 2024 final. Cite your sources.","body.tools.items.0.googleSearch":{},"body.generationConfig.maxOutputTokens":2048},{"body.contents.items.0.parts.items.0.text":"Return a JSON array of 3 planets with name and average_distance_from_sun_au.","body.generationConfig.responseMimeType":"application/json","body.generationConfig.responseSchema":{"type":"ARRAY","items":{"type":"OBJECT","properties":{"name":{"type":"STRING","description":"Name of the planet."},"average_distance_from_sun_au":{"type":"NUMBER","description":"Average distance from the Sun, in astronomical units."}},"required":["name","average_distance_from_sun_au"]}}},{"body.contents.items.0.role":"user","body.contents.items.0.parts.items.0.text":"I have 2 dogs.","body.contents.items.1.role":"model","body.contents.items.1.parts.items.0.text":"I will remember that you have 2 dogs.","body.contents.items.2.role":"user","body.contents.items.2.parts.items.0.text":"How many dog paws are in my house?"},{"body.contents.items.0.parts.items.0.text":"How does quantum computing work?","body.generationConfig.thinkingConfig.thinkingLevel":"LOW"},{"body.contents.items.0.role":"user","body.contents.items.0.parts.items.0.inlineData.mimeType":"video/mp4","body.contents.items.0.parts.items.0.inlineData.data":"\u003cbase64-encoded-mp4>","body.contents.items.0.parts.items.1.text":"Analyze this video and list the key scenes.","body.generationConfig.maxOutputTokens":2048,"body.generationConfig.thinkingConfig.thinkingLevel":"LOW"},{"body.contents.items.0.role":"user","body.contents.items.0.parts.items.0.fileData.mimeType":"video/mp4","body.contents.items.0.parts.items.0.fileData.fileUri":"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4","body.contents.items.0.parts.items.1.text":"Analyze this video and list the key scenes.","body.generationConfig.maxOutputTokens":2048,"body.generationConfig.thinkingConfig.thinkingLevel":"LOW"}]},"dependencies":{"parameters":{"785b8c50-d514-44b2-b972-2269d0a2fbb2":{"name":"model","in":"path","required":true,"description":"Gemini model ID. These examples use `gemini-3.8-flash`. See the [Models page](/overview/models) for available model IDs.","schema":{"type":"string","default":"gemini-3.8-flash","isRequired":true,"description":"Gemini model ID. These examples use `gemini-3.8-flash`. See the [Models page](/overview/models) for available model IDs.","uniqueKey":"","typeLabel":"string"},"example":"gemini-3.8-flash"},"320b28f6-7429-458c-8803-9362135a4949":{"name":"operator","in":"path","required":true,"description":"Operation to perform. Use `generateContent` for a JSON response. For Server-Sent Events, select `streamGenerateContent` and set the separate `alt` query parameter to `sse`.","schema":{"type":"string","enum":["generateContent","streamGenerateContent"],"default":"generateContent","isRequired":true,"description":"Operation to perform. Use `generateContent` for a JSON response. For Server-Sent Events, select `streamGenerateContent` and set the separate `alt` query parameter to `sse`.","uniqueKey":"","typeLabel":"enum\u003cstring>"}},"36aaf533-2f60-42ed-bc86-f90b776df389":{"name":"alt","in":"query","required":false,"description":"Set to `sse` when the operator is `streamGenerateContent`. Omit this parameter for `generateContent`.","schema":{"type":"string","enum":["sse"],"isRequired":false,"description":"Set to `sse` when the operator is `streamGenerateContent`. Omit this parameter for `generateContent`.","uniqueKey":"","typeLabel":"enum\u003cstring>"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"contents":{"type":"array","items":{"type":"object","properties":{"role":{"description":"The role of the content author. Use `user` for user messages and `model` for assistant responses in multi-turn conversations. Can be omitted for single-turn requests.","enum":["user","model"],"type":"string","uniqueKey":"contents.items.[INDEX].role","typeLabel":"enum\u003cstring>"},"parts":{"description":"The content parts for this turn. Supports text, inline base64 media, public file URLs, and function call results.","items":{"type":"object","properties":{"text":{"type":"string","description":"Text content of this part.","uniqueKey":"contents.items.[INDEX].parts.items.[INDEX].text","typeLabel":"string"},"inlineData":{"type":"object","description":"Inline binary media sent as base64 in the request. Use this for local image, audio, video, PDF, or other supported media files that are small enough to include in the JSON body. Omit this field when using `fileData`.","properties":{"mimeType":{"type":"string","description":"The MIME type of the media bytes, such as `image/png`, `audio/mpeg`, `video/mp4`, or `application/pdf`.","uniqueKey":"contents.items.[INDEX].parts.items.[INDEX].inlineData.mimeType","typeLabel":"string"},"data":{"type":"string","description":"Base64-encoded file bytes. Do not include a `data:video/mp4;base64,` prefix.","uniqueKey":"contents.items.[INDEX].parts.items.[INDEX].inlineData.data","typeLabel":"string"}},"uniqueKey":"contents.items.[INDEX].parts.items.[INDEX].inlineData","typeLabel":"object"},"fileData":{"type":"object","description":"Media referenced by URL. Use a public HTTPS URL that can be fetched without authentication. Omit this field when using `inlineData`.","properties":{"mimeType":{"type":"string","description":"The MIME type of the referenced file, such as `video/mp4`, `image/png`, `audio/mpeg`, or `application/pdf`.","uniqueKey":"contents.items.[INDEX].parts.items.[INDEX].fileData.mimeType","typeLabel":"string"},"fileUri":{"type":"string","description":"A public HTTPS URL for the media file. The URL must not require cookies, private headers, or a signed-in session.","uniqueKey":"contents.items.[INDEX].parts.items.[INDEX].fileData.fileUri","typeLabel":"string"}},"uniqueKey":"contents.items.[INDEX].parts.items.[INDEX].fileData","typeLabel":"object"},"functionCall":{"type":"object","description":"A function call generated by the model.","properties":{"name":{"type":"string","description":"The function name.","uniqueKey":"contents.items.[INDEX].parts.items.[INDEX].functionCall.name","typeLabel":"string"},"args":{"type":"object","description":"The function arguments as a JSON object.","uniqueKey":"contents.items.[INDEX].parts.items.[INDEX].functionCall.args","typeLabel":"object"},"id":{"type":"string","description":"Identifier of the function call. If the model returns an ID, copy the same ID into the corresponding function response.","uniqueKey":"contents.items.[INDEX].parts.items.[INDEX].functionCall.id","typeLabel":"string"}},"uniqueKey":"contents.items.[INDEX].parts.items.[INDEX].functionCall","typeLabel":"object"},"functionResponse":{"type":"object","description":"The result of a function call, provided by the user.","properties":{"name":{"type":"string","description":"The function name.","uniqueKey":"contents.items.[INDEX].parts.items.[INDEX].functionResponse.name","typeLabel":"string"},"response":{"type":"object","description":"The function response as a JSON object.","uniqueKey":"contents.items.[INDEX].parts.items.[INDEX].functionResponse.response","typeLabel":"object"},"id":{"type":"string","description":"Identifier of the function call. If the model returns an ID, copy the same ID into the corresponding function response.","uniqueKey":"contents.items.[INDEX].parts.items.[INDEX].functionResponse.id","typeLabel":"string"}},"uniqueKey":"contents.items.[INDEX].parts.items.[INDEX].functionResponse","typeLabel":"object"},"thoughtSignature":{"type":"string","description":"Opaque signature returned in a model content part. Preserve the signature and the complete part when sending conversation history or tool results.","uniqueKey":"contents.items.[INDEX].parts.items.[INDEX].thoughtSignature","typeLabel":"string"}},"uniqueKey":"contents.items.[INDEX].parts.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"contents.items.[INDEX].parts","typeLabel":"object[]"}},"uniqueKey":"contents.items.[INDEX]","typeLabel":"object"},"description":"Conversation content. Each entry has an optional `role` (`user` or `model`) and a `parts` array. For tool results, preserve the complete preceding model content, including any `thoughtSignature` fields.","uniqueKey":"contents","typeLabel":"object[]"},"systemInstruction":{"type":"object","description":"System instructions that guide the model's behavior across the entire conversation. Text only.","properties":{"parts":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string","description":"The system instruction text.","uniqueKey":"systemInstruction.parts.items.[INDEX].text","typeLabel":"string"}},"uniqueKey":"systemInstruction.parts.items.[INDEX]","typeLabel":"object"},"description":"Content parts of the system instruction.","uniqueKey":"systemInstruction.parts","typeLabel":"object[]"}},"uniqueKey":"systemInstruction","typeLabel":"object"},"tools":{"type":"array","description":"Tools available to the model during generation. Use `googleSearch` for search grounding.","items":{"type":"object","properties":{"functionDeclarations":{"type":"array","description":"A list of function declarations for function calling.","items":{"type":"object","properties":{"name":{"type":"string","description":"The function name.","uniqueKey":"tools.items.[INDEX].functionDeclarations.items.[INDEX].name","typeLabel":"string"},"description":{"type":"string","description":"A description of what the function does.","uniqueKey":"tools.items.[INDEX].functionDeclarations.items.[INDEX].description","typeLabel":"string"},"parameters":{"type":"object","description":"The function parameters as a JSON Schema object.","uniqueKey":"tools.items.[INDEX].functionDeclarations.items.[INDEX].parameters","typeLabel":"object"}},"uniqueKey":"tools.items.[INDEX].functionDeclarations.items.[INDEX]","typeLabel":"object"},"uniqueKey":"tools.items.[INDEX].functionDeclarations","typeLabel":"object[]"},"googleSearch":{"type":"object","description":"Enable Google Search grounding. Pass an empty object `{}` to enable.","uniqueKey":"tools.items.[INDEX].googleSearch","typeLabel":"object"},"googleMaps":{"type":"object","description":"Enable Google Maps grounding. Pass an empty object `{}` to enable.","uniqueKey":"tools.items.[INDEX].googleMaps","typeLabel":"object"},"codeExecution":{"type":"object","description":"Enable code execution. Pass an empty object `{}` to enable.","uniqueKey":"tools.items.[INDEX].codeExecution","typeLabel":"object"}},"uniqueKey":"tools.items.[INDEX]","typeLabel":"object"},"uniqueKey":"tools","typeLabel":"object[]"},"toolConfig":{"type":"object","description":"Configuration for tool usage, such as function calling mode.","properties":{"functionCallingConfig":{"type":"object","description":"Configuration for function calling behavior.","properties":{"mode":{"type":"string","description":"The function calling mode.","enum":["AUTO","ANY","NONE"],"uniqueKey":"toolConfig.functionCallingConfig.mode","typeLabel":"enum\u003cstring>"},"allowedFunctionNames":{"type":"array","description":"Restrict the model to calling only these functions. Only effective when `mode` is `ANY`.","items":{"type":"string","uniqueKey":"toolConfig.functionCallingConfig.allowedFunctionNames.items.[INDEX]","typeLabel":"string"},"uniqueKey":"toolConfig.functionCallingConfig.allowedFunctionNames","typeLabel":"string[]"}},"uniqueKey":"toolConfig.functionCallingConfig","typeLabel":"object"},"retrievalConfig":{"type":"object","description":"Configuration for retrieval-based tools (e.g., Google Maps location context).","properties":{"latLng":{"type":"object","description":"Latitude and longitude for location-based grounding.","properties":{"latitude":{"type":"number","description":"Latitude in degrees.","uniqueKey":"toolConfig.retrievalConfig.latLng.latitude","typeLabel":"number"},"longitude":{"type":"number","description":"Longitude in degrees.","uniqueKey":"toolConfig.retrievalConfig.latLng.longitude","typeLabel":"number"}},"uniqueKey":"toolConfig.retrievalConfig.latLng","typeLabel":"object"}},"uniqueKey":"toolConfig.retrievalConfig","typeLabel":"object"}},"uniqueKey":"toolConfig","typeLabel":"object"},"safetySettings":{"type":"array","description":"Safety filter settings. Override default thresholds for specific harm categories.","items":{"type":"object","properties":{"category":{"type":"string","description":"The harm category to configure.","enum":["HARM_CATEGORY_HARASSMENT","HARM_CATEGORY_HATE_SPEECH","HARM_CATEGORY_SEXUALLY_EXPLICIT","HARM_CATEGORY_DANGEROUS_CONTENT","HARM_CATEGORY_CIVIC_INTEGRITY"],"uniqueKey":"safetySettings.items.[INDEX].category","typeLabel":"enum\u003cstring>"},"threshold":{"type":"string","description":"The blocking threshold for this category.","enum":["BLOCK_NONE","BLOCK_ONLY_HIGH","BLOCK_MEDIUM_AND_ABOVE","BLOCK_LOW_AND_ABOVE","OFF"],"uniqueKey":"safetySettings.items.[INDEX].threshold","typeLabel":"enum\u003cstring>"}},"uniqueKey":"safetySettings.items.[INDEX]","typeLabel":"object"},"uniqueKey":"safetySettings","typeLabel":"object[]"},"generationConfig":{"type":"object","description":"Configuration for model generation behavior including temperature, output length, and response format.","properties":{"temperature":{"type":"number","description":"Sampling temperature for models that accept this field. Omit sampling overrides in the Gemini 3 examples.","minimum":0,"maximum":2,"uniqueKey":"generationConfig.temperature","typeLabel":"number"},"topP":{"type":"number","description":"Nucleus sampling threshold for models that accept this field. Omit sampling overrides in the Gemini 3 examples.","minimum":0,"maximum":1,"uniqueKey":"generationConfig.topP","typeLabel":"number"},"topK":{"type":"integer","description":"Sampling candidate limit for models that accept this field. Omit sampling overrides in the Gemini 3 examples.","uniqueKey":"generationConfig.topK","typeLabel":"integer"},"maxOutputTokens":{"type":"integer","description":"Maximum output token count, including thinking and response text. Leave enough room for both when thinking is enabled.","uniqueKey":"generationConfig.maxOutputTokens","typeLabel":"integer"},"candidateCount":{"type":"integer","description":"Number of response candidates. Omit this field for the Gemini 3 examples.","uniqueKey":"generationConfig.candidateCount","typeLabel":"integer"},"stopSequences":{"type":"array","description":"Up to 5 character sequences that will stop output generation. The stop sequence is not included in the response.","items":{"type":"string","uniqueKey":"generationConfig.stopSequences.items.[INDEX]","typeLabel":"string"},"maxItems":5,"uniqueKey":"generationConfig.stopSequences","typeLabel":"string[]"},"seed":{"type":"integer","description":"Seed used to initialize sampling.","uniqueKey":"generationConfig.seed","typeLabel":"integer"},"presencePenalty":{"type":"number","description":"Penalizes tokens that have already appeared in the response (binary on/off per token). Positive values encourage diverse vocabulary.","uniqueKey":"generationConfig.presencePenalty","typeLabel":"number"},"frequencyPenalty":{"type":"number","description":"Penalizes tokens proportionally to how many times they have appeared. Positive values discourage repetition.","uniqueKey":"generationConfig.frequencyPenalty","typeLabel":"number"},"responseMimeType":{"type":"string","description":"The MIME type for the response. Use `application/json` for JSON mode, `text/x.enum` for enum output, or `text/plain` (default) for free text.","enum":["text/plain","application/json","text/x.enum"],"uniqueKey":"generationConfig.responseMimeType","typeLabel":"enum\u003cstring>"},"responseSchema":{"type":"object","description":"Schema for JSON output. Set `responseMimeType` to `application/json` and provide this schema together, as shown in the JSON example.","uniqueKey":"generationConfig.responseSchema","typeLabel":"object"},"responseModalities":{"type":"array","description":"Requested output modalities. Available values and combinations depend on the selected model. The text examples omit this field; image and audio output require a model that supports that modality.","items":{"type":"string","enum":["TEXT","IMAGE","AUDIO"],"uniqueKey":"generationConfig.responseModalities.items.[INDEX]","typeLabel":"enum\u003cstring>"},"uniqueKey":"generationConfig.responseModalities","typeLabel":"enum\u003cstring>[]"},"responseLogprobs":{"type":"boolean","description":"If `true`, include log probabilities in the response.","uniqueKey":"generationConfig.responseLogprobs","typeLabel":"boolean"},"logprobs":{"type":"integer","description":"Number of top log probabilities to return per token (0–20). Only valid when `responseLogprobs` is `true`.","minimum":0,"maximum":20,"uniqueKey":"generationConfig.logprobs","typeLabel":"integer"},"thinkingConfig":{"type":"object","description":"Controls the model's internal reasoning (thinking) process. Supported by Gemini 2.5 and later models.","properties":{"thinkingBudget":{"type":"integer","description":"Numeric thinking token budget for compatible models, including Gemini 2.5. Accepted ranges and whether 0 disables thinking depend on the model; -1 selects dynamic thinking where supported. The Gemini 3 examples use `thinkingLevel` instead. Do not send both controls.","uniqueKey":"generationConfig.thinkingConfig.thinkingBudget","typeLabel":"integer"},"thinkingLevel":{"type":"string","description":"Preset reasoning level for Gemini 3 models. The `gemini-3.8-flash` examples use `LOW` or `MEDIUM`; accepted levels depend on the model. Omit this field to use the model default. Do not combine it with `thinkingBudget`.","enum":["MINIMAL","LOW","MEDIUM","HIGH"],"uniqueKey":"generationConfig.thinkingConfig.thinkingLevel","typeLabel":"enum\u003cstring>"},"includeThoughts":{"type":"boolean","description":"Request thinking summaries in response parts. A summary part has `thought: true`.","uniqueKey":"generationConfig.thinkingConfig.includeThoughts","typeLabel":"boolean"}},"uniqueKey":"generationConfig.thinkingConfig","typeLabel":"object"},"imageConfig":{"type":"object","description":"Configuration for image generation. Only applicable to models that support image output.","properties":{"aspectRatio":{"type":"string","description":"The aspect ratio for generated images.","enum":["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],"uniqueKey":"generationConfig.imageConfig.aspectRatio","typeLabel":"enum\u003cstring>"},"imageSize":{"type":"string","description":"The resolution of generated images.","enum":["1K","2K","4K"],"default":"1K","uniqueKey":"generationConfig.imageConfig.imageSize","typeLabel":"enum\u003cstring>"}},"uniqueKey":"generationConfig.imageConfig","typeLabel":"object"},"mediaResolution":{"type":"string","description":"Resolution for processing input media files.","enum":["MEDIA_RESOLUTION_LOW","MEDIA_RESOLUTION_MEDIUM","MEDIA_RESOLUTION_HIGH"],"uniqueKey":"generationConfig.mediaResolution","typeLabel":"enum\u003cstring>"}},"uniqueKey":"generationConfig","typeLabel":"object"},"cachedContent":{"type":"string","description":"The name of cached content to use as context. Format: `cachedContents/{id}`. See the Gemini context caching documentation for details.","uniqueKey":"cachedContent","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Basic":{"title":"Basic","value":{"contents":[{"parts":[{"text":"Explain how AI works in a few words"}]}]}},"System Instruction":{"title":"System Instruction","value":{"contents":[{"parts":[{"text":"What is 2+2?"}]}],"systemInstruction":{"parts":[{"text":"You are a math tutor. Answer with exactly one equation and no other text."}]}}},"Thinking Summary":{"title":"Thinking Summary","value":{"contents":[{"parts":[{"text":"What is the 10th Fibonacci number when F(0)=0 and F(1)=1? Briefly verify the result."}]}],"generationConfig":{"maxOutputTokens":4096,"thinkingConfig":{"thinkingLevel":"MEDIUM","includeThoughts":true}}}},"Google Search":{"title":"Google Search","value":{"contents":[{"parts":[{"text":"Use Google Search to find the winner and final score of the UEFA EURO 2024 final. Cite your sources."}]}],"tools":[{"googleSearch":{}}],"generationConfig":{"maxOutputTokens":2048}}},"JSON Mode":{"title":"JSON Mode","value":{"contents":[{"parts":[{"text":"Return a JSON array of 3 planets with name and average_distance_from_sun_au."}]}],"generationConfig":{"responseMimeType":"application/json","responseSchema":{"type":"ARRAY","items":{"type":"OBJECT","properties":{"name":{"type":"STRING","description":"Name of the planet."},"average_distance_from_sun_au":{"type":"NUMBER","description":"Average distance from the Sun, in astronomical units."}},"required":["name","average_distance_from_sun_au"]}}}}},"Multi-turn Chat":{"title":"Multi-turn Chat","value":{"contents":[{"role":"user","parts":[{"text":"I have 2 dogs."}]},{"role":"model","parts":[{"text":"I will remember that you have 2 dogs."}]},{"role":"user","parts":[{"text":"How many dog paws are in my house?"}]}]}},"Thinking Level":{"title":"Thinking Level","value":{"contents":[{"parts":[{"text":"How does quantum computing work?"}]}],"generationConfig":{"thinkingConfig":{"thinkingLevel":"LOW"}}}},"Inline Video":{"title":"Inline Video","description":"Replace `\u003cbase64-encoded-mp4>` with the base64 contents of your local MP4 file.","value":{"contents":[{"role":"user","parts":[{"inlineData":{"mimeType":"video/mp4","data":"\u003cbase64-encoded-mp4>"}},{"text":"Analyze this video and list the key scenes."}]}],"generationConfig":{"maxOutputTokens":2048,"thinkingConfig":{"thinkingLevel":"LOW"}}}},"Public Video URL":{"title":"Public Video URL","value":{"contents":[{"role":"user","parts":[{"fileData":{"mimeType":"video/mp4","fileUri":"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4"}},{"text":"Analyze this video and list the key scenes."}]}],"generationConfig":{"maxOutputTokens":2048,"thinkingConfig":{"thinkingLevel":"LOW"}}}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"ecb25bd3-5c2d-4c18-a43c-e668d66fa84f":{"description":"Successful response. For streaming requests, the response is a stream of SSE events, each containing a `GenerateContentResponse` JSON object prefixed with `data: `.","content":{"application/json":{"schema":{"type":"object","properties":{"candidates":{"type":"array","description":"The generated response candidates.","items":{"type":"object","properties":{"content":{"type":"object","description":"The generated content.","properties":{"role":{"type":"string","description":"Always `model` for generated responses.","uniqueKey":"candidates.items.[INDEX].content.role","typeLabel":"string"},"parts":{"type":"array","description":"The content parts of the response.","items":{"type":"object","properties":{"text":{"type":"string","description":"Generated text content.","uniqueKey":"candidates.items.[INDEX].content.parts.items.[INDEX].text","typeLabel":"string"},"functionCall":{"type":"object","description":"A function call request from the model (when using function calling tools).","properties":{"name":{"type":"string","description":"Name of the function the model wants to call.","uniqueKey":"candidates.items.[INDEX].content.parts.items.[INDEX].functionCall.name","typeLabel":"string"},"args":{"type":"object","description":"Function arguments as a JSON object.","uniqueKey":"candidates.items.[INDEX].content.parts.items.[INDEX].functionCall.args","typeLabel":"object"},"id":{"type":"string","description":"Identifier of the function call. If the model returns an ID, copy the same ID into the corresponding function response.","uniqueKey":"candidates.items.[INDEX].content.parts.items.[INDEX].functionCall.id","typeLabel":"string"}},"uniqueKey":"candidates.items.[INDEX].content.parts.items.[INDEX].functionCall","typeLabel":"object"},"inlineData":{"type":"object","description":"Inline binary data (e.g., generated images).","properties":{"mimeType":{"type":"string","description":"MIME type of the inline data, such as `image/png`.","uniqueKey":"candidates.items.[INDEX].content.parts.items.[INDEX].inlineData.mimeType","typeLabel":"string"},"data":{"type":"string","description":"Base64-encoded bytes of the inline data.","uniqueKey":"candidates.items.[INDEX].content.parts.items.[INDEX].inlineData.data","typeLabel":"string"}},"uniqueKey":"candidates.items.[INDEX].content.parts.items.[INDEX].inlineData","typeLabel":"object"},"thought":{"type":"boolean","description":"True when this text part is a thinking summary requested with `includeThoughts`.","uniqueKey":"candidates.items.[INDEX].content.parts.items.[INDEX].thought","typeLabel":"boolean"},"thoughtSignature":{"type":"string","description":"Opaque signature returned in a model content part. Preserve the signature and the complete part when sending conversation history or tool results.","uniqueKey":"candidates.items.[INDEX].content.parts.items.[INDEX].thoughtSignature","typeLabel":"string"}},"uniqueKey":"candidates.items.[INDEX].content.parts.items.[INDEX]","typeLabel":"object"},"uniqueKey":"candidates.items.[INDEX].content.parts","typeLabel":"object[]"}},"uniqueKey":"candidates.items.[INDEX].content","typeLabel":"object"},"finishReason":{"type":"string","description":"The reason the model stopped generating tokens.","enum":["STOP","MAX_TOKENS","SAFETY","RECITATION","LANGUAGE","OTHER","BLOCKLIST","PROHIBITED_CONTENT","SPII","MALFORMED_FUNCTION_CALL"],"uniqueKey":"candidates.items.[INDEX].finishReason","typeLabel":"enum\u003cstring>"},"safetyRatings":{"type":"array","description":"Safety ratings for this candidate.","items":{"type":"object","properties":{"category":{"type":"string","description":"Safety category this rating applies to.","uniqueKey":"candidates.items.[INDEX].safetyRatings.items.[INDEX].category","typeLabel":"string"},"probability":{"type":"string","description":"Probability level for harmful content in this category, such as `NEGLIGIBLE` or `HIGH`.","uniqueKey":"candidates.items.[INDEX].safetyRatings.items.[INDEX].probability","typeLabel":"string"},"blocked":{"type":"boolean","description":"Whether content was blocked for this category.","uniqueKey":"candidates.items.[INDEX].safetyRatings.items.[INDEX].blocked","typeLabel":"boolean"}},"uniqueKey":"candidates.items.[INDEX].safetyRatings.items.[INDEX]","typeLabel":"object"},"uniqueKey":"candidates.items.[INDEX].safetyRatings","typeLabel":"object[]"},"citationMetadata":{"type":"object","description":"Citation information for model-generated content.","properties":{"citationSources":{"type":"array","items":{"type":"object","properties":{"startIndex":{"type":"integer","description":"Start byte index of the cited span in the output.","uniqueKey":"candidates.items.[INDEX].citationMetadata.citationSources.items.[INDEX].startIndex","typeLabel":"integer"},"endIndex":{"type":"integer","description":"End byte index of the cited span in the output.","uniqueKey":"candidates.items.[INDEX].citationMetadata.citationSources.items.[INDEX].endIndex","typeLabel":"integer"},"uri":{"type":"string","description":"URI of the cited source.","uniqueKey":"candidates.items.[INDEX].citationMetadata.citationSources.items.[INDEX].uri","typeLabel":"string"},"license":{"type":"string","description":"License of the cited source when known.","uniqueKey":"candidates.items.[INDEX].citationMetadata.citationSources.items.[INDEX].license","typeLabel":"string"}},"uniqueKey":"candidates.items.[INDEX].citationMetadata.citationSources.items.[INDEX]","typeLabel":"object"},"description":"Sources cited for the generated content.","uniqueKey":"candidates.items.[INDEX].citationMetadata.citationSources","typeLabel":"object[]"}},"uniqueKey":"candidates.items.[INDEX].citationMetadata","typeLabel":"object"},"tokenCount":{"type":"integer","description":"Token count for this candidate.","uniqueKey":"candidates.items.[INDEX].tokenCount","typeLabel":"integer"},"avgLogprobs":{"type":"number","description":"Average log probability score of this candidate.","uniqueKey":"candidates.items.[INDEX].avgLogprobs","typeLabel":"number"},"groundingMetadata":{"type":"object","description":"Grounding metadata when Google Search or other grounding tools are used.","properties":{"groundingChunks":{"type":"array","items":{"type":"object","properties":{"web":{"type":"object","properties":{"uri":{"type":"string","description":"URI of the grounding source.","uniqueKey":"candidates.items.[INDEX].groundingMetadata.groundingChunks.items.[INDEX].web.uri","typeLabel":"string"},"title":{"type":"string","description":"Title of the grounding source page.","uniqueKey":"candidates.items.[INDEX].groundingMetadata.groundingChunks.items.[INDEX].web.title","typeLabel":"string"}},"description":"A web source used for grounding.","uniqueKey":"candidates.items.[INDEX].groundingMetadata.groundingChunks.items.[INDEX].web","typeLabel":"object"}},"uniqueKey":"candidates.items.[INDEX].groundingMetadata.groundingChunks.items.[INDEX]","typeLabel":"object"},"description":"Web sources that ground the response when Google Search grounding runs.","uniqueKey":"candidates.items.[INDEX].groundingMetadata.groundingChunks","typeLabel":"object[]"},"groundingSupports":{"type":"array","items":{"type":"object","properties":{"groundingChunkIndices":{"type":"array","items":{"type":"integer","uniqueKey":"candidates.items.[INDEX].groundingMetadata.groundingSupports.items.[INDEX].groundingChunkIndices.items.[INDEX]","typeLabel":"integer"},"description":"Indexes into `groundingChunks` that support this segment.","uniqueKey":"candidates.items.[INDEX].groundingMetadata.groundingSupports.items.[INDEX].groundingChunkIndices","typeLabel":"integer[]"},"confidenceScores":{"type":"array","items":{"type":"number","uniqueKey":"candidates.items.[INDEX].groundingMetadata.groundingSupports.items.[INDEX].confidenceScores.items.[INDEX]","typeLabel":"number"},"description":"Support confidence per grounding chunk, between 0 and 1.","uniqueKey":"candidates.items.[INDEX].groundingMetadata.groundingSupports.items.[INDEX].confidenceScores","typeLabel":"number[]"},"segment":{"type":"object","properties":{"startIndex":{"type":"integer","description":"Start byte index of the segment.","uniqueKey":"candidates.items.[INDEX].groundingMetadata.groundingSupports.items.[INDEX].segment.startIndex","typeLabel":"integer"},"endIndex":{"type":"integer","description":"End byte index of the segment.","uniqueKey":"candidates.items.[INDEX].groundingMetadata.groundingSupports.items.[INDEX].segment.endIndex","typeLabel":"integer"},"text":{"type":"string","description":"Text of the segment.","uniqueKey":"candidates.items.[INDEX].groundingMetadata.groundingSupports.items.[INDEX].segment.text","typeLabel":"string"}},"description":"The output text segment this support entry covers.","uniqueKey":"candidates.items.[INDEX].groundingMetadata.groundingSupports.items.[INDEX].segment","typeLabel":"object"}},"uniqueKey":"candidates.items.[INDEX].groundingMetadata.groundingSupports.items.[INDEX]","typeLabel":"object"},"description":"Mapping between output text segments and the grounding chunks that support them.","uniqueKey":"candidates.items.[INDEX].groundingMetadata.groundingSupports","typeLabel":"object[]"},"webSearchQueries":{"type":"array","items":{"type":"string","uniqueKey":"candidates.items.[INDEX].groundingMetadata.webSearchQueries.items.[INDEX]","typeLabel":"string"},"description":"Search queries the model issued for grounding.","uniqueKey":"candidates.items.[INDEX].groundingMetadata.webSearchQueries","typeLabel":"string[]"}},"uniqueKey":"candidates.items.[INDEX].groundingMetadata","typeLabel":"object"},"index":{"type":"integer","description":"Index of this candidate in the list of response candidates.","uniqueKey":"candidates.items.[INDEX].index","typeLabel":"integer"}},"uniqueKey":"candidates.items.[INDEX]","typeLabel":"object"},"uniqueKey":"candidates","typeLabel":"object[]"},"promptFeedback":{"type":"object","description":"Feedback on the prompt, including safety blocking information.","properties":{"blockReason":{"type":"string","description":"If set, the prompt was blocked.","enum":["SAFETY","OTHER","BLOCKLIST","PROHIBITED_CONTENT"],"uniqueKey":"promptFeedback.blockReason","typeLabel":"enum\u003cstring>"},"safetyRatings":{"type":"array","items":{"type":"object","properties":{"category":{"type":"string","description":"Safety category this rating applies to.","uniqueKey":"promptFeedback.safetyRatings.items.[INDEX].category","typeLabel":"string"},"probability":{"type":"string","description":"Probability level for harmful content in this category.","uniqueKey":"promptFeedback.safetyRatings.items.[INDEX].probability","typeLabel":"string"},"blocked":{"type":"boolean","description":"Whether the prompt was blocked for this category.","uniqueKey":"promptFeedback.safetyRatings.items.[INDEX].blocked","typeLabel":"boolean"}},"uniqueKey":"promptFeedback.safetyRatings.items.[INDEX]","typeLabel":"object"},"description":"Safety ratings for the prompt.","uniqueKey":"promptFeedback.safetyRatings","typeLabel":"object[]"}},"uniqueKey":"promptFeedback","typeLabel":"object"},"usageMetadata":{"type":"object","description":"Token usage statistics for the request.","properties":{"promptTokenCount":{"type":"integer","description":"Number of tokens in the prompt.","uniqueKey":"usageMetadata.promptTokenCount","typeLabel":"integer"},"candidatesTokenCount":{"type":"integer","description":"Number of tokens across all generated candidates.","uniqueKey":"usageMetadata.candidatesTokenCount","typeLabel":"integer"},"totalTokenCount":{"type":"integer","description":"Total token count (prompt + candidates + thinking).","uniqueKey":"usageMetadata.totalTokenCount","typeLabel":"integer"},"trafficType":{"type":"string","description":"The traffic type used for processing (e.g., `ON_DEMAND`).","uniqueKey":"usageMetadata.trafficType","typeLabel":"string"},"thoughtsTokenCount":{"type":"integer","description":"Number of tokens used for the model's internal thinking process.","uniqueKey":"usageMetadata.thoughtsTokenCount","typeLabel":"integer"},"promptTokensDetails":{"type":"array","description":"Token count breakdown by input modality.","items":{"type":"object","properties":{"modality":{"type":"string","description":"Input modality this entry counts, such as `TEXT` or `VIDEO`.","uniqueKey":"usageMetadata.promptTokensDetails.items.[INDEX].modality","typeLabel":"string"},"tokenCount":{"type":"integer","description":"Prompt tokens for this modality.","uniqueKey":"usageMetadata.promptTokensDetails.items.[INDEX].tokenCount","typeLabel":"integer"}},"uniqueKey":"usageMetadata.promptTokensDetails.items.[INDEX]","typeLabel":"object"},"uniqueKey":"usageMetadata.promptTokensDetails","typeLabel":"object[]"},"candidatesTokensDetails":{"type":"array","description":"Token count breakdown by output modality.","items":{"type":"object","properties":{"modality":{"type":"string","description":"Output modality this entry counts.","uniqueKey":"usageMetadata.candidatesTokensDetails.items.[INDEX].modality","typeLabel":"string"},"tokenCount":{"type":"integer","description":"Output tokens for this modality.","uniqueKey":"usageMetadata.candidatesTokensDetails.items.[INDEX].tokenCount","typeLabel":"integer"}},"uniqueKey":"usageMetadata.candidatesTokensDetails.items.[INDEX]","typeLabel":"object"},"uniqueKey":"usageMetadata.candidatesTokensDetails","typeLabel":"object[]"}},"uniqueKey":"usageMetadata","typeLabel":"object"},"modelVersion":{"type":"string","description":"The model version that generated this response.","uniqueKey":"modelVersion","typeLabel":"string"},"createTime":{"type":"string","description":"The timestamp when this response was created (ISO 8601 format).","uniqueKey":"createTime","typeLabel":"string"},"responseId":{"type":"string","description":"Unique identifier for this response.","uniqueKey":"responseId","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"candidates":[{"content":{"role":"model","parts":[{"text":"AI learns patterns from massive amounts of data to make predictions, solve problems, and generate new content. \n\nIn short: **Data in → Patterns found → Smart predictions out.**"}]},"finishReason":"STOP"}],"usageMetadata":{"promptTokenCount":9,"candidatesTokenCount":36,"thoughtsTokenCount":388,"totalTokenCount":433},"modelVersion":"gemini-3.8-flash"},"examples":{"Example":{"title":"Example","value":{"candidates":[{"content":{"role":"model","parts":[{"text":"AI learns patterns from massive amounts of data to make predictions, solve problems, and generate new content. \n\nIn short: **Data in → Patterns found → Smart predictions out.**"}]},"finishReason":"STOP"}],"usageMetadata":{"promptTokenCount":9,"candidatesTokenCount":36,"thoughtsTokenCount":388,"totalTokenCount":433},"modelVersion":"gemini-3.8-flash"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"9667143c-5a23-449b-9d2f-0020f8e707fa":{"apiKeyAuth":{"type":"apiKey","in":"header","name":"x-goog-api-key","description":"Your CometAPI key passed via the `x-goog-api-key` header. Bearer token authentication (`Authorization: Bearer $COMETAPI_KEY`) is also supported.","scopes":[]}}},"servers":{"0b47b923-c603-46b3-8b08-20b6ceeb91cf":{"url":"https://api.cometapi.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-goog-api-key","description":"Your CometAPI key passed via the `x-goog-api-key` header. Bearer token authentication (`Authorization: Bearer $COMETAPI_KEY`) is also supported.","scopes":[]},"schema":{"title":"x-goog-api-key","type":"string","description":"Your CometAPI key passed via the `x-goog-api-key` header. Bearer token authentication (`Authorization: Bearer $COMETAPI_KEY`) is also supported.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKeyAuth","name":"x-goog-api-key"}],"title":"apiKeyAuth"}]},"originalFileLocation":"api/openapi/text/post-gemini-generating-content.openapi.json"},"subdomain":"cometapi","siteName":"CometAPI Documentation","title":"Generate content - CometAPI Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/api/text/gemini-generating-content","matchLevel":0},"zh-Hans":{"href":"/zh-Hans/api/text/gemini-generating-content","matchLevel":1,"noindex":true},"zh-Hant":{"href":"/zh-Hant/api/text/gemini-generating-content","matchLevel":1,"noindex":true},"ja":{"href":"/ja/api/text/gemini-generating-content","matchLevel":1,"noindex":true},"ko":{"href":"/ko/api/text/gemini-generating-content","matchLevel":1,"noindex":true},"fr":{"href":"/fr/api/text/gemini-generating-content","matchLevel":1,"noindex":true},"de":{"href":"/de/api/text/gemini-generating-content","matchLevel":1,"noindex":true},"es":{"href":"/es/api/text/gemini-generating-content","matchLevel":1,"noindex":true},"it":{"href":"/it/api/text/gemini-generating-content","matchLevel":1,"noindex":true},"pt":{"href":"/pt/api/text/gemini-generating-content","matchLevel":1,"noindex":true},"ru":{"href":"/ru/api/text/gemini-generating-content","matchLevel":1,"noindex":true},"ar":{"href":"/ar/api/text/gemini-generating-content","matchLevel":1,"noindex":true},"vi":{"href":"/vi/api/text/gemini-generating-content","matchLevel":1,"noindex":true},"id":{"href":"/id/api/text/gemini-generating-content","matchLevel":1,"noindex":true},"tr":{"href":"/tr/api/text/gemini-generating-content","matchLevel":1,"noindex":true},"pl":{"href":"/pl/api/text/gemini-generating-content","matchLevel":1,"noindex":true},"nl":{"href":"/nl/api/text/gemini-generating-content","matchLevel":1,"noindex":true},"no":{"href":"/no/api/text/gemini-generating-content","matchLevel":1,"noindex":true},"uk":{"href":"/uk/api/text/gemini-generating-content","matchLevel":1,"noindex":true}}},"lastModified":"2026-09-08T03:43:48.250Z","gitLastModified":"2026-09-07T15:23:21.000Z","originalFileLocation":"api/text/gemini-generating-content.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Use the Gemini native API format through CometAPI for text generation, video input, thinking summaries, Google Search grounding, JSON output, and streaming.\">\u003cmeta data-mint-head name=\"application-name\" content=\"CometAPI Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/cometapi/Jhcr00uAqm6Ci9Vs/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/cometapi/Jhcr00uAqm6Ci9Vs/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/cometapi/Jhcr00uAqm6Ci9Vs/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/cometapi/Jhcr00uAqm6Ci9Vs/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/cometapi/Jhcr00uAqm6Ci9Vs/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/cometapi/Jhcr00uAqm6Ci9Vs/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/cometapi/Jhcr00uAqm6Ci9Vs/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/cometapi/Jhcr00uAqm6Ci9Vs/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/cometapi/Jhcr00uAqm6Ci9Vs/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Generate content - CometAPI Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Use the Gemini native API format through CometAPI for text generation, video input, thinking summaries, Google Search grounding, JSON output, and streaming.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"CometAPI Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://apidoc.cometapi.com/api/text/gemini-generating-content\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://cometapi.mintlify.site/_mintlify/api/og/v2?division=Text+Models\u0026amp;title=Generate+content\u0026amp;description=Use+the+Gemini+native+API+format+through+CometAPI+for+text+generation%2C+video+input%2C+thinking+summaries%2C+Google+Search+grounding%2C+JSON+output%2C+and+streaming.\u0026amp;theme=d910b0d04a2d93f2b29ac00c\u0026amp;signature=d470c2742c824481845035d1fa594c4f82da45cc72f7062715ba070908004329\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Generate content - CometAPI Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Use the Gemini native API format through CometAPI for text generation, video input, thinking summaries, Google Search grounding, JSON output, and streaming.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cometapi.mintlify.site/_mintlify/api/og/v2?division=Text+Models\u0026amp;title=Generate+content\u0026amp;description=Use+the+Gemini+native+API+format+through+CometAPI+for+text+generation%2C+video+input%2C+thinking+summaries%2C+Google+Search+grounding%2C+JSON+output%2C+and+streaming.\u0026amp;theme=d910b0d04a2d93f2b29ac00c\u0026amp;signature=d470c2742c824481845035d1fa594c4f82da45cc72f7062715ba070908004329\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/cometapi/Jhcr00uAqm6Ci9Vs/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"CometAPI Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#00ACE2\">\u003cmeta data-mint-head name=\"author\" content=\"CometAPI\">\u003cmeta data-mint-head name=\"copyright\" content=\"Copyright 2026 CometAPI\">\u003cmeta data-mint-head name=\"category\" content=\"Technology\">\u003cmeta data-mint-head name=\"distribution\" content=\"global\">\u003cmeta data-mint-head name=\"coverage\" content=\"Worldwide\">\u003clink data-mint-head rel=\"canonical\" href=\"https://apidoc.cometapi.com/api/text/gemini-generating-content\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api/text/gemini-generating-content.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://apidoc.cometapi.com/#organization\",\"name\":\"CometAPI Documentation\",\"url\":\"https://apidoc.cometapi.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/cometapi/cmhWX83dzrkf2F-2/logo/comet-light.svg?fit=max\u0026auto=format\u0026n=cmhWX83dzrkf2F-2\u0026q=85\u0026s=7ae2fde0df7785d111912bce23157ef2\"}},{\"@type\":\"WebSite\",\"@id\":\"https://apidoc.cometapi.com#website\",\"name\":\"CometAPI Documentation\",\"url\":\"https://apidoc.cometapi.com\",\"publisher\":{\"@id\":\"https://apidoc.cometapi.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://apidoc.cometapi.com/api/text/gemini-generating-content#webpage\",\"url\":\"https://apidoc.cometapi.com/api/text/gemini-generating-content\",\"name\":\"Generate content\",\"description\":\"Use the Gemini native API format through CometAPI for text generation, video input, thinking summaries, Google Search grounding, JSON output, and streaming.\",\"dateModified\":\"2026-09-07T15:23:21.000Z\",\"isPartOf\":{\"@id\":\"https://apidoc.cometapi.com#website\"},\"breadcrumb\":{\"@id\":\"https://apidoc.cometapi.com/api/text/gemini-generating-content#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://apidoc.cometapi.com/api/text/gemini-generating-content#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Text Models\",\"item\":\"https://apidoc.cometapi.com/api/text\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Generate content\",\"item\":\"https://apidoc.cometapi.com/api/text/gemini-generating-content\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://apidoc.cometapi.com/api/text/gemini-generating-content#apireference\",\"headline\":\"Generate content\",\"name\":\"Generate content\",\"description\":\"Use the Gemini native API format through CometAPI for text generation, video input, thinking summaries, Google Search grounding, JSON output, and streaming.\",\"url\":\"https://apidoc.cometapi.com/api/text/gemini-generating-content\",\"mainEntityOfPage\":{\"@id\":\"https://apidoc.cometapi.com/api/text/gemini-generating-content#webpage\"},\"dateModified\":\"2026-09-07T15:23:21.000Z\",\"keywords\":\"CometAPI, Gemini generateContent, POST /v1beta/models/{model}:{operator}, text generation api, streamGenerateContent sse, thinkingConfig thinkingLevel, Gemini 3.8 Flash, google genai sdk\",\"publisher\":{\"@id\":\"https://apidoc.cometapi.com/#organization\"},\"isPartOf\":{\"@id\":\"https://apidoc.cometapi.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"CometAPI Documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"CometAPI Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api/text/gemini-generating-content.md","siteName":"CometAPI Documentation","nav":{"global":null,"languages":[{"language":"en","tabs":[{"tab":"Docs","pages":[{"title":"Docs","href":""}]},{"tab":"API","groups":[{"group":"Text Models","icon":"message","root":{"title":"Text and chat APIs","sidebarTitle":"Text and chat APIs","href":"/api/text"},"expanded":false,"pages":[{"title":"Create a chat completion","sidebarTitle":"Create a chat completion","openapi":"api/openapi/text/post-chat.openapi.json POST /v1/chat/completions","href":"/api/text/chat"},{"title":"Create a model response","sidebarTitle":"Create a model response","openapi":"api/openapi/text/post-responses.openapi.json POST /v1/responses","href":"/api/text/responses"},{"title":"Create a Message","sidebarTitle":"Create a Message","openapi":"api/openapi/text/post-anthropic-messages.openapi.json POST /v1/messages","description":"Call Claude through the CometAPI Messages endpoint with text and image input, adaptive thinking, prompt caching, streaming, and tools.","href":"/api/text/anthropic-messages"},{"title":"Generate content","sidebarTitle":"Generate content","openapi":"api/openapi/text/post-gemini-generating-content.openapi.json POST /v1beta/models/{model}:{operator}","href":"/api/text/gemini-generating-content"}]},{"group":"Image Models","icon":"image","root":{"title":"Image generation and editing APIs","sidebarTitle":"Image Models","description":"Choose CometAPI image routes for OpenAI-compatible generation and edits, Gemini and Nano Banana, Midjourney, Flux, Bria, Replicate, and Seedream or SeedEdit workflows.","href":"/api/image/index"},"expanded":false,"pages":[{"group":"OpenAI","pages":[{"title":"Create an image","sidebarTitle":"Create an image","openapi":"api/openapi/image/openai/post-images.openapi.json POST /v1/images/generations","href":"/api/image/openai/images"},{"title":"Retrieve an image generation task","sidebarTitle":"Retrieve image task","openapi":"api/openapi/image/openai/get-image-generation-task.openapi.json GET /v1/images/generations/{task_id}","href":"/api/image/openai/image-generation-task"},{"title":"Create image edit","sidebarTitle":"Create image edit","openapi":"api/openapi/image/openai/post-image-editing.openapi.json POST /v1/images/edits","href":"/api/image/openai/image-editing"}]},{"group":"Gemini","pages":[{"title":"Generate images with Gemini","sidebarTitle":"Generate images with Gemini","openapi":"api/openapi/image/gemini/post-gemini-generates-image.openapi.json POST /v1beta/models/{model}:generateContent","href":"/api/image/gemini/gemini-generates-image"},{"title":"Use Gemini image models","sidebarTitle":"Use Gemini image models","href":"/api/image/gemini/generate-image-guide"}]},{"group":"Grok","pages":[{"title":"Generate images with Grok","sidebarTitle":"Generate images","openapi":"api/openapi/image/grok/post-image-generation.openapi.json POST /v1/images/generations","href":"/api/image/grok/image-generation"},{"title":"Edit images with Grok","sidebarTitle":"Edit images","openapi":"api/openapi/image/grok/post-image-editing.openapi.json POST /v1/images/edits","href":"/api/image/grok/image-editing"}]},{"group":"Kling","pages":[{"title":"Generate images with Kling","sidebarTitle":"Generate images with Kling","openapi":"api/openapi/image/kling/post-image-generation.openapi.json POST /kling/v1/images/generations","href":"/api/image/kling/image-generation"},{"title":"Generate a Kling image from multiple images","sidebarTitle":"Generate a Kling image from multiple images","openapi":"api/openapi/image/kling/post-multi-image-to-image.openapi.json POST /kling/v1/images/multi-image2image","href":"/api/image/kling/multi-image-to-image"},{"title":"Expand an image with Kling","sidebarTitle":"Expand an image with Kling","openapi":"api/openapi/image/kling/post-image-expansion.openapi.json POST /kling/v1/images/editing/expand","href":"/api/image/kling/image-expansion"},{"title":"Create a Kling Omni image task","sidebarTitle":"Create a Kling Omni image task","openapi":"api/openapi/image/kling/post-omni-image.openapi.json POST /kling/v1/images/omni-image","href":"/api/image/kling/omni-image"},{"title":"Get a Kling Omni image task","sidebarTitle":"Get a Kling Omni image task","openapi":"api/openapi/image/kling/get-omni-image.openapi.json GET /kling/v1/images/omni-image/{task_id}","href":"/api/image/kling/omni-image-query"}]},{"group":"Midjourney","pages":[{"title":"Start with Midjourney API","sidebarTitle":"Start with Midjourney API","href":"/api/image/midjourney/midjourney-api-quick-start"},{"group":"Task fetching","pages":[{"title":"List Midjourney tasks","sidebarTitle":"List Midjourney tasks","openapi":"api/openapi/image/midjourney/task-fetching-api/post-list-by-condition.openapi.json POST /mj/task/list-by-condition","href":"/api/image/midjourney/task-fetching-api/list-by-condition"},{"title":"Fetch a Midjourney task","sidebarTitle":"Fetch a Midjourney task","openapi":"api/openapi/image/midjourney/task-fetching-api/get-fetch-single-task.openapi.json GET /mj/task/{id}/fetch","href":"/api/image/midjourney/task-fetching-api/fetch-single-task"}]},{"title":"Create a Midjourney imagine task","sidebarTitle":"Create a Midjourney imagine task","openapi":"api/openapi/image/midjourney/post-imagine.openapi.json POST /mj/submit/imagine","href":"/api/image/midjourney/imagine"},{"title":"Create a Midjourney video task","sidebarTitle":"Create a Midjourney video task","openapi":"api/openapi/image/midjourney/post-submit-video.openapi.json POST /mj/submit/video","href":"/api/image/midjourney/submit-video"},{"title":"Create a Midjourney editor task","sidebarTitle":"Create a Midjourney editor task","openapi":"api/openapi/image/midjourney/post-submit-editor.openapi.json POST /mj/submit/edits","href":"/api/image/midjourney/submit-editor"},{"title":"Create a Midjourney action task","sidebarTitle":"Create a Midjourney action task","openapi":"api/openapi/image/midjourney/post-action.openapi.json POST /mj/submit/action","href":"/api/image/midjourney/action"},{"title":"Create a Midjourney blend task","sidebarTitle":"Create a Midjourney blend task","openapi":"api/openapi/image/midjourney/post-blend.openapi.json POST /mj/submit/blend","href":"/api/image/midjourney/blend"},{"title":"Describe an image with Midjourney","sidebarTitle":"Describe an image with Midjourney","openapi":"api/openapi/image/midjourney/post-describe.openapi.json POST /mj/submit/describe","href":"/api/image/midjourney/describe"},{"title":"Create a Midjourney modal task","sidebarTitle":"Create a Midjourney modal task","openapi":"api/openapi/image/midjourney/post-modal.openapi.json POST /mj/submit/modal","href":"/api/image/midjourney/modal"}]},{"group":"Replicate","pages":[{"title":"Create a Replicate prediction","sidebarTitle":"Create a Replicate prediction","openapi":"api/openapi/image/replicate/post-create-predictions-general.openapi.json POST /replicate/v1/models/{models}/predictions","href":"/api/image/replicate/create-predictions-general"},{"title":"Get a Replicate prediction","sidebarTitle":"Get a Replicate prediction","openapi":"api/openapi/image/replicate/get-replicate-query.openapi.json GET /replicate/v1/predictions/{id}","href":"/api/image/replicate/replicate-query"}]},{"group":"Seedream","pages":[{"title":"Create a Seedream image task","sidebarTitle":"Create image task","openapi":"api/openapi/image/seededit-seedream/post-bytedance-image-generation.openapi.json POST /v1/images/generations","href":"/api/image/seededit-seedream/bytedance-image-generation"},{"title":"Retrieve a Seedream image task","sidebarTitle":"Retrieve image task","openapi":"api/openapi/image/seededit-seedream/get-bytedance-image-generation-task.openapi.json GET /v1/images/generations/{task_id}","href":"/api/image/seededit-seedream/bytedance-image-generation-task"}]},{"group":"Flux","pages":[{"title":"Generate a FLUX image","sidebarTitle":"Generate a FLUX image","openapi":"api/openapi/image/flux/post-flux-generate-image.openapi.json POST /flux/v1/{model}","href":"/api/image/flux/flux-generate-image"},{"title":"Get a FLUX image result","sidebarTitle":"Get a FLUX image result","openapi":"api/openapi/image/flux/get-flux-query.openapi.json GET /flux/v1/get_result","href":"/api/image/flux/flux-query"}]}]},{"group":"Video Models","icon":"video","root":{"title":"Video generation APIs","sidebarTitle":"Video Models","href":"/api/video/index"},"expanded":false,"pages":[{"group":"Seedance","pages":[{"title":"Create a Seedance video","sidebarTitle":"Create a Seedance video","openapi":"api/openapi/video/seedance/post-seedance-create.openapi.json POST /v1/videos","href":"/api/video/seedance/create"},{"title":"Retrieve a Seedance video","sidebarTitle":"Retrieve a Seedance video","openapi":"api/openapi/video/seedance/get-seedance-query.openapi.json GET /v1/videos/{id}","href":"/api/video/seedance/query"}]},{"group":"HappyHorse","pages":[{"title":"Create a HappyHorse video","sidebarTitle":"Create a HappyHorse video","openapi":"api/openapi/video/happyhorse/post-create.openapi.json POST /v1/videos","href":"/api/video/happyhorse/create"},{"title":"Retrieve a HappyHorse video","sidebarTitle":"Retrieve a HappyHorse video","openapi":"api/openapi/video/happyhorse/get-retrieve.openapi.json GET /v1/videos/{task_id}","href":"/api/video/happyhorse/retrieve"},{"title":"Download HappyHorse video content","sidebarTitle":"Download HappyHorse video content","openapi":"api/openapi/video/happyhorse/get-retrieve-content.openapi.json GET /v1/videos/{task_id}/content","href":"/api/video/happyhorse/retrieve-content"}]},{"group":"MiniMax H3","pages":[{"title":"Create a MiniMax H3 video","sidebarTitle":"Create a MiniMax H3 video","openapi":"api/openapi/video/minimax-h3/post-create.openapi.json POST /v1/videos","href":"/api/video/minimax-h3/create"},{"title":"Retrieve a MiniMax H3 video","sidebarTitle":"Retrieve a MiniMax H3 video","openapi":"api/openapi/video/minimax-h3/get-retrieve.openapi.json GET /v1/videos/{task_id}","href":"/api/video/minimax-h3/retrieve"},{"title":"Download MiniMax H3 video content","sidebarTitle":"Download MiniMax H3 video content","openapi":"api/openapi/video/minimax-h3/get-retrieve-content.openapi.json GET /v1/videos/{task_id}/content","href":"/api/video/minimax-h3/retrieve-content"}]},{"group":"Flux 3","pages":[{"title":"Create a Flux 3 video","sidebarTitle":"Create a Flux 3 video","openapi":"api/openapi/video/flux-3/post-create.openapi.json POST /v1/videos","href":"/api/video/flux-3/create"},{"title":"Retrieve a Flux 3 video","sidebarTitle":"Retrieve a Flux 3 video","openapi":"api/openapi/video/flux-3/get-retrieve.openapi.json GET /v1/videos/{task_id}","href":"/api/video/flux-3/retrieve"},{"title":"Download Flux 3 video content","sidebarTitle":"Download Flux 3 video content","openapi":"api/openapi/video/flux-3/get-retrieve-content.openapi.json GET /v1/videos/{task_id}/content","href":"/api/video/flux-3/retrieve-content"}]},{"group":"Veo 3","pages":[{"title":"Create a Veo 3 video","sidebarTitle":"Create a Veo 3 video","openapi":"api/openapi/video/veo3/post-create.openapi.json POST /v1/videos","href":"/api/video/veo3/create"},{"title":"Retrieve a Veo 3 video","sidebarTitle":"Retrieve a Veo 3 video","openapi":"api/openapi/video/veo3/get-retrieve.openapi.json GET /v1/videos/{video_id}","href":"/api/video/veo3/retrieve"}]},{"group":"Wan","pages":[{"title":"Create a Wan video","sidebarTitle":"Create a Wan video","openapi":"api/openapi/video/wan/post-create.openapi.json POST /v1/videos","href":"/api/video/wan/create"},{"title":"Retrieve a Wan video","sidebarTitle":"Retrieve a Wan video","openapi":"api/openapi/video/wan/get-retrieve.openapi.json GET /v1/videos/{task_id}","href":"/api/video/wan/retrieve"},{"title":"Download Wan video content","sidebarTitle":"Download Wan video content","openapi":"api/openapi/video/wan/get-retrieve-content.openapi.json GET /v1/videos/{task_id}/content","href":"/api/video/wan/retrieve-content"}]},{"group":"xAI","pages":[{"title":"Create a video with Grok","sidebarTitle":"Create a Grok video","openapi":"api/openapi/video/xai/post-video-generation.openapi.json POST /grok/v1/videos/generations","href":"/api/video/xai/video-generation"},{"title":"Create an xAI video edit","sidebarTitle":"Create an xAI video edit","openapi":"api/openapi/video/xai/post-video-edit.openapi.json POST /grok/v1/videos/edits","href":"/api/video/xai/video-edit"},{"title":"Get xAI video results","sidebarTitle":"Get xAI video results","openapi":"api/openapi/video/xai/get-get-video-generation-results.openapi.json GET /grok/v1/videos/{request_id}","href":"/api/video/xai/get-video-generation-results"}]},{"group":"Vidu","pages":[{"title":"Create a Vidu video","sidebarTitle":"Create a Vidu video","openapi":"api/openapi/video/vidu/post-create.openapi.json POST /v1/videos","href":"/api/video/vidu/create"},{"title":"Retrieve a Vidu video","sidebarTitle":"Retrieve a Vidu video","openapi":"api/openapi/video/vidu/get-retrieve.openapi.json GET /v1/videos/{task_id}","href":"/api/video/vidu/retrieve"},{"title":"Download Vidu video content","sidebarTitle":"Download Vidu video content","openapi":"api/openapi/video/vidu/get-retrieve-content.openapi.json GET /v1/videos/{task_id}/content","href":"/api/video/vidu/retrieve-content"}]},{"group":"Omni","tag":"Beta","pages":[{"title":"Create an Omni video from text, image, or video","sidebarTitle":"Create an Omni video","openapi":"api/openapi/video/omni/post-create.openapi.json POST /v1/videos","href":"/api/video/omni/create"},{"title":"Retrieve an Omni video","sidebarTitle":"Retrieve an Omni video","openapi":"api/openapi/video/omni/get-retrieve.openapi.json GET /v1/videos/{task_id}","href":"/api/video/omni/retrieve"},{"title":"Download Omni video content","sidebarTitle":"Download Omni video content","openapi":"api/openapi/video/omni/get-retrieve-content.openapi.json GET /v1/videos/{task_id}/content","href":"/api/video/omni/retrieve-content"}]},{"group":"Kling","pages":[{"group":"Multimodal video editing","pages":[{"title":"Initialize a Kling editing session","sidebarTitle":"Initialize a Kling editing session","openapi":"api/openapi/video/kling/multimodal-video-editing/post-initialize-video-for-editing.openapi.json POST /kling/v1/videos/multi-elements/init-selection","href":"/api/video/kling/multimodal-video-editing/initialize-video-for-editing"},{"title":"Add Kling video selection","sidebarTitle":"Add Kling video selection","openapi":"api/openapi/video/kling/multimodal-video-editing/post-add-video-selection.openapi.json POST /kling/v1/videos/multi-elements/add-selection","href":"/api/video/kling/multimodal-video-editing/add-video-selection"},{"title":"Delete Kling video selection","sidebarTitle":"Delete Kling video selection","openapi":"api/openapi/video/kling/multimodal-video-editing/post-delete-video-selection.openapi.json POST /kling/v1/videos/multi-elements/delete-selection","href":"/api/video/kling/multimodal-video-editing/delete-video-selection"},{"title":"Clear Kling video selection","sidebarTitle":"Clear Kling video selection","openapi":"api/openapi/video/kling/multimodal-video-editing/post-clear-video-selection.openapi.json POST /kling/v1/videos/multi-elements/clear-selection","href":"/api/video/kling/multimodal-video-editing/clear-video-selection"},{"title":"Preview Kling video selection","sidebarTitle":"Preview Kling video selection","openapi":"api/openapi/video/kling/multimodal-video-editing/post-preview-selected-video-area.openapi.json POST /kling/v1/videos/multi-elements/preview-selection","href":"/api/video/kling/multimodal-video-editing/preview-selected-video-area"},{"title":"Create a Kling multimodal edit task","sidebarTitle":"Create a Kling multimodal edit task","openapi":"api/openapi/video/kling/multimodal-video-editing/post-create-task.openapi.json POST /kling/v1/videos/multi-elements","href":"/api/video/kling/multimodal-video-editing/create-task"}]},{"group":"Model routes","pages":[{"title":"Create a Kling text-to-video task by model","sidebarTitle":"Text to video","openapi":"api/openapi/video/kling/model-routes/post-text-to-video.openapi.json POST /text-to-video/{model}","href":"/api/video/kling/model-routes/text-to-video"},{"title":"Create a Kling image-to-video task by model","sidebarTitle":"Image to video","openapi":"api/openapi/video/kling/model-routes/post-image-to-video.openapi.json POST /image-to-video/{model}","href":"/api/video/kling/model-routes/image-to-video"},{"title":"Create a Kling Omni video","sidebarTitle":"Omni video","openapi":"api/openapi/video/kling/model-routes/post-omni-video.openapi.json POST /omni-video/{model}","href":"/api/video/kling/model-routes/omni-video"},{"title":"Create a Kling motion-control video","sidebarTitle":"Motion control","openapi":"api/openapi/video/kling/model-routes/post-motion-control.openapi.json POST /motion-control/{model}","href":"/api/video/kling/model-routes/motion-control"},{"title":"Get a Kling model-route task","sidebarTitle":"Get a Kling task","openapi":"api/openapi/video/kling/model-routes/get-tasks.openapi.json GET /tasks","href":"/api/video/kling/model-routes/tasks"}]},{"title":"Create a Kling text-to-video task","sidebarTitle":"Create a Kling text-to-video task","openapi":"api/openapi/video/kling/post-text-to-video.openapi.json POST /kling/v1/videos/text2video","href":"/api/video/kling/text-to-video"},{"title":"Create a Kling image-to-video task","sidebarTitle":"Create a Kling image-to-video task","openapi":"api/openapi/video/kling/post-image-to-video.openapi.json POST /kling/v1/videos/image2video","href":"/api/video/kling/image-to-video"},{"title":"Create a Kling Motion Control task","sidebarTitle":"Create a Kling Motion Control task","openapi":"api/openapi/video/kling/post-motion-control.openapi.json POST /kling/v1/videos/motion-control","href":"/api/video/kling/motion-control"},{"title":"Create a Kling multi-image video task","sidebarTitle":"Create a Kling multi-image video task","openapi":"api/openapi/video/kling/post-multi-image-to-video.openapi.json POST /kling/v1/videos/multi-image2video","href":"/api/video/kling/multi-image-to-video"},{"title":"Extend a Kling video","sidebarTitle":"Extend a Kling video","openapi":"api/openapi/video/kling/post-video-extension.openapi.json POST /kling/v1/videos/video-extend","href":"/api/video/kling/video-extension"},{"title":"Create Kling speech","sidebarTitle":"Create Kling speech","openapi":"api/openapi/video/kling/post-tts.openapi.json POST /kling/v1/audio/tts","href":"/api/video/kling/tts"},{"title":"Create a Kling avatar video","sidebarTitle":"Create a Kling avatar video","openapi":"api/openapi/video/kling/post-avatar.openapi.json POST /kling/v1/videos/avatar/image2video","href":"/api/video/kling/avatar"},{"title":"Identify faces for Kling lip-sync","sidebarTitle":"Identify faces for Kling lip-sync","openapi":"api/openapi/video/kling/post-lip-sync.openapi.json POST /kling/v1/videos/identify-face","href":"/api/video/kling/lip-sync"},{"title":"Create a Kling advanced lip-sync task","sidebarTitle":"Create a Kling advanced lip-sync task","openapi":"api/openapi/video/kling/post-counterpart-creating-tasks.openapi.json POST /kling/v1/videos/advanced-lip-sync","href":"/api/video/kling/counterpart-creating-tasks"},{"title":"Apply Kling video effects","sidebarTitle":"Apply Kling video effects","openapi":"api/openapi/video/kling/post-video-effects.openapi.json POST /kling/v1/videos/effects","href":"/api/video/kling/video-effects"},{"title":"Create Kling text-to-audio","sidebarTitle":"Create Kling text-to-audio","openapi":"api/openapi/video/kling/post-text-to-audio.openapi.json POST /kling/v1/audio/text-to-audio","href":"/api/video/kling/text-to-audio"},{"title":"Create Kling video-to-audio","sidebarTitle":"Create Kling video-to-audio","openapi":"api/openapi/video/kling/post-video-to-audio.openapi.json POST /kling/v1/audio/video-to-audio","href":"/api/video/kling/video-to-audio"},{"title":"Recognize images with Kling","sidebarTitle":"Recognize images with Kling","openapi":"api/openapi/video/kling/post-image-recognize.openapi.json POST /kling/v1/videos/image-recognize","href":"/api/video/kling/image-recognize"},{"title":"Get a Kling task","sidebarTitle":"Get a Kling task","openapi":"api/openapi/video/kling/get-individual-queries.openapi.json GET /kling/v1/{action}/{action2}/{task_id}","href":"/api/video/kling/individual-queries"},{"title":"Create a Kling Omni video","sidebarTitle":"Create a Kling Omni video","openapi":"api/openapi/video/kling/post-omni-video.openapi.json POST /kling/v1/videos/omni-video","href":"/api/video/kling/omni-video"},{"title":"Get a Kling Omni video","sidebarTitle":"Get a Kling Omni video","openapi":"api/openapi/video/kling/get-omni-query.openapi.json GET /kling/v1/videos/omni-video/{task_id}","href":"/api/video/kling/omni-query"},{"title":"Use Kling callback URLs","sidebarTitle":"Use Kling callback URLs","href":"/api/video/kling/callback_url"}]},{"group":"Runway","pages":[{"title":"Runway API overview","sidebarTitle":"Overview","href":"/api/video/runway/overview"},{"group":"Images","pages":[{"title":"Create a Runway image","sidebarTitle":"Create a Runway image","openapi":"api/openapi/video/runway/official-format/post-generate-an-image-from-text.openapi.json POST /runwayml/v1/text_to_image","href":"/api/video/runway/official-format/generate-an-image-from-text"}]},{"group":"Videos","pages":[{"title":"Create a Runway image-to-video task","sidebarTitle":"Create a Runway image-to-video task","openapi":"api/openapi/video/runway/official-format/post-runway-images-raw-video.openapi.json POST /runwayml/v1/image_to_video","href":"/api/video/runway/official-format/runway-images-raw-video"},{"title":"Create a Runway text-to-video task","sidebarTitle":"Create a Runway text-to-video task","openapi":"api/openapi/video/runway/official-format/post-generate-a-video-from-text.openapi.json POST /runwayml/v1/text_to_video","href":"/api/video/runway/official-format/generate-a-video-from-text"},{"title":"Create a Runway video-to-video task","sidebarTitle":"Create a Runway video-to-video task","openapi":"api/openapi/video/runway/official-format/post-generate-a-video-from-a-video.openapi.json POST /runwayml/v1/video_to_video","href":"/api/video/runway/official-format/generate-a-video-from-a-video"},{"title":"Create a Runway character performance","sidebarTitle":"Create a Runway character performance","openapi":"api/openapi/video/runway/official-format/post-control-a-character.openapi.json POST /runwayml/v1/character_performance","href":"/api/video/runway/official-format/control-a-character"},{"title":"Upscale a Runway video","sidebarTitle":"Upscale a Runway video","openapi":"api/openapi/video/runway/official-format/post-upscale-a-video.openapi.json POST /runwayml/v1/video_upscale","href":"/api/video/runway/official-format/upscale-a-video"}]},{"group":"Audio","pages":[{"title":"Generate Runway sound effects","sidebarTitle":"Generate Runway sound effects","openapi":"api/openapi/video/runway/official-format/post-generate-sound-effects.openapi.json POST /runwayml/v1/sound_effect","href":"/api/video/runway/official-format/generate-sound-effects"},{"title":"Generate Runway speech from text","sidebarTitle":"Generate Runway speech from text","openapi":"api/openapi/video/runway/official-format/post-generate-speech-from-text.openapi.json POST /runwayml/v1/text_to_speech","href":"/api/video/runway/official-format/generate-speech-from-text"},{"title":"Convert Runway speech","sidebarTitle":"Convert Runway speech","openapi":"api/openapi/video/runway/official-format/post-convert-speech.openapi.json POST /runwayml/v1/speech_to_speech","href":"/api/video/runway/official-format/convert-speech"},{"title":"Dub Runway audio","sidebarTitle":"Dub Runway audio","openapi":"api/openapi/video/runway/official-format/post-dub-audio.openapi.json POST /runwayml/v1/voice_dubbing","href":"/api/video/runway/official-format/dub-audio"},{"title":"Isolate a Runway voice","sidebarTitle":"Isolate a Runway voice","openapi":"api/openapi/video/runway/official-format/post-isolate-voice.openapi.json POST /runwayml/v1/voice_isolation","href":"/api/video/runway/official-format/isolate-voice"}]},{"group":"Tasks","pages":[{"title":"Get a Runway task","sidebarTitle":"Get a Runway task","openapi":"api/openapi/video/runway/official-format/get-runway-to-get-task-details.openapi.json GET /runwayml/v1/tasks/{id}","href":"/api/video/runway/official-format/runway-to-get-task-details"}]}]}]},{"group":"Audio Models","icon":"volume-high","root":{"title":"Audio APIs","sidebarTitle":"Audio Models","href":"/api/audio/index"},"expanded":false,"pages":[{"title":"Create speech","sidebarTitle":"Create speech","openapi":"api/openapi/audio/post-create-speech.openapi.json POST /v1/audio/speech","href":"/api/audio/create-speech"},{"title":"Create transcription","sidebarTitle":"Create transcription","openapi":"api/openapi/audio/post-create-transcription.openapi.json POST /v1/audio/transcriptions","href":"/api/audio/create-transcription"},{"title":"Create translation","sidebarTitle":"Create translation","openapi":"api/openapi/audio/post-create-translation.openapi.json POST /v1/audio/translations","href":"/api/audio/create-translation"}]},{"group":"Embeddings","icon":"database","root":{"title":"Embeddings API","sidebarTitle":"Embeddings","href":"/api/embeddings/index"},"expanded":false,"pages":[{"title":"Create embeddings","sidebarTitle":"Create embeddings","openapi":"api/openapi/text/post-embeddings.openapi.json POST /v1/embeddings","href":"/api/text/embeddings"}]},{"group":"Content moderation","icon":"shield-check","expanded":false,"pages":[{"title":"Create a moderation","sidebarTitle":"Create a moderation","openapi":"api/openapi/content-moderation/create-moderation.openapi.json POST /v1/moderations","href":"/api/content-moderation/create-moderation"}]},{"group":"API keys","icon":"key","expanded":false,"pages":[{"title":"Get current API key","sidebarTitle":"Get current API key","openapi":"api/openapi/api-keys/get-current-api-key.openapi.json GET /api/usage/token","href":"/api/api-keys/get-current-api-key"},{"title":"List API keys","sidebarTitle":"List API keys","openapi":"api/openapi/api-keys/list-api-keys.openapi.json GET /api/token/","href":"/api/api-keys/list-api-keys"},{"title":"Create an API key","sidebarTitle":"Create an API key","openapi":"api/openapi/api-keys/create-api-key.openapi.json POST /api/token/","href":"/api/api-keys/create-api-key"},{"title":"Retrieve an API key","sidebarTitle":"Retrieve an API key","openapi":"api/openapi/api-keys/get-api-key.openapi.json GET /api/token/{id}","href":"/api/api-keys/get-api-key"},{"title":"Delete an API key","sidebarTitle":"Delete an API key","openapi":"api/openapi/api-keys/delete-api-key.openapi.json DELETE /api/token/{id}","href":"/api/api-keys/delete-api-key"},{"title":"Update an API key","sidebarTitle":"Update an API key","openapi":"api/openapi/api-keys/update-api-key.openapi.json PUT /api/token/","href":"/api/api-keys/update-api-key"}]}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/integrations"}]}]},{"language":"zh-Hans","pages":[{"title":"zh-Hans","href":"/zh-Hans/api/text/gemini-generating-content"}]},{"language":"zh-Hant","pages":[{"title":"zh-Hant","href":"/zh-Hant/api/text/gemini-generating-content"}]},{"language":"ja","pages":[{"title":"ja","href":"/ja/api/text/gemini-generating-content"}]},{"language":"ko","pages":[{"title":"ko","href":"/ko/api/text/gemini-generating-content"}]},{"language":"fr","pages":[{"title":"fr","href":"/fr/api/text/gemini-generating-content"}]},{"language":"de","pages":[{"title":"de","href":"/de/api/text/gemini-generating-content"}]},{"language":"es","pages":[{"title":"es","href":"/es/api/text/gemini-generating-content"}]},{"language":"it","pages":[{"title":"it","href":"/it/api/text/gemini-generating-content"}]},{"language":"pt","pages":[{"title":"pt","href":"/pt/api/text/gemini-generating-content"}]},{"language":"ru","pages":[{"title":"ru","href":"/ru/api/text/gemini-generating-content"}]},{"language":"ar","pages":[{"title":"ar","href":"/ar/api/text/gemini-generating-content"}]},{"language":"vi","pages":[{"title":"vi","href":"/vi/api/text/gemini-generating-content"}]},{"language":"id","pages":[{"title":"id","href":"/id/api/text/gemini-generating-content"}]},{"language":"tr","pages":[{"title":"tr","href":"/tr/api/text/gemini-generating-content"}]},{"language":"pl","pages":[{"title":"pl","href":"/pl/api/text/gemini-generating-content"}]},{"language":"nl","pages":[{"title":"nl","href":"/nl/api/text/gemini-generating-content"}]},{"language":"no","pages":[{"title":"no","href":"/no/api/text/gemini-generating-content"}]},{"language":"uk","pages":[{"title":"uk","href":"/uk/api/text/gemini-generating-content"}]}]},"basePath":"","title":"Generate content - CometAPI Documentation","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-CybtLBIt.js","utils-BMLj2fvV.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-B6In562Y.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dr8Mfhp9.js","snippetPresets-2rmQvMVl.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","Page-C4GwDT3_.js","ApiExamples-WMqJYdZj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CJ-MlPHu.js","shallow-dY3TMRCk.js","getApiPlaygroundDisplay-v-1B2bKm.js","CodeSnippet-BDhiTB7U.js","CodeSnippets-D9hnzQcS.js","getPastedJson-Th2V45jI.js","icon-BQXch1W9.js","MethodPill-BCqUneP3.js","DuplicateIcon-Q_-bhurZ.js","createIcon-DUjLHRqp.js","DynamicMarkdown-B-f2cqXQ.js","SectionHeading-Da5NsV4v.js","axios-vUo_bRtp.js","Markdown-D13FWkIM.js","clsx-D3Isdib3.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-C-XZBk9h.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink--qIqmmVG.js"]}