Python 88.3%
TypeScript 7.6%
Shell 4.1%
1[2 {3 "provider": "gemini",4 "object": "GenerateContentResponse (image part)",5 "api_family": "image-generation",6 "description": "Response of a native image generation call: candidates[0].content.parts[] mixes text parts and inlineData image parts; usageMetadata reports image output tokens (1120 for 1K on 3.1 models, 1290 on 2.5-flash-image, 2000 for 4K on 3-pro).",7 "fields": {8 "candidates[].content.parts[].text": "string (optional narration)",9 "candidates[].content.parts[].inlineData.mimeType": "image/png (observed) | image/jpeg",10 "candidates[].content.parts[].inlineData.data": "base64",11 "candidates[].content.parts[].thought": "bool (thought images on Gemini 3, not charged)",12 "candidates[].finishReason": "STOP | IMAGE_SAFETY | …",13 "usageMetadata.promptTokenCount": "int",14 "usageMetadata.candidatesTokenCount": "int (image tokens)",15 "usageMetadata.candidatesTokensDetails[]": "{modality: IMAGE|TEXT, tokenCount}",16 "usageMetadata.thoughtsTokenCount": "int"17 },18 "status": [19 "DOCUMENTED",20 "ACCOUNT_RESTRICTED"21 ],22 "example": {23 "error": {24 "code": 429,25 "message": "You exceeded your current quota, please check your plan and billing details. For more information on this error, head to: https://ai.google.dev/gemini-api/docs/rate-limits. To monitor your current usage, head to: https://ai.dev/rate-limit. \n* Quota exceeded for metric: generativelanguage.googleapis.com/generate_content_free_tier_input_token_count, limit: 0, model: gemini-3.1-flash-lite-image\n* Quota exceeded for metric: generativelanguage.googleapis.com/generate_content_free_tier_requests, limit: 0, model: gemini-3.1-flash-lite-image\n* Quota exceeded for metric: generativelanguage.googleapis.com/generate_content_free_tier_requests, limit: 0, model: gemini-3.1-flash-lite-image\nPlease retry in 40.808490523s.",26 "status": "RESOURCE_EXHAUSTED",27 "details": [28 {29 "@type": "type.googleapis.com/google.rpc.Help",30 "links": [31 {32 "description": "Learn more about Gemini API quotas",33 "url": "https://ai.google.dev/gemini-api/docs/rate-limits"34 }35 ]36 },37 {38 "@type": "type.googleapis.com/google.rpc.QuotaFailure",39 "violations": [40 {41 "quotaMetric": "generativelanguage.googleapis.com/generate_content_free_tier_input_token_count",42 "quotaId": "GenerateContentInputTokensPerModelPerMinute-FreeTier",43 "quotaDimensions": {44 "location": "global",45 "model": "gemini-3.1-flash-lite-image"46 }47 },48 {49 "quotaMetric": "generativelanguage.googleapis.com/generate_content_free_tier_requests",50 "quotaId": "GenerateRequestsPerMinutePerProjectPerModel-FreeTier",51 "quotaDimensions": {52 "location": "global",53 "model": "gemini-3.1-flash-lite-image"54 }55 },56 {57 "quotaMetric": "generativelanguage.googleapis.com/generate_content_free_tier_requests",58 "quotaId": "GenerateRequestsPerDayPerProjectPerModel-FreeTier",59 "quotaDimensions": {60 "location": "global",61 "model": "gemini-3.1-flash-lite-image"62 }63 }64 ]65 },66 {67 "@type": "type.googleapis.com/google.rpc.RetryInfo",68 "retryDelay": "40s"69 }70 ]71 }72 },73 "notes": "Not obtainable with this key: HTTP 429 RESOURCE_EXHAUSTED: You exceeded your current quota, please check your plan and billing details. For more information on this error, head to: https://ai.google.dev/gemini-api/docs/rate-limits. To monitor your current usage, head to: https://ai.dev/rate-limit. \n* Quota exceeded for metric: generativelanguage.googleapis. (also gemini-2.5-flash-image -> HTTP 429). Field list from the image-generation guide and GenerateContentResponse reference; token counts from the guide's aspect-ratio tables.",74 "sources": [75 {76 "url": "https://ai.google.dev/gemini-api/docs/image-generation",77 "retrieved_at": "2026-09-18"78 },79 {80 "url": "https://ai.google.dev/api/generate-content",81 "retrieved_at": "2026-09-18"82 }83 ]84 },85 {86 "provider": "gemini",87 "object": "PredictRequest / PredictResponse",88 "api_family": "image-generation",89 "description": "Generic prediction envelope used by Imagen (retired) and predictLongRunning (Veo).",90 "fields": {91 "instances[]": "any[] (required)",92 "parameters": "any",93 "labels": "map<string,string>",94 "predictions[] (response)": "any[]"95 },96 "status": [97 "DOCUMENTED",98 "LEGACY"99 ],100 "example": null,101 "notes": null,102 "sources": [103 {104 "url": "https://generativelanguage.googleapis.com/$discovery/rest?version=v1beta",105 "retrieved_at": "2026-09-18"106 },107 {108 "url": "https://ai.google.dev/api/models",109 "retrieved_at": "2026-09-18"110 }111 ]112 },113 {114 "provider": "gemini",115 "object": "Operation",116 "api_family": "operations",117 "description": "google.longrunning.Operation returned by predictLongRunning, batchGenerateContent, asyncBatchEmbedContent, tunedModels.create. done=false while running; when done exactly one of error/response is set.",118 "fields": {119 "name": "string (models/{m}/operations/{id} | batches/{id} | tunedModels/{id}/operations/{id})",120 "metadata": "object with @type (Veo: none/progress; batch: GenerateContentBatch|EmbedContentBatch; tuning: CreateTunedModelMetadata)",121 "done": "boolean",122 "error": "Status {code, message, details[]}",123 "response": "object with @type (GenerateVideoResponse | batch output | TunedModel)"124 },125 "status": [126 "DOCUMENTED",127 "ACCOUNT_RESTRICTED"128 ],129 "example": {130 "error": {131 "code": 400,132 "message": "Precondition check failed.",133 "status": "FAILED_PRECONDITION"134 }135 },136 "notes": "Live example: Operation returned by batchGenerateContent (metadata = GenerateContentBatch).",137 "sources": [138 {139 "url": "https://ai.google.dev/api/batch-api",140 "retrieved_at": "2026-09-18"141 },142 {143 "url": "https://generativelanguage.googleapis.com/$discovery/rest?version=v1beta",144 "retrieved_at": "2026-09-18"145 }146 ]147 },148 {149 "provider": "gemini",150 "object": "Status (google.rpc.Status)",151 "api_family": "operations",152 "description": "Error model used in Operation.error, InlinedResponse.error, GeneratedFile.error and HTTP error bodies ({error:{code,message,status,details[]}}).",153 "fields": {154 "code": "int (google.rpc.Code; 1 = CANCELLED)",155 "message": "string",156 "details[]": "object[] with @type"157 },158 "status": [159 "DOCUMENTED",160 "LIVE_VERIFIED"161 ],162 "example": {163 "error": {164 "code": 403,165 "message": "You do not have permission to access the Operation with ID bogus-op or it may not exist.",166 "status": "PERMISSION_DENIED"167 }168 },169 "notes": "Live example: GET bogus models/…/operations/… error body.",170 "sources": [171 {172 "url": "https://ai.google.dev/api/files",173 "retrieved_at": "2026-09-18"174 },175 {176 "url": "https://generativelanguage.googleapis.com/$discovery/rest?version=v1beta",177 "retrieved_at": "2026-09-18"178 }179 ]180 },181 {182 "provider": "gemini",183 "object": "GenerateVideoResponse / GeneratedVideo (Veo operation response)",184 "api_family": "video-generation",185 "description": "Operation.response for Veo. REST shape: response.generateVideoResponse.generatedSamples[].video.uri; SDK GenerateVideosResponse: generated_videos[].video.{uri, video_bytes, mime_type}, rai_media_filtered_count, rai_media_filtered_reasons[].",186 "fields": {187 "response.@type": "type.googleapis.com/google.ai.generativelanguage.v1beta.PredictLongRunningResponse",188 "response.generateVideoResponse.generatedSamples[].video.uri": "https://generativelanguage.googleapis.com/v1beta/files/{id}:download?alt=media",189 "response.generateVideoResponse.raiMediaFilteredCount": "int",190 "response.generateVideoResponse.raiMediaFilteredReasons[]": "string[]",191 "video.mimeType": "video/mp4",192 "video (SDK)": "{uri, video_bytes, mime_type} — reusable as instances[].video for extension"193 },194 "status": [195 "DOCUMENTED",196 "UNVERIFIED"197 ],198 "example": {199 "name": "models/veo-3.1-generate-preview/operations/abc123",200 "done": true,201 "response": {202 "@type": "type.googleapis.com/google.ai.generativelanguage.v1beta.PredictLongRunningResponse",203 "generateVideoResponse": {204 "generatedSamples": [205 {206 "video": {207 "uri": "https://generativelanguage.googleapis.com/v1beta/files/xyz:download?alt=media"208 }209 }210 ]211 }212 }213 },214 "notes": "Example assembled from the Veo guide (jq path) and SDK types; not generated live (cost).",215 "sources": [216 {217 "url": "https://ai.google.dev/gemini-api/docs/veo",218 "retrieved_at": "2026-09-18"219 },220 {221 "url": "https://github.com/googleapis/python-genai/blob/main/google/genai/types.py",222 "retrieved_at": "2026-09-18"223 }224 ]225 },226 {227 "provider": "gemini",228 "object": "VideoGenerationReferenceImage / Image / Video (Veo inputs)",229 "api_family": "video-generation",230 "description": "Input objects for predictLongRunning instances.",231 "fields": {232 "Image": "{inlineData:{mimeType,data}} (docs) | SDK Image {image_bytes, mime_type, gcs_uri}",233 "Video": "{inlineData:{mimeType:'video/mp4',data}} | {uri} from a previous generation",234 "VideoGenerationReferenceImage": "{image: Image, referenceType: 'asset'|'style'}"235 },236 "status": [237 "DOCUMENTED"238 ],239 "example": null,240 "notes": null,241 "sources": [242 {243 "url": "https://ai.google.dev/gemini-api/docs/veo",244 "retrieved_at": "2026-09-18"245 },246 {247 "url": "https://github.com/googleapis/python-genai/blob/main/google/genai/types.py",248 "retrieved_at": "2026-09-18"249 }250 ]251 },252 {253 "provider": "gemini",254 "object": "GeneratedFile / ListGeneratedFilesResponse",255 "api_family": "files",256 "description": "Files generated on behalf of the project (e.g. Veo outputs).",257 "fields": {258 "name": "generatedFiles/{id}",259 "state": "STATE_UNSPECIFIED | GENERATING | GENERATED | FAILED",260 "mimeType": "string",261 "error": "Status",262 "generatedFiles[] / nextPageToken (list)": ""263 },264 "status": [265 "DOCUMENTED",266 "LIVE_VERIFIED"267 ],268 "example": {},269 "notes": "Live list result recorded (empty list expected when no videos were generated).",270 "sources": [271 {272 "url": "https://generativelanguage.googleapis.com/$discovery/rest?version=v1beta",273 "retrieved_at": "2026-09-18"274 },275 {276 "url": "https://ai.google.dev/api/all-methods",277 "retrieved_at": "2026-09-18"278 }279 ]280 },281 {282 "provider": "gemini",283 "object": "GenerateContentResponse (music, Lyria 3)",284 "api_family": "music-generation",285 "description": "Lyria via generateContent: parts with text (lyrics / JSON song structure) and an audio inlineData part.",286 "fields": {287 "candidates[].content.parts[].text": "lyrics / structure",288 "candidates[].content.parts[].inlineData.mimeType": "audio/mpeg (MP3) — documented, not observed",289 "candidates[].content.parts[].inlineData.data": "base64 MP3 44.1 kHz stereo (30 s clip)",290 "usageMetadata": "token counts"291 },292 "status": [293 "DOCUMENTED",294 "PREVIEW",295 "ACCOUNT_RESTRICTED"296 ],297 "example": {298 "error": {299 "code": 429,300 "message": "You exceeded your current quota, please check your plan and billing details. For more information on this error, head to: https://ai.google.dev/gemini-api/docs/rate-limits. To monitor your current usage, head to: https://ai.dev/rate-limit. \n* Quota exceeded for metric: generativelanguage.googleapis.com/generate_content_free_tier_requests, limit: 0, model: lyria-3-clip\n* Quota exceeded for metric: generativelanguage.googleapis.com/generate_content_free_tier_requests, limit: 0, model: lyria-3-clip\n* Quota exceeded for metric: generativelanguage.googleapis.com/generate_content_free_tier_input_token_count, limit: 0, model: lyria-3-clip\nPlease retry in 34.145529939s.",301 "status": "RESOURCE_EXHAUSTED",302 "details": [303 {304 "@type": "type.googleapis.com/google.rpc.Help",305 "links": [306 {307 "description": "Learn more about Gemini API quotas",308 "url": "https://ai.google.dev/gemini-api/docs/rate-limits"309 }310 ]311 },312 {313 "@type": "type.googleapis.com/google.rpc.QuotaFailure",314 "violations": [315 {316 "quotaMetric": "generativelanguage.googleapis.com/generate_content_free_tier_requests",317 "quotaId": "GenerateRequestsPerDayPerProjectPerModel-FreeTier",318 "quotaDimensions": {319 "location": "global",320 "model": "lyria-3-clip"321 }322 },323 {324 "quotaMetric": "generativelanguage.googleapis.com/generate_content_free_tier_requests",325 "quotaId": "GenerateRequestsPerMinutePerProjectPerModel-FreeTier",326 "quotaDimensions": {327 "model": "lyria-3-clip",328 "location": "global"329 }330 },331 {332 "quotaMetric": "generativelanguage.googleapis.com/generate_content_free_tier_input_token_count",333 "quotaId": "GenerateContentInputTokensPerModelPerMinute-FreeTier",334 "quotaDimensions": {335 "location": "global",336 "model": "lyria-3-clip"337 }338 }339 ]340 },341 {342 "@type": "type.googleapis.com/google.rpc.RetryInfo",343 "retryDelay": "34s"344 }345 ]346 }347 },348 "notes": "Not obtainable with this key: lyria-3-clip-preview -> HTTP 429 RESOURCE_EXHAUSTED: You exceeded your current quota, please check your plan and billing details. For more information on this error, head to: https://ai.google.dev/gemini-api/docs/rate-limits. To monitor your current usage, head to: https:/; lyria-3.5 -> HTTP 429 (no free tier for Lyria 3). Shape from the music-generation guide.",349 "sources": [350 {351 "url": "https://ai.google.dev/gemini-api/docs/music-generation",352 "retrieved_at": "2026-09-18"353 }354 ]355 },356 {357 "provider": "gemini",358 "object": "LiveMusicClientMessage",359 "api_family": "music-generation",360 "description": "Client frame of the BidiGenerateMusic WebSocket (one of setup | clientContent | musicGenerationConfig | playbackControl).",361 "fields": {362 "setup.model": "string",363 "clientContent.weightedPrompts[]": "{text, weight}",364 "musicGenerationConfig": "LiveMusicGenerationConfig",365 "playbackControl": "PLAY|PAUSE|STOP|RESET_CONTEXT"366 },367 "status": [368 "DOCUMENTED",369 "BETA"370 ],371 "example": null,372 "notes": null,373 "sources": [374 {375 "url": "https://ai.google.dev/gemini-api/docs/realtime-music-generation",376 "retrieved_at": "2026-09-18"377 },378 {379 "url": "https://github.com/googleapis/python-genai/blob/main/google/genai/types.py",380 "retrieved_at": "2026-09-18"381 }382 ]383 },384 {385 "provider": "gemini",386 "object": "LiveMusicServerMessage",387 "api_family": "music-generation",388 "description": "Server frame: setupComplete | serverContent.audioChunks[] | filteredPrompt.",389 "fields": {390 "setupComplete": "{}",391 "serverContent.audioChunks[].data": "base64 raw PCM 16-bit 48 kHz stereo",392 "serverContent.audioChunks[].mimeType": "audio/l16;rate=48000;channels=2",393 "serverContent.audioChunks[].sourceMetadata": "{clientContent, musicGenerationConfig}",394 "filteredPrompt": "{text, filteredReason}"395 },396 "status": [397 "DOCUMENTED",398 "BETA",399 "LIVE_VERIFIED"400 ],401 "example": {402 "events": [403 {404 "dir": "server",405 "keys": [406 "setupComplete"407 ]408 },409 {410 "dir": "server",411 "keys": [412 "serverContent"413 ],414 "audioChunk": {415 "mimeType": "audio/l16;rate=48000;channels=2",416 "bytes": 384000,417 "sourceMetadata": {418 "clientContent": {419 "weightedPrompts": [420 {421 "text": "minimal techno",422 "weight": 1423 }424 ]425 },426 "musicGenerationConfig": {427 "temperature": 1,428 "seed": 603898271,429 "bpm": 120430 }431 },432 "n_chunks_in_msg": 1433 }434 },435 {436 "dir": "server",437 "keys": [438 "serverContent"439 ],440 "audioChunk": {441 "mimeType": "audio/l16;rate=48000;channels=2",442 "bytes": 384000,443 "sourceMetadata": {444 "clientContent": {445 "weightedPrompts": [446 {447 "text": "minimal techno",448 "weight": 1449 }450 ]451 },452 "musicGenerationConfig": {453 "temperature": 1,454 "seed": 603898272,455 "bpm": 120456 }457 },458 "n_chunks_in_msg": 1459 }460 }461 ]462 },463 "notes": "Live event sequence recorded 2026-09-18 (2 audio chunks).",464 "sources": [465 {466 "url": "https://ai.google.dev/gemini-api/docs/realtime-music-generation",467 "retrieved_at": "2026-09-18"468 },469 {470 "url": "https://github.com/googleapis/python-genai/blob/main/google/genai/types.py",471 "retrieved_at": "2026-09-18"472 }473 ]474 },475 {476 "provider": "gemini",477 "object": "GenerateContentResponse (TTS audio part)",478 "api_family": "speech-generation",479 "description": "TTS output: single inlineData part with raw PCM (16-bit LE mono 24 kHz; no WAV header — wrap it yourself). Streaming (3.1) delivers many small inlineData chunks (first 1920 bytes = 40 ms) then a final event with finishReason STOP and usage.",480 "fields": {481 "candidates[].content.parts[].inlineData.mimeType": "2.5 models: 'audio/L16;codec=pcm;rate=24000' | 3.1: 'audio/l16; rate=24000; channels=1'",482 "candidates[].content.parts[].inlineData.data": "base64 PCM",483 "candidates[].finishReason": "STOP | OTHER (observed once with no content for multi-speaker)",484 "usageMetadata.candidatesTokensDetails[]": "{modality: AUDIO, tokenCount} — ~25-32 tokens per second observed"485 },486 "status": [487 "DOCUMENTED",488 "PREVIEW",489 "LIVE_VERIFIED"490 ],491 "example": {492 "gemini-3.1-flash-tts-preview": {493 "candidates": [494 {495 "content": {496 "parts": [497 {498 "inlineData": {499 "mimeType": "audio/l16; rate=24000; channels=1",500 "data": "<46080 bytes>"501 }502 }503 ],504 "role": "model"505 },506 "finishReason": "STOP",507 "index": 0508 }509 ],510 "usageMetadata": {511 "promptTokenCount": 3,512 "candidatesTokenCount": 31,513 "totalTokenCount": 34,514 "promptTokensDetails": [515 {516 "modality": "TEXT",517 "tokenCount": 3518 }519 ],520 "candidatesTokensDetails": [521 {522 "modality": "AUDIO",523 "tokenCount": 31524 }525 ],526 "serviceTier": "standard"527 },528 "modelVersion": "gemini-3.1-flash-tts-preview",529 "responseId": "nQeuapDTGrGZ_uMP7a_PwAo"530 },531 "gemini-2.5-flash-preview-tts": {532 "candidates": [533 {534 "content": {535 "parts": [536 {537 "inlineData": {538 "mimeType": "audio/L16;codec=pcm;rate=24000",539 "data": "<38926 bytes, base64 len 51904>"540 }541 }542 ],543 "role": "model"544 },545 "finishReason": "STOP",546 "index": 0547 }548 ],549 "usageMetadata": {550 "promptTokenCount": 3,551 "candidatesTokenCount": 20,552 "totalTokenCount": 23,553 "promptTokensDetails": [554 {555 "modality": "TEXT",556 "tokenCount": 3557 }558 ],559 "candidatesTokensDetails": [560 {561 "modality": "AUDIO",562 "tokenCount": 20563 }564 ],565 "serviceTier": "standard"566 },567 "modelVersion": "gemini-2.5-flash-preview-tts",568 "responseId": "jQWuauOMMvS11MkP9_Sx0Ak"569 },570 "multi_speaker_empty_first_attempt": {571 "candidates": [572 {573 "finishReason": "OTHER",574 "index": 0575 }576 ],577 "usageMetadata": {578 "promptTokenCount": 19,579 "totalTokenCount": 19,580 "promptTokensDetails": [581 {582 "modality": "TEXT",583 "tokenCount": 19584 }585 ],586 "serviceTier": "standard"587 },588 "modelVersion": "gemini-2.5-flash-preview-tts",589 "responseId": "ngeuaoDWO4TV_uMP5sD90AY"590 },591 "sse_stream_summary": {592 "n_events": 26,593 "first": {594 "n_parts": 1,595 "mime": [596 "audio/l16; rate=24000; channels=1"597 ],598 "bytes": [599 1920600 ],601 "finishReason": null,602 "usage": {603 "promptTokenCount": 3,604 "candidatesTokenCount": 2,605 "totalTokenCount": 5,606 "promptTokensDetails": [607 {608 "modality": "TEXT",609 "tokenCount": 3610 }611 ],612 "candidatesTokensDetails": [613 {614 "modality": "AUDIO",615 "tokenCount": 2616 }617 ],618 "serviceTier": "standard"619 }620 },621 "last": {622 "n_parts": 1,623 "mime": [624 null625 ],626 "bytes": [],627 "finishReason": "STOP",628 "usage": {629 "promptTokenCount": 3,630 "candidatesTokenCount": 50,631 "totalTokenCount": 53,632 "promptTokensDetails": [633 {634 "modality": "TEXT",635 "tokenCount": 3636 }637 ],638 "candidatesTokensDetails": [639 {640 "modality": "AUDIO",641 "tokenCount": 50642 }643 ],644 "serviceTier": "standard"645 }646 }647 }648 },649 "notes": "Live examples 2026-09-18 'Say: OK' (base64 replaced by byte counts).",650 "sources": [651 {652 "url": "https://ai.google.dev/gemini-api/docs/speech-generation",653 "retrieved_at": "2026-09-18"654 },655 {656 "url": "https://ai.google.dev/api/generate-content",657 "retrieved_at": "2026-09-18"658 }659 ]660 },661 {662 "provider": "gemini",663 "object": "SpeechConfig",664 "api_family": "speech-generation",665 "description": "generationConfig.speechConfig.",666 "fields": {667 "voiceConfig.prebuiltVoiceConfig.voiceName": "one of 30 voices",668 "multiSpeakerVoiceConfig.speakerVoiceConfigs[]": "{speaker, voiceConfig} (<= 2)",669 "languageCode": "BCP-47 (optional)"670 },671 "status": [672 "DOCUMENTED"673 ],674 "example": null,675 "notes": null,676 "sources": [677 {678 "url": "https://ai.google.dev/api/generate-content",679 "retrieved_at": "2026-09-18"680 }681 ]682 },683 {684 "provider": "gemini",685 "object": "ImageConfig",686 "api_family": "image-generation",687 "description": "generationConfig.imageConfig.",688 "fields": {689 "aspectRatio": "string (14 ratios)",690 "imageSize": "512 | 1K | 2K | 4K"691 },692 "status": [693 "DOCUMENTED"694 ],695 "example": null,696 "notes": null,697 "sources": [698 {699 "url": "https://ai.google.dev/api/generate-content",700 "retrieved_at": "2026-09-18"701 }702 ]703 },704 {705 "provider": "gemini",706 "object": "AudioTranscriptionConfig",707 "api_family": "transcription",708 "description": "generationConfig.audioTranscriptionConfig (discovery 20260918).",709 "fields": {710 "languageCodes[]": "BCP-47",711 "languageHints / languageAuto": "alternative language selection objects",712 "customVocabulary[] / adaptationPhrases[]": "bias terms",713 "mode": "VERBATIM | SMART",714 "diarization": "bool",715 "wordTimestamp": "bool"716 },717 "status": [718 "DOCUMENTED",719 "LIVE_DISCOVERED"720 ],721 "example": null,722 "notes": null,723 "sources": [724 {725 "url": "https://generativelanguage.googleapis.com/$discovery/rest?version=v1beta",726 "retrieved_at": "2026-09-18"727 },728 {729 "url": "https://ai.google.dev/api/generate-content",730 "retrieved_at": "2026-09-18"731 }732 ]733 },734 {735 "provider": "gemini",736 "object": "GenerateContentResponse (transcription)",737 "api_family": "transcription",738 "description": "gemini-3.5-transcribe output via generateContent. LIVE_DISCOVERED: the transcript comes in a part field `audioTranscription` {text, speakerLabel, words[]} (not in the generate-content reference); with diarization/timestamps a plain `text` part field is also present. The Interactions API instead returns word_info annotations {text, speaker, start_offset, end_offset}.",739 "fields": {740 "candidates[].content.parts[].audioTranscription.text": "transcript string",741 "candidates[].content.parts[].audioTranscription.speakerLabel": "'spk:0' … (diarization on)",742 "candidates[].content.parts[].audioTranscription.words[]": "{word, startOffset '0.200s', endOffset '0.500s'} (wordTimestamp on)",743 "candidates[].content.parts[].text": "transcript (present when diarization/timestamps on)",744 "candidates[].content": "{} (empty) when the audio contains no speech",745 "usageMetadata.promptTokensDetails[]": "{modality: AUDIO, tokenCount} — ~25 tokens/s (0.8 s -> 21, 0.5 s -> 13)"746 },747 "status": [748 "DOCUMENTED",749 "LIVE_DISCOVERED",750 "LIVE_VERIFIED"751 ],752 "example": {753 "speech": {754 "candidates": [755 {756 "content": {757 "parts": [758 {759 "audioTranscription": {760 "text": "Okay."761 }762 }763 ],764 "role": "model"765 },766 "finishReason": "STOP",767 "index": 0768 }769 ],770 "usageMetadata": {771 "promptTokenCount": 21,772 "totalTokenCount": 21,773 "promptTokensDetails": [774 {775 "modality": "AUDIO",776 "tokenCount": 21777 }778 ],779 "serviceTier": "standard"780 },781 "modelVersion": "gemini-3.5-transcribe",782 "responseId": "tweuatuLCdWb9MoP4f3G4Ao"783 },784 "diarization_timestamps": {785 "candidates": [786 {787 "content": {788 "parts": [789 {790 "text": "Okay.",791 "audioTranscription": {792 "text": "Okay.",793 "speakerLabel": "spk:0",794 "words": [795 {796 "word": "Okay.",797 "startOffset": "0.200s",798 "endOffset": "0.500s"799 }800 ]801 }802 }803 ],804 "role": "model"805 },806 "finishReason": "STOP",807 "index": 0808 }809 ],810 "usageMetadata": {811 "promptTokenCount": 21,812 "totalTokenCount": 21,813 "promptTokensDetails": [814 {815 "modality": "AUDIO",816 "tokenCount": 21817 }818 ],819 "serviceTier": "standard"820 },821 "modelVersion": "gemini-3.5-transcribe",822 "responseId": "uQeuauDKBNSo9MoPguPVuQI"823 },824 "silence": {825 "candidates": [826 {827 "content": {},828 "finishReason": "STOP",829 "index": 0830 }831 ],832 "usageMetadata": {833 "promptTokenCount": 13,834 "totalTokenCount": 13,835 "promptTokensDetails": [836 {837 "modality": "AUDIO",838 "tokenCount": 13839 }840 ],841 "serviceTier": "standard"842 },843 "modelVersion": "gemini-3.5-transcribe",844 "responseId": "jwWuarWgFe2c_uMPnpfUyAk"845 }846 },847 "notes": "Live examples 2026-09-18 (input = 0.8 s TTS 'OK' WAV and 0.5 s silence).",848 "sources": [849 {850 "url": "https://ai.google.dev/gemini-api/docs/transcribe",851 "retrieved_at": "2026-09-18"852 },853 {854 "url": "https://ai.google.dev/api/generate-content",855 "retrieved_at": "2026-09-18"856 }857 ]858 },859 {860 "provider": "gemini",861 "object": "GenerateContentBatch",862 "api_family": "batch",863 "description": "Batch resource (Operation.metadata / update body).",864 "fields": {865 "model": "models/{m}",866 "name": "batches/{id} [RO]",867 "displayName": "string (required)",868 "inputConfig": "{fileName} | {requests:{requests:[InlinedRequest]}}",869 "output": "GenerateContentBatchOutput [RO]",870 "createTime/updateTime/endTime": "RFC 3339 [RO]",871 "batchStats": "BatchStats [RO]",872 "state": "BatchState [RO]",873 "priority": "int64 string",874 "webhookConfig.uris[]": "string[]"875 },876 "status": [877 "DOCUMENTED",878 "ACCOUNT_RESTRICTED"879 ],880 "example": null,881 "notes": null,882 "sources": [883 {884 "url": "https://ai.google.dev/api/batch-api",885 "retrieved_at": "2026-09-18"886 },887 {888 "url": "https://generativelanguage.googleapis.com/$discovery/rest?version=v1beta",889 "retrieved_at": "2026-09-18"890 }891 ]892 },893 {894 "provider": "gemini",895 "object": "BatchStats",896 "api_family": "batch",897 "description": "Counters on the batch.",898 "fields": {899 "requestCount": "int64 string",900 "successfulRequestCount": "int64 string",901 "failedRequestCount": "int64 string",902 "pendingRequestCount": "int64 string"903 },904 "status": [905 "DOCUMENTED"906 ],907 "example": null,908 "notes": null,909 "sources": [910 {911 "url": "https://ai.google.dev/api/batch-api",912 "retrieved_at": "2026-09-18"913 }914 ]915 },916 {917 "provider": "gemini",918 "object": "GenerateContentBatchOutput / InlinedResponse",919 "api_family": "batch",920 "description": "Operation.response when done: inlinedResponses (inline input) or responsesFile (file input).",921 "fields": {922 "@type": "type.googleapis.com/google.ai.generativelanguage.v1beta.GenerateContentBatchOutput",923 "inlinedResponses.inlinedResponses[].metadata": "echo of request metadata (key)",924 "inlinedResponses.inlinedResponses[].response": "GenerateContentResponse",925 "inlinedResponses.inlinedResponses[].error": "Status",926 "responsesFile": "files/{id} (JSONL, one GenerateContentResponse or status object per line, same order as input; download /download/v1beta/{file}:download?alt=media)"927 },928 "status": [929 "DOCUMENTED"930 ],931 "example": null,932 "notes": "Live final Operation of the 2-request inline batch (if it completed within 5 min).",933 "sources": [934 {935 "url": "https://ai.google.dev/gemini-api/docs/batch-api",936 "retrieved_at": "2026-09-18"937 },938 {939 "url": "https://ai.google.dev/api/batch-api",940 "retrieved_at": "2026-09-18"941 }942 ]943 },944 {945 "provider": "gemini",946 "object": "EmbedContentBatch / EmbedContentBatchOutput",947 "api_family": "batch",948 "description": "Embedding batch resource and output (inlinedResponses[].response = EmbedContentResponse {embedding:{values[]}} or responsesFile).",949 "fields": {950 "inputConfig.requests.requests[].request": "EmbedContentRequest",951 "output.inlinedResponses.inlinedResponses[].response.embedding.values[]": "float[]",952 "batchStats": "EmbedContentBatchStats",953 "state": "BatchState"954 },955 "status": [956 "DOCUMENTED",957 "ACCOUNT_RESTRICTED"958 ],959 "example": {960 "error": {961 "code": 400,962 "message": "Precondition check failed.",963 "status": "FAILED_PRECONDITION"964 }965 },966 "notes": null,967 "sources": [968 {969 "url": "https://ai.google.dev/api/batch-api",970 "retrieved_at": "2026-09-18"971 },972 {973 "url": "https://generativelanguage.googleapis.com/$discovery/rest?version=v1beta",974 "retrieved_at": "2026-09-18"975 }976 ]977 },978 {979 "provider": "gemini",980 "object": "TunedModel",981 "api_family": "tuning",982 "description": "Tuned model resource.",983 "fields": {984 "name": "tunedModels/{id} [RO]",985 "displayName": "<= 40 chars",986 "description": "string",987 "state": "CREATING | ACTIVE | FAILED [RO]",988 "createTime/updateTime": "[RO]",989 "tuningTask": "TuningTask",990 "readerProjectNumbers[]": "int64[]",991 "baseModel | tunedModelSource": "source model (oneof)",992 "temperature/topP/topK": "defaults for generation"993 },994 "status": [995 "DOCUMENTED",996 "LEGACY"997 ],998 "example": null,999 "notes": null,1000 "sources": [1001 {1002 "url": "https://ai.google.dev/api/tuning",1003 "retrieved_at": "2026-09-18"1004 },1005 {1006 "url": "https://generativelanguage.googleapis.com/$discovery/rest?version=v1beta",1007 "retrieved_at": "2026-09-18"1008 }1009 ]1010 },1011 {1012 "provider": "gemini",1013 "object": "TuningTask / TuningSnapshot / Dataset / Hyperparameters",1014 "api_family": "tuning",1015 "description": "Tuning job description and metrics.",1016 "fields": {1017 "tuningTask.startTime/completeTime": "[RO]",1018 "tuningTask.snapshots[]": "{step, epoch, meanLoss, computeTime}",1019 "tuningTask.trainingData.examples.examples[]": "{textInput, output}",1020 "tuningTask.hyperparameters": "{learningRate | learningRateMultiplier, epochCount, batchSize}"1021 },1022 "status": [1023 "DOCUMENTED",1024 "LEGACY"1025 ],1026 "example": null,1027 "notes": null,1028 "sources": [1029 {1030 "url": "https://ai.google.dev/api/tuning",1031 "retrieved_at": "2026-09-18"1032 }1033 ]1034 },1035 {1036 "provider": "gemini",1037 "object": "CreateTunedModelMetadata",1038 "api_family": "tuning",1039 "description": "Operation.metadata while tuning.",1040 "fields": {1041 "tunedModel": "tunedModels/{id}",1042 "totalSteps": "int",1043 "completedSteps": "int",1044 "completedPercent": "float",1045 "snapshots[]": "TuningSnapshot"1046 },1047 "status": [1048 "DOCUMENTED",1049 "LEGACY"1050 ],1051 "example": null,1052 "notes": null,1053 "sources": [1054 {1055 "url": "https://ai.google.dev/api/tuning",1056 "retrieved_at": "2026-09-18"1057 }1058 ]1059 },1060 {1061 "provider": "gemini",1062 "object": "Permission",1063 "api_family": "tuning",1064 "description": "ACL entry on a tuned model (or corpus).",1065 "fields": {1066 "name": "tunedModels/{m}/permissions/{p} [RO]",1067 "granteeType": "USER | GROUP | EVERYONE",1068 "emailAddress": "string (not for EVERYONE)",1069 "role": "OWNER | WRITER | READER"1070 },1071 "status": [1072 "DOCUMENTED",1073 "LEGACY"1074 ],1075 "example": null,1076 "notes": null,1077 "sources": [1078 {1079 "url": "https://generativelanguage.googleapis.com/$discovery/rest?version=v1beta",1080 "retrieved_at": "2026-09-18"1081 }1082 ]1083 }1084]1085