# Venice AI Chat Completions

> Venice AI Chat Completions is a paid API for AI agents from api.venice.ai, paid per call via x402, $10/call, status unknown (last checked 2026-10-11).

Run multimodal text inference (chat completions) against a specified model, supporting text, images, audio, video, and file inputs with optional web search and streaming.

## Facts

- Endpoint: POST https://api.venice.ai/api/v1/chat/completions?utm_source=zero.xyz
- Price: $10/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/venice-ai-chat-completions-da5493b8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_kxFyd36fDua-1WJdcKfbr

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability venice-ai-chat-completions-da5493b8 -d '<json body>'
```

Example prompt: Using the zai-org-glm-5-1 model on Venice, answer this question for me with web search enabled: 'What are the latest developments in quantum computing as of 2025?' and keep the response concise.

## When to prefer this

Choose this endpoint when you need private, unrestricted LLM inference with multimodal input support (images, audio, video, PDFs) and want OpenAI-compatible chat completions with optional web search. Prefer it over standard OpenAI when you need x402 micropayment-based access, file-to-text auto-extraction, or access to Venice-specific models. Use streaming (stream=true) for long responses.

## Known failure modes

- 402 Payment Required — insufficient x402 wallet balance, includes top-up instructions
- 401 Unauthorized — missing or invalid Bearer API key or X-Sign-In-With-X header
- 400 Bad Request — missing required fields (messages or model), or invalid model ID
- 429 Too Many Requests — rate limit exceeded for the account
- Model not found — specified model ID not available to the authenticated user
- Timeout — long-running non-streaming request exceeds server timeout; use stream=true instead

## How this service works

OpenAI-compatible chat completions.

## Output

A chat completion object containing the assistant's generated message text, finish reason, token usage breakdown (prompt, completion, total), model used, and optionally tool calls, web search citations, and reasoning content. The response mirrors the OpenAI chat completion format.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "messages",
  "model"
 ],
 "properties": {
  "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."
  },
  "seed": {
   "type": "integer",
   "example": 42,
   "minimum": 0,
   "description": "The random seed used to generate the response. This is useful for reproducibility.",
   "exclusiveMinimum": true
  },
  "stop": {
   "anyOf": [
    {
     "type": "string",
     "title": "String"
    },
    {
     "type": "array",
     "items": {
      "type": "string"
     },
     "title": "Array of Strings",
     "maxItems": 4,
     "minItems": 1
    },
    {
     "title": "null",
     "nullable": true
    }
   ],
   "description": "Up to 4 sequences where the API will stop generating further tokens. Defaults to null."
  },
  "text": {
   "type": "object",
   "properties": {
    "verbosity": {
     "enum": [
      "low",
      "medium",
      "high",
      "auto"
     ],
     "type": "string",
     "example": "low",
     "description": "Controls the verbosity of the text response."
    }
   },
   "description": "OpenAI-compatible text configuration parameter."
  },
  "user": {
   "type": "string",
   "description": "This field is discarded on the request but is supported in the Venice API for compatibility with OpenAI clients."
  },
  "min_p": {
   "type": "number",
   "example": 0.05,
   "maximum": 1,
   "minimum": 0,
   "description": "Sets a minimum probability threshold for token selection. Tokens with probabilities below this value are filtered out."
  },
  "model": {
   "type": "string",
   "example": "zai-org-glm-5-1",
   "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."
  },
  "store": {
   "type": "boolean",
   "description": "This field is accepted for OpenAI compatibility but is not used by Venice."
  },
  "tools": {
   "type": "array",
   "items": {
    "anyOf": [
     {
      "type": "object",
      "required": [
       "type"
      ],
      "properties": {
       "type": {
        "enum": [
         "web_search",
         "x_search"

… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "example": {
  "id": "chatcmpl-a81fbc2d81a7a083bb83ccf9f44c6e5e",
  "model": "zai-org-glm-5-1",
  "usage": {
   "total_tokens": 758,
   "prompt_tokens": 612,
   "completion_tokens": 146,
   "prompt_tokens_details": null,
   "completion_tokens_details": null
  },
  "object": "chat.completion",
  "choices": [
   {
    "index": 0,
    "message": {
     "role": "assistant",
     "content": "The sky appears blue because of the way Earth's atmosphere scatters sunlight. When sunlight reaches Earth's atmosphere, it is made up of various colors of the spectrum, but blue light waves are shorter and scatter more easily when they hit the gases and particles in the atmosphere. This scattering occurs in all directions, but from our perspective on the ground, it appears as a blue hue that dominates the sky's color. This phenomenon is known as Rayleigh scattering. During sunrise and sunset, the sunlight has to travel further through the atmosphere, which allows more time for the blue light to scatter away from our direct line of sight, leaving the longer wavelengths, such as red, yellow, and orange, to dominate the sky's color.",
     "tool_calls": [],
     "reasoning_content": null
    },
    "logprobs": null,
    "stop_reason": null,
    "finish_reason": "stop"
   }
  ],
  "created": 1739928524,
  "prompt_logprobs": null,
  "venice_parameters": {
   "enable_e2ee": true,
   "character_slug": "venice",
   "disable_thinking": true,
   "enable_web_search": "auto",
   "enable_web_scraping": false,
   "enable_web_citations": true,
   "web_search_citations": [],
   "strip_thinking_response": true,
   "include_venice_system_prompt": true,
   "include_search_results_in_stream": false,
   "return_search_results_as_documents": false
  }
 },
 "required": [
  "created",
  "id",
  "model",
  "object",
  "usage"
 ],
 "properties": {
  "id": {
   "type": "string",
   "example": "chatcmpl-abc123",
   "description": "The ID of the request."
  },
  "model": {
   "type": "string",
   "example": "zai-org-glm-5-1",
   "description": "The model id used for the request."
  },
  "usage": {
   "type": "object",
   "required": [
    "completion_tokens",
    "prompt_tokens",
    "total_tokens"
   ],
   "properties": {
    "total_tokens": {
     "type": "integer",
     "example": 30,
     "description": "The total number of tokens used in the request."
    },
    "prompt_tokens": {
     "type": "integer",
     "example": 10,
     "description": "The number of tokens in the pro
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/venice-ai-chat-completions-da5493b8/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.venice.ai](https://www.zero.xyz/host/api.venice.ai/llms.txt)
