Venice.ai · Schema

ChatCompletionRequest

CompanyArtificial IntelligenceLLMImage GenerationVideo GenerationText-to-SpeechEmbeddingsPrivacyOpenAI-Compatiblex402

Properties

Name Type Description
frequency_penalty number Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.
logprobs boolean Whether to include log probabilities in the response. This is not supported by all models.
top_logprobs integer The number of highest probability tokens to return for each token position.
max_completion_tokens integer An upper bound for the number of tokens that can be generated for a completion, including visible output tokens and reasoning tokens.
max_temp number Maximum temperature value for dynamic temperature scaling.
max_tokens integer The maximum number of tokens that can be generated in the chat completion. This value can be used to control costs for text generated via API. Values of 0 or less are ignored and the model will use it
messages array A list of messages comprising the conversation so far. Depending on the model you use, different message types (modalities) are supported, like text and images. Non-multimodal models reject image cont
min_p number Sets a minimum probability threshold for token selection. Tokens with probabilities below this value are filtered out.
min_temp number Minimum temperature value for dynamic temperature scaling.
model string The ID of the model you wish to prompt. May also be a model trait, or a model compatibility mapping. See the models endpoint for a list of models available to you. You can use feature suffixes to enab
n integer How many chat completion choices to generate for each input message. Note that you will be charged based on the number of generated tokens across all of the choices. Keep n as 1 to minimize costs.
presence_penalty number Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.
prompt_cache_key string When supplied, this field may be used to optimize conversation routing to improve cache performance and thus reduce latency.
prompt_cache_retention string OpenAI-compatible parameter to control prompt cache retention. "extended" or "24h" extends retention to 24 hours for supported models.
repetition_penalty number The parameter for repetition penalty. 1.0 means no penalty. Values > 1.0 discourage repetition.
reasoning object Configuration for reasoning behavior on supported models.
reasoning_effort string OpenAI-compatible parameter to control reasoning effort level for supported models. Takes precedence over reasoning.effort if both are provided. Direct OpenAI models validate concrete levels against t
seed integer The random seed used to generate the response. This is useful for reproducibility.
stop object Up to 4 sequences where the API will stop generating further tokens. Defaults to null.
stop_token_ids array Array of token IDs where the API will stop generating further tokens.
stream boolean Whether to stream back partial progress. Defaults to false.
stream_options object
temperature number What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recomm
top_k integer The number of highest probability vocabulary tokens to keep for top-k-filtering.
top_p number An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 1
user string This field is discarded on the request but is supported in the Venice API for compatibility with OpenAI clients. It is not an alias of anon_user_id.
anon_user_id string Optional identifier for the API customer's end user. Combined with the Venice user id when attributing the request to upstream providers. Distinct from the discarded OpenAI `user` field. Must be print
fallbacks array Anthropic beta parameter for Claude Fable 5 server-side refusal fallback. Forwarded only for direct Anthropic routes; ignored for other providers.
store boolean This field is accepted for OpenAI compatibility but is not used by Venice.
verbosity string Controls the verbosity of the text response. Currently supported values are `low`, `medium`, and `high`.
text object OpenAI-compatible text configuration parameter.
include array OpenAI-compatible parameter specifying additional data to include in the response.
metadata object OpenAI-compatible metadata parameter for request tracking.
venice_parameters object Unique parameters to Venice's API implementation. Customize these to control the behavior of the model.
parallel_tool_calls boolean Whether to enable parallel function calling during tool use.
response_format object Format in which the response should be returned.
tool_choice object
tools arraynull A list of tools the model may call. Currently, only functions are supported as a tool. Use this to provide a list of functions the model may generate JSON inputs for.
View JSON Schema on GitHub

JSON Schema

