# Venice AI Embeddings

> Venice AI Embeddings 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).

Converts text or token arrays into vector embeddings using a choice of embedding models, OpenAI-compatible API.

## Facts

- Endpoint: POST https://api.venice.ai/api/v1/embeddings?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-embeddings-c68866c9
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_cJpTKUXSIUkhxUzKQ8-YY

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-embeddings-c68866c9 -d '<json body>'
```

Example prompt: Generate a float-format vector embedding for the text 'The quick brown fox jumped over the lazy dog' using the text-embedding-bge-m3 model on Venice AI.

## When to prefer this

Choose this endpoint when you need OpenAI-compatible embeddings with a choice of diverse models (BGE, Qwen3, Gemini, E5, Nemotron, etc.) and want to pay per-call via USDC/x402 without a subscription. Prefer it over OpenAI's embeddings endpoint when you need multilingual models or crypto-native payment, and over self-hosted solutions when you want managed infrastructure.

## Known failure modes

- Empty string input returns validation error
- Input exceeding 8192 tokens causes rejection
- Array dimensions exceeding 2048 cause rejection
- Invalid or unsupported model name returns error
- 402 Payment Required if x402 wallet balance is insufficient
- Missing required fields (input or model) returns 400 error

## How this service works

Generate embeddings.

## Output

Returns a list of embedding vectors (arrays of floats), the model name used, and token usage (prompt_tokens and total_tokens). Each embedding object includes its index in the batch and the embedding array itself.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "example": {
  "input": "The quick brown fox jumped over the lazy dog",
  "model": "text-embedding-bge-m3",
  "encoding_format": "float"
 },
 "required": [
  "input",
  "model"
 ],
 "properties": {
  "user": {
   "type": "string",
   "description": "This is an unused parameter and is discarded by Venice. It is supported solely for API compatibility with OpenAI."
  },
  "input": {
   "anyOf": [
    {
     "type": "string",
     "title": "string",
     "example": "This is a test.",
     "minLength": 1,
     "description": "The string that will be turned into an embedding. Cannot be an empty string."
    },
    {
     "type": "array",
     "items": {
      "type": "string"
     },
     "title": "array",
     "example": [
      "This is a test."
     ],
     "maxItems": 2048,
     "minItems": 1,
     "description": "The array of strings that will be turned into an embedding. Array must be 2048 dimensions or less."
    },
    {
     "type": "array",
     "items": {
      "type": "integer",
      "minimum": 1
     },
     "title": "array",
     "example": [
      1212,
      318,
      257,
      1332,
      13
     ],
     "maxItems": 2048,
     "minItems": 1,
     "description": "The array of integers that will be turned into an embedding. Array must be 2048 dimensions or less."
    },
    {
     "type": "array",
     "items": {
      "type": "array",
      "items": {
       "type": "integer"
      },
      "minItems": 1
     },
     "title": "array",
     "example": [
      [
       1212,
       318,
       257,
       1332,
       13
      ]
     ],
     "maxItems": 2048,
     "minItems": 1,
     "description": "The array of arrays containing integers that will be turned into an embedding. Array must be 2048 dimensions or less."
    }
   ],
   "example": "The quick brown fox jumped over the lazy dog",
   "description": "Input text to embed, encoded as a string or array of tokens. To embed multiple inputs in a single request, pass an array of strings or array of token arrays. The input must not exceed the max input tokens for the model (8192 tokens), cannot be an empty string, and any array must be 2048 dimensions or less."
  },
  "model": {
   "anyOf": [
    {
     "type": "string"
    },
    {
     "enum": [
      "text-embedding-bge-m3",
      "text-embedding-bge-en-icl",
      "text-embedding-qwen3-8b",
      "text-embedding-qwen3-0-6b",
      "text-embedding-multilingual-e5-large-instruct",
      "text-embedding-3-small",
      "tex
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "example": {
  "data": [
   {
    "index": 0,
    "object": "embedding",
    "embedding": [
     0.0023064255,
     -0.009327292,
     0.015797377
    ]
   }
  ],
  "model": "text-embedding-bge-m3",
  "usage": {
   "total_tokens": 8,
   "prompt_tokens": 8
  },
  "object": "list"
 },
 "required": [
  "data",
  "model",
  "object",
  "usage"
 ],
 "properties": {
  "data": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "embedding",
     "index",
     "object"
    ],
    "properties": {
     "index": {
      "type": "integer",
      "description": "The index of this embedding in the list"
     },
     "object": {
      "enum": [
       "embedding"
      ],
      "type": "string",
      "description": "The object type, which is always \"embedding\""
     },
     "embedding": {
      "type": "array",
      "items": {
       "type": "number"
      },
      "description": "The embedding vector"
     }
    }
   },
   "description": "The list of embeddings generated by the model."
  },
  "model": {
   "type": "string",
   "description": "The name of the model used to generate the embedding."
  },
  "usage": {
   "type": "object",
   "required": [
    "prompt_tokens",
    "total_tokens"
   ],
   "properties": {
    "total_tokens": {
     "type": "integer",
     "description": "The total number of tokens used by the request."
    },
    "prompt_tokens": {
     "type": "integer",
     "description": "The number of tokens used by the prompt."
    }
   },
   "description": "The usage information for the request."
  },
  "object": {
   "enum": [
    "list"
   ],
   "type": "string",
   "description": "The object type, which is always \"list\""
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/venice-ai-embeddings-c68866c9/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)
