Vapi · Schema

GoogleModel

Artificial IntelligenceVoiceAgentsReal-TimeCPaaS

Properties

Name Type Description
messages array This is the starting state for the conversation.
tools array These are the tools that the assistant can use during the call. To use existing tools, use `toolIds`. Both `tools` and `toolIds` can be used together.
toolIds array These are the tools that the assistant can use during the call. To use transient tools, use `tools`. Both `tools` and `toolIds` can be used together.
knowledgeBase object These are the options for the knowledge base.
model string This is the Google model that will be used.
provider string
realtimeConfig object This is the session configuration for the Gemini Flash 2.0 Multimodal Live API. Only applicable if the model `gemini-2.0-flash-realtime-exp` is selected.
temperature number This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency.
maxTokens number This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250.
emotionRecognitionEnabled boolean This determines whether we detect user's emotion while they speak and send it as an additional info to model. Default `false` because the model is usually are good at understanding the user's emotion
numFastTurns number This sets how many turns at the start of the conversation to use a smaller, faster model from the same provider before switching to the primary model. Example, gpt-3.5-turbo if provider is openai. Def
View JSON Schema on GitHub

JSON Schema

vapi-googlemodel-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/GoogleModel",
  "title": "GoogleModel",
  "type": "object",
  "properties": {
    "messages": {
      "description": "This is the starting state for the conversation.",
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/OpenAIMessage"
      }
    },
    "tools": {
      "type": "array",
      "description": "These are the tools that the assistant can use during the call. To use existing tools, use `toolIds`.\n\nBoth `tools` and `toolIds` can be used together.",
      "items": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/CreateApiRequestToolDTO",
            "title": "ApiRequestTool"
          },
          {
            "$ref": "#/components/schemas/CreateBashToolDTO",
            "title": "BashTool"
          },
          {
            "$ref": "#/components/schemas/CreateCodeToolDTO",
            "title": "CodeTool"
          },
          {
            "$ref": "#/components/schemas/CreateComputerToolDTO",
            "title": "ComputerTool"
          },
          {
            "$ref": "#/components/schemas/CreateDtmfToolDTO",
            "title": "DtmfTool"
          },
          {
            "$ref": "#/components/schemas/CreateEndCallToolDTO",
            "title": "EndCallTool"
          },
          {
            "$ref": "#/components/schemas/CreateFunctionToolDTO",
            "title": "FunctionTool"
          },
          {
            "$ref": "#/components/schemas/CreateGoHighLevelCalendarAvailabilityToolDTO",
            "title": "GoHighLevelCalendarAvailabilityTool"
          },
          {
            "$ref": "#/components/schemas/CreateGoHighLevelCalendarEventCreateToolDTO",
            "title": "GoHighLevelCalendarEventCreateTool"
          },
          {
            "$ref": "#/components/schemas/CreateGoHighLevelContactCreateToolDTO",
            "title": "GoHighLevelContactCreateTool"
          },
          {
            "$ref": "#/components/schemas/CreateGoHighLevelContactGetToolDTO",
            "title": "GoHighLevelContactGetTool"
          },
          {
            "$ref": "#/components/schemas/CreateGoogleCalendarCheckAvailabilityToolDTO",
            "title": "GoogleCalendarCheckAvailabilityTool"
          },
          {
            "$ref": "#/components/schemas/CreateGoogleCalendarCreateEventToolDTO",
            "title": "GoogleCalendarCreateEventTool"
          },
          {
            "$ref": "#/components/schemas/CreateGoogleSheetsRowAppendToolDTO",
            "title": "GoogleSheetsRowAppendTool"
          },
          {
            "$ref": "#/components/schemas/CreateHandoffToolDTO",
            "title": "HandoffTool"
          },
          {
            "$ref": "#/components/schemas/CreateMcpToolDTO",
            "title": "McpTool"
          },
          {
            "$ref": "#/components/schemas/CreateQueryToolDTO",
            "title": "QueryTool"
          },
          {
            "$ref": "#/components/schemas/CreateSlackSendMessageToolDTO",
            "title": "SlackSendMessageTool"
          },
          {
            "$ref": "#/components/schemas/CreateSmsToolDTO",
            "title": "SmsTool"
          },
          {
            "$ref": "#/components/schemas/CreateTextEditorToolDTO",
            "title": "TextEditorTool"
          },
          {
            "$ref": "#/components/schemas/CreateTransferCallToolDTO",
            "title": "TransferCallTool"
          },
          {
            "$ref": "#/components/schemas/CreateSipRequestToolDTO",
            "title": "SipRequestTool"
          },
          {
            "$ref": "#/components/schemas/CreateVoicemailToolDTO",
            "title": "VoicemailTool"
          }
        ]
      }
    },
    "toolIds": {
      "description": "These are the tools that the assistant can use during the call. To use transient tools, use `tools`.\n\nBoth `tools` and `toolIds` can be used together.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "knowledgeBase": {
      "description": "These are the options for the knowledge base.",
      "oneOf": [
        {
          "$ref": "#/components/schemas/CreateCustomKnowledgeBaseDTO",
          "title": "Custom"
        }
      ]
    },
    "model": {
      "type": "string",
      "description": "This is the Google model that will be used.",
      "enum": [
        "gemini-3-flash-preview",
        "gemini-2.5-pro",
        "gemini-2.5-flash",
        "gemini-2.5-flash-lite",
        "gemini-2.0-flash-thinking-exp",
        "gemini-2.0-pro-exp-02-05",
        "gemini-2.0-flash",
        "gemini-2.0-flash-lite",
        "gemini-2.0-flash-exp",
        "gemini-2.0-flash-realtime-exp",
        "gemini-1.5-flash",
        "gemini-1.5-flash-002",
        "gemini-1.5-pro",
        "gemini-1.5-pro-002",
        "gemini-1.0-pro"
      ]
    },
    "provider": {
      "type": "string",
      "enum": [
        "google"
      ]
    },
    "realtimeConfig": {
      "description": "This is the session configuration for the Gemini Flash 2.0 Multimodal Live API.\nOnly applicable if the model `gemini-2.0-flash-realtime-exp` is selected.",
      "allOf": [
        {
          "$ref": "#/components/schemas/GoogleRealtimeConfig"
        }
      ]
    },
    "temperature": {
      "type": "number",
      "description": "This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency.",
      "minimum": 0,
      "maximum": 2
    },
    "maxTokens": {
      "type": "number",
      "description": "This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250.",
      "minimum": 50,
      "maximum": 10000
    },
    "emotionRecognitionEnabled": {
      "type": "boolean",
      "description": "This determines whether we detect user's emotion while they speak and send it as an additional info to model.\n\nDefault `false` because the model is usually are good at understanding the user's emotion from text.\n\n@default false"
    },
    "numFastTurns": {
      "type": "number",
      "description": "This sets how many turns at the start of the conversation to use a smaller, faster model from the same provider before switching to the primary model. Example, gpt-3.5-turbo if provider is openai.\n\nDefault is 0.\n\n@default 0",
      "minimum": 0
    }
  },
  "required": [
    "model",
    "provider"
  ]
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/vapi-googlemodel"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.