venice-ai-chat-completion-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/venice-ai/main/json-schema/venice-ai-chat-completion-request-schema.json",
  "title": "ChatCompletionRequest",
  "x-generated": "2026-10-13",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/venice-ai-openapi.yml#/components/schemas/ChatCompletionRequest",
  "type": "object",
  "properties": {
    "frequency_penalty": {
      "type": "number",
      "maximum": 2,
      "minimum": -2,
      "default": 0,
      "description": "Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim."
    },
    "logprobs": {
      "type": "boolean",
      "description": "Whether to include log probabilities in the response. This is not supported by all models."
    },
    "top_logprobs": {
      "type": "integer",
      "minimum": 0,
      "description": "The number of highest probability tokens to return for each token position."
    },
    "max_completion_tokens": {
      "type": "integer",
      "description": "An upper bound for the number of tokens that can be generated for a completion, including visible output tokens and reasoning tokens."
    },
    "max_temp": {
      "type": "number",
      "minimum": 0,
      "maximum": 2,
      "description": "Maximum temperature value for dynamic temperature scaling."
    },
    "max_tokens": {
      "type": "integer",
      "description": "The maximum number of tokens that can be generated in the chat completion. This value can be used to control costs for text generated via API. Values of 0 or less are ignored and the model will use its default maximum. This value is now deprecated in favor of max_completion_tokens."
    },
    "messages": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "content": {
                "anyOf": [
                  {
                    "type": "string",
                    "title": "String"
                  },
                  {
                    "type": "array",
                    "items": {
                      "oneOf": [
                        {
                          "type": "object",
                          "properties": {
                            "cache_control": {
                              "type": "object",
                              "properties": {
                                "ttl": {
                                  "type": "string",
                                  "description": "Optional TTL for extended cache duration. Beta feature requiring special header."
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "ephemeral"
                                  ],
                                  "description": "The type of cache control. Currently only \"ephemeral\" is supported."
                                }
                              },
                              "required": [
                                "type"
                              ],
                              "description": "Optional cache control for prompt caching on supported providers.",
                              "title": "Cache Control"
                            },
                            "text": {
                              "type": "string",
                              "minLength": 1,
                              "description": "The prompt text of the message. Must be at-least one character in length",
                              "title": "Text Content Object"
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "text"
                              ],
                              "title": "Text Content String"
                            }
                          },
                          "required": [
                            "text",
                            "type"
                          ],
                          "description": "Text message type. Supports optional cache_control for prompt caching on supported providers.",
                          "title": "text"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "cache_control": {
                              "type": "object",
                              "properties": {
                                "ttl": {
                                  "type": "string",
                                  "description": "Optional TTL for extended cache duration. Beta feature requiring special header."
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "ephemeral"
                                  ],
                                  "description": "The type of cache control. Currently only \"ephemeral\" is supported."
                                }
                              },
                              "required": [
                                "type"
                              ],
                              "description": "Optional cache control for prompt caching on supported providers.",
                              "title": "Cache Control"
                            },
                            "image_url": {
                              "type": "object",
                              "properties": {
                                "detail": {
                                  "type": "string",
                                  "description": "Image detail auto, low, and high are now forwarded to providers rather than ignored. Explicit high detail may increase image-token usage and cost. For plaintext requests, original is preserved on direct OpenAI routes and mapped to high on other routes, including retries. Encrypted E2EE content is unchanged. Unrecognized values are ignored for legacy Chat Completions compatibility.",
                                  "enum": [
                                    "auto",
                                    "low",
                                    "high",
                                    "original"
                                  ]
                                },
                                "url": {
                                  "type": "string",
                                  "description": "The URL of the image. Can be a data URL with a base64 encoded image or a public URL. URL must be publicly accessible. Image must pass validation checks and be >= 64 pixels square.",
                                  "format": "uri"
                                }
                              },
                              "required": [
                                "url"
                              ],
                              "description": "Object containing the image URL information",
                              "title": "Image URL Object"
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "image_url"
                              ]
                            }
                          },
                          "required": [
                            "image_url",
                            "type"
                          ],
                          "description": "Image URL message type. Supports optional cache_control for prompt caching on supported providers.",
                          "title": "image_url"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "cache_control": {
                              "type": "object",
                              "properties": {
                                "ttl": {
                                  "type": "string",
                                  "description": "Optional TTL for extended cache duration. Beta feature requiring special header."
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "ephemeral"
                                  ],
                                  "description": "The type of cache control. Currently only \"ephemeral\" is supported."
                                }
                              },
                              "required": [
                                "type"
                              ],
                              "description": "Optional cache control for prompt caching on supported providers.",
                              "title": "Cache Control"
                            },
                            "input_audio": {
                              "type": "object",
                              "properties": {
                                "data": {
                                  "type": "string",
                                  "description": "Base64-encoded audio data. Direct URLs are not supported for audio content."
                                },
                                "format": {
                                  "type": "string",
                                  "enum": [
                                    "wav",
                                    "mp3",
                                    "aiff",
                                    "aac",
                                    "ogg",
                                    "flac",
                                    "m4a",
                                    "pcm16",
                                    "pcm24"
                                  ],
                                  "default": "wav",
                                  "description": "The format of the audio file. Common formats include wav, mp3, aac, ogg, flac, m4a. Defaults to wav."
                                }
                              },
                              "required": [
                                "data"
                              ],
                              "description": "Object containing the base64-encoded audio data and format",
                              "title": "Input Audio Object"
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "input_audio"
                              ]
                            }
                          },
                          "required": [
                            "input_audio",
                            "type"
                          ],
                          "description": "Audio input message type for models that support audio analysis. Audio must be base64-encoded.",
                          "title": "input_audio"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "cache_control": {
                              "type": "object",
                              "properties": {
                                "ttl": {
                                  "type": "string",
                                  "description": "Optional TTL for extended cache duration. Beta feature requiring special header."
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "ephemeral"
                                  ],
                                  "description": "The type of cache control. Currently only \"ephemeral\" is supported."
                                }
                              },
                              "required": [
                                "type"
                              ],
                              "description": "Optional cache control for prompt caching on supported providers.",
                              "title": "Cache Control"
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "video_url"
                              ]
                            },
                            "video_url": {
                              "type": "object",
                              "properties": {
                                "url": {
                                  "type": "string",
                                  "description": "The URL of the video. Can be a direct URL (including YouTube links for some providers), or a base64-encoded data URL (e.g., data:video/mp4;base64,...). Supported formats: mp4, mpeg, mov, webm. Remote URLs must be publicly accessible, must not redirect, and must return a permitted video Content-Type. At most 3 videos may be provided in one request.",
                                  "format": "uri"
                                }
                              },
                              "required": [
                                "url"
                              ],
                              "description": "Object containing the video URL information",
                              "title": "Video URL Object"
                            }
                          },
                          "required": [
                            "type",
                            "video_url"
                          ],
                          "description": "Video URL message type for models that support video analysis. Supports both direct URLs and base64-encoded data URLs.",
                          "title": "video_url"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "cache_control": {
                              "type": "object",
                              "properties": {
                                "ttl": {
                                  "type": "string",
                                  "description": "Optional TTL for extended cache duration. Beta feature requiring special header."
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "ephemeral"
                                  ],
                                  "description": "The type of cache control. Currently only \"ephemeral\" is supported."
                                }
                              },
                              "required": [
                                "type"
                              ],
                              "description": "Optional cache control for prompt caching on supported providers.",
                              "title": "Cache Control"
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "file"
                              ]
                            },
                            "file": {
                              "type": "object",
                              "properties": {
                                "file_data": {
                                  "type": "string",
                                  "description": "The file content as a data URL (e.g., data:application/pdf;base64,...) or a publicly accessible URL. Supported formats: PDF, EPUB, DOCX, PPTX, XLSX, XLS, plain text, Markdown, CSV, JSON, and most source-code files (e.g., .py, .js, .ts, .c, .cpp, .java, .go, .rs, .ps1, .sh, .yaml, .sql)."
                                },
                                "filename": {
                                  "type": "string",
                                  "description": "Optional filename for the file. Used for display purposes."
                                }
                              },
                              "required": [
                                "file_data"
                              ],
                              "description": "Object containing the file data and optional filename",
                              "title": "File Object"
                            }
                          },
                          "required": [
                            "type",
                            "file"
                          ],
                          "description": "File input message type for document processing. Supports PDF, EPUB, DOCX, PPTX, XLSX, plain text, and most source-code files (e.g., .py, .js, .ts, .c, .cpp, .java, .go, .rs, .ps1, .sh, .yaml, .sql). Files are extracted to text before being sent to the model.",
                          "title": "file"
                        }
                      ]
                    },
                    "title": "Objects"
                  }
                ]
              },
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "role": {
                "type": "string",
                "enum": [
                  "user"
                ]
              }
            },
            "required": [
              "content",
              "role"
            ],
            "description": "The user message is the input from the user. It is part of the conversation and is visible to the assistant.",
            "title": "User Message"
          },
          {
            "type": "object",
            "properties": {
              "content": {
                "anyOf": [
                  {
                    "type": "string",
                    "title": "String"
                  },
                  {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "cache_control": {
                          "type": "object",
                          "properties": {
                            "ttl": {
                              "type": "string",
                              "description": "Optional TTL for extended cache duration. Beta feature requiring special header."
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "ephemeral"
                              ],
                              "description": "The type of cache control. Currently only \"ephemeral\" is supported."
                            }
                          },
                          "required": [
                            "type"
                          ],
                          "description": "Optional cache control for prompt caching on supported providers.",
                          "title": "Cache Control"
                        },
                        "text": {
                          "type": "string",
                          "minLength": 1,
                          "description": "The prompt text of the message. Must be at-least one character in length",
                          "title": "Text Content Object"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "text"
                          ],
                          "title": "Text Content String"
                        }
                      },
                      "required": [
                        "text",
                        "type"
                      ],
                      "description": "Text message type. Supports optional cache_control for prompt caching on supported providers.",
                      "title": "text"
                    },
                    "title": "Objects"
                  },
                  {
                    "nullable": true,
                    "title": "null"
                  }
                ]
              },
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "reasoning_content": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "reasoning_details": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    },
                    "id": {
                      "type": "string"
                    },
                    "index": {
                      "type": "number"
                    },
                    "text": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "type"
                  ]
                },
                "description": "Reasoning details returned by certain reasoning models that support this feature (e.g., Gemini 3 Pro). Not all reasoning models return this field. For multi-turn conversations with tool calls on supported models, pass back the reasoning_details exactly as received to preserve thought signatures."
              },
              "role": {
                "type": "string",
                "enum": [
                  "assistant"
                ]
              },
              "thought_signature": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Gemini thought signature returned by native GCP transport. For multi-turn conversations (especially with tool calls), pass it back exactly as received to preserve thought signatures."
              },
              "tool_calls": {
                "type": [
                  "array",
                  "null"
                ],
                "items": {
                  "nullable": true
                }
              }
            },
            "required": [
              "role"
            ],
            "description": "The assistant message contains the response from the LLM. Must have either content or tool_calls.",
            "title": "Assistant Message"
          },
          {
            "type": "object",
            "properties": {
              "content": {
                "type": "string"
              },
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "reasoning_content": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "role": {
                "type": "string",
                "enum": [
                  "tool"
                ]
              },
              "tool_call_id": {
                "type": "string"
              },
              "tool_calls": {
                "type": [
                  "array",
                  "null"
                ],
                "items": {
                  "nullable": true
                }
              }
            },
            "required": [
              "content",
              "role",
              "tool_call_id"
            ],
            "description": "The tool message is a special message that is used to call a tool. It is not part of the conversation and is not visible to the user.",
            "title": "Tool Message"
          },
          {
            "type": "object",
            "properties": {
              "content": {
                "anyOf": [
                  {
                    "type": "string",
                    "title": "String"
                  },
                  {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "cache_control": {
                          "type": "object",
                          "properties": {
                            "ttl": {
                              "type": "string",
                              "description": "Optional TTL for extended cache duration. Beta feature requiring special header."
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "ephemeral"
                              ],
                              "description": "The type of cache control. Currently only \"ephemeral\" is supported."
                            }
                          },
                          "required": [
                            "type"
                          ],
                          "description": "Optional cache control for prompt caching on supported providers.",
                          "title": "Cache Control"
                        },
                        "text": {
                          "type": "string",
                          "minLength": 1,
                          "description": "The prompt text of the message. Must be at-least one character in length",
                          "title": "Text Content Object"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "text"
                          ],
                          "title": "Text Content String"
                        }
                      },
                      "required": [
                        "text",
                        "type"
                      ],
                      "description": "Text message type. Supports optional cache_control for prompt caching on supported providers.",
                      "title": "text"
                    },
                    "title": "Objects"
                  }
                ]
              },
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "role": {
                "type": "string",
                "enum": [
                  "system"
                ]
              }
            },
            "required": [
              "content",
              "role"
            ],
            "description": "The system message is a special message that provides context to the model. It is not part of the conversation and is not visible to the user.",
            "title": "System Message"
          },
          {
            "type": "object",
            "properties": {
              "content": {
                "anyOf": [
                  {
                    "type": "string",
                    "title": "String"
                  },
                  {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "cache_control": {
                          "type": "object",
                          "properties": {
                            "ttl": {
                              "type": "string",
                              "description": "Optional TTL for extended cache duration. Beta feature requiring special header."
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "ephemeral"
                              ],
                              "description": "The type of cache control. Currently only \"ephemeral\" is supported."
                            }
                          },
                          "required": [
                            "type"
                          ],
                          "description": "Optional cache control for prompt caching on supported providers.",
                          "title": "Cache Control"
                        },
                        "text": {
                          "type": "string",
                          "minLength": 1,
                          "description": "The prompt text of the message. Must be at-least one character in length",
                          "title": "Text Content Object"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "text"
                          ],
                          "title": "Text Content String"
                        }
                      },
                      "required": [
                        "text",
                        "type"
                      ],
                      "description": "Text message type. Supports optional cache_control for prompt caching on supported providers.",
                      "title": "text"
                    },
                    "title": "Objects"
                  }
                ]
              },
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "role": {
                "type": "string",
                "enum": [
                  "developer"
                ]
              }
            },
            "required": [
              "content",
              "role"
            ],
            "description": "The developer message provides high-level instructions to reasoning models (o1, codex). Semantically similar to system messages but specifically designed for reasoning model workflows.",
            "title": "Developer Message"
          }
        ]
      },
      "minItems": 1,
      "description": "A list of messages comprising the conversation so far. Depending on the model you use, different message types (modalities) are supported, like text and images. Non-multimodal models reject image content. For vision models that support multiple images (supportsMultipleImages), images are preserved across all messages in the conversation history. For single-image vision models, only the last image-containing message retains its images."
    },
    "min_p": {
      "type": "number",
      "minimum": 0,
      "maximum": 1,
      "description": "Sets a minimum probability threshold for token selection. Tokens with probabilities below this value are filtered out."
    },
    "min_temp": {
      "type": "number",
      "minimum": 0,
      "maximum": 2,
      "description": "Minimum temperature value for dynamic temperature scaling."
    },
    "model": {
      "type": "string",
      "description": "The ID of the model you wish to prompt. May also be a model trait, or a model compatibility mapping. See the models endpoint for a list of models available to you. You can use feature suffixes to enable features from the venice_parameters object. Please see \"Model Feature Suffix\" documentation for more details."
    },
    "n": {
      "type": "integer",
      "default": 1,
      "description": "How many chat completion choices to generate for each input message. Note that you will be charged based on the number of generated tokens across all of the choices. Keep n as 1 to minimize costs."
    },
    "presence_penalty": {
      "type": "number",
      "maximum": 2,
      "minimum": -2,
      "default": 0,
      "description": "Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics."
    },
    "pro

# --- truncated at 32 KB (46 KB total) ---
# Full source: https://artifacts.apis.io/venice-ai/json-schema/venice-ai-chat-completion-request-schema.json

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/venice-ai-chat-completion-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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