openapi: 3.2.0 info: title: LiteLLM google genai endpoints API description: "Enterprise Edition \n\nProxy Server to call 100+ LLMs in the OpenAI format. [**Customize Swagger Docs**](https://docs.litellm.ai/docs/proxy/enterprise#swagger-docs---custom-routes--branding)\n\n\U0001F449 [```LiteLLM Admin Panel on /ui```](/ui). Create, Edit Keys with SSO. Having issues? Try [```Fallback Login```](/fallback/login)\n\n\U0001F4B8 [```LiteLLM Model Cost Map```](https://models.litellm.ai/).\n\n\U0001F50E [```LiteLLM Model Hub```](/ui/model_hub_table). See available models on the proxy. [**Docs**](https://docs.litellm.ai/docs/proxy/ai_hub)" version: 1.95.0 x-operator: institution x-provenance: method: probed source: https://llmproxy.uva.nl/openapi.json retrieved: '2026-08-19' note: Document is generated by the LiteLLM proxy software the University of Amsterdam self-hosts; the deployment, the key issuance and the host (llmproxy.uva.nl, UvA Azure) are the institution's. servers[] added by API Evangelist because the served document omits it; nothing else altered. servers: - url: https://llmproxy.uva.nl description: University of Amsterdam / Amsterdam University of Applied Sciences shared AI gateway tags: - name: google genai endpoints paths: /models/{model_name}:generateContent: post: tags: - google genai endpoints summary: Google Generate Content operationId: google_generate_content_models__model_name__generateContent_post security: - APIKeyHeader: [] parameters: - name: model_name in: path required: true schema: type: string title: Model Name responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1beta/models/{model_name}:generateContent: post: tags: - google genai endpoints summary: Google Generate Content operationId: google_generate_content_v1beta_models__model_name__generateContent_post security: - APIKeyHeader: [] parameters: - name: model_name in: path required: true schema: type: string title: Model Name responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /models/{model_name}:streamGenerateContent: post: tags: - google genai endpoints summary: Google Stream Generate Content operationId: google_stream_generate_content_models__model_name__streamGenerateContent_post security: - APIKeyHeader: [] parameters: - name: model_name in: path required: true schema: type: string title: Model Name responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1beta/models/{model_name}:streamGenerateContent: post: tags: - google genai endpoints summary: Google Stream Generate Content operationId: google_stream_generate_content_v1beta_models__model_name__streamGenerateContent_post security: - APIKeyHeader: [] parameters: - name: model_name in: path required: true schema: type: string title: Model Name responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /models/{model_name}:countTokens: post: tags: - google genai endpoints summary: Google Count Tokens description: "```json\nreturn {\n \"totalTokens\": 31,\n \"totalBillableCharacters\": 96,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 31\n }\n ]\n}\n```" operationId: google_count_tokens_models__model_name__countTokens_post security: - APIKeyHeader: [] parameters: - name: model_name in: path required: true schema: type: string title: Model Name responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/TokenCountDetailsResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1beta/models/{model_name}:countTokens: post: tags: - google genai endpoints summary: Google Count Tokens description: "```json\nreturn {\n \"totalTokens\": 31,\n \"totalBillableCharacters\": 96,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 31\n }\n ]\n}\n```" operationId: google_count_tokens_v1beta_models__model_name__countTokens_post security: - APIKeyHeader: [] parameters: - name: model_name in: path required: true schema: type: string title: Model Name responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/TokenCountDetailsResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /interactions: post: tags: - google genai endpoints summary: Create Interaction description: "Create a new interaction using Google's Interactions API.\n\nPer OpenAPI spec: POST /{api_version}/interactions\n\nSupports both model interactions and agent interactions:\n- Model: Provide `model` parameter (e.g., \"gemini-2.5-flash\")\n- Agent: Provide `agent` parameter (e.g., \"deep-research-pro-preview-12-2025\")\n\nExample:\n```bash\ncurl -X POST \"http://localhost:4000/v1beta/interactions\" -H \"Authorization: Bearer sk-1234\" -H \"Content-Type: application/json\" -d '{\n \"model\": \"gemini/gemini-2.5-flash\",\n \"input\": \"Hello, how are you?\"\n }'\n```" operationId: create_interaction_interactions_post responses: '200': description: Successful Response content: application/json: schema: {} security: - APIKeyHeader: [] /v1beta/interactions: post: tags: - google genai endpoints summary: Create Interaction description: "Create a new interaction using Google's Interactions API.\n\nPer OpenAPI spec: POST /{api_version}/interactions\n\nSupports both model interactions and agent interactions:\n- Model: Provide `model` parameter (e.g., \"gemini-2.5-flash\")\n- Agent: Provide `agent` parameter (e.g., \"deep-research-pro-preview-12-2025\")\n\nExample:\n```bash\ncurl -X POST \"http://localhost:4000/v1beta/interactions\" -H \"Authorization: Bearer sk-1234\" -H \"Content-Type: application/json\" -d '{\n \"model\": \"gemini/gemini-2.5-flash\",\n \"input\": \"Hello, how are you?\"\n }'\n```" operationId: create_interaction_v1beta_interactions_post responses: '200': description: Successful Response content: application/json: schema: {} security: - APIKeyHeader: [] /interactions/{interaction_id}: get: tags: - google genai endpoints summary: Get Interaction description: 'Get an interaction by ID. Per OpenAPI spec: GET /{api_version}/interactions/{interaction_id}' operationId: get_interaction_interactions__interaction_id__get security: - APIKeyHeader: [] parameters: - name: interaction_id in: path required: true schema: type: string title: Interaction Id responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - google genai endpoints summary: Delete Interaction description: 'Delete an interaction by ID. Per OpenAPI spec: DELETE /{api_version}/interactions/{interaction_id}' operationId: delete_interaction_interactions__interaction_id__delete security: - APIKeyHeader: [] parameters: - name: interaction_id in: path required: true schema: type: string title: Interaction Id responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1beta/interactions/{interaction_id}: get: tags: - google genai endpoints summary: Get Interaction description: 'Get an interaction by ID. Per OpenAPI spec: GET /{api_version}/interactions/{interaction_id}' operationId: get_interaction_v1beta_interactions__interaction_id__get security: - APIKeyHeader: [] parameters: - name: interaction_id in: path required: true schema: type: string title: Interaction Id responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - google genai endpoints summary: Delete Interaction description: 'Delete an interaction by ID. Per OpenAPI spec: DELETE /{api_version}/interactions/{interaction_id}' operationId: delete_interaction_v1beta_interactions__interaction_id__delete security: - APIKeyHeader: [] parameters: - name: interaction_id in: path required: true schema: type: string title: Interaction Id responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /interactions/{interaction_id}/cancel: post: tags: - google genai endpoints summary: Cancel Interaction description: 'Cancel an interaction by ID. Per OpenAPI spec: POST /{api_version}/interactions/{interaction_id}:cancel' operationId: cancel_interaction_interactions__interaction_id__cancel_post security: - APIKeyHeader: [] parameters: - name: interaction_id in: path required: true schema: type: string title: Interaction Id responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1beta/interactions/{interaction_id}/cancel: post: tags: - google genai endpoints summary: Cancel Interaction description: 'Cancel an interaction by ID. Per OpenAPI spec: POST /{api_version}/interactions/{interaction_id}:cancel' operationId: cancel_interaction_v1beta_interactions__interaction_id__cancel_post security: - APIKeyHeader: [] parameters: - name: interaction_id in: path required: true schema: type: string title: Interaction Id responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' components: schemas: HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError TokenCountDetailsResponse: properties: totalTokens: type: integer title: Totaltokens promptTokensDetails: items: $ref: '#/components/schemas/PromptTokensDetails' type: array title: Prompttokensdetails type: object required: - totalTokens - promptTokensDetails title: TokenCountDetailsResponse description: "Response structure for token count details with modality breakdown.\n\nExample:\n {'totalTokens': 12, 'promptTokensDetails': [{'modality': 'TEXT', 'tokenCount': 12}]}" ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError PromptTokensDetails: properties: modality: type: string enum: - TEXT - AUDIO - IMAGE - VIDEO title: Modality tokenCount: type: integer title: Tokencount type: object required: - modality - tokenCount title: PromptTokensDetails securitySchemes: APIKeyHeader: type: apiKey description: Bearer token in: header name: x-litellm-api-key