# Venice AI Characters List

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

Returns a paginated, filterable list of AI characters available on the Venice platform, with support for search, tags, categories, model, and sort options.

## Facts

- Endpoint: GET https://api.venice.ai/api/v1/characters?utm_source=zero.xyz
- Price: $10/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402, ai_ml
- Canonical page: https://www.zero.xyz/c/venice-ai-characters-list-e92321e4
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_CGdckKhqcot5MJQaR6i7w

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-characters-list-e92321e4
```

Example prompt: Show me the top 10 highest-rated philosophy characters on Venice AI — filter out adult content, limit it to 10 results, and sort by highestRating descending.

## When to prefer this

Use this endpoint when you need to discover, browse, or search Venice AI characters by name, description, tags, categories, or model — especially when building a character picker UI, finding characters for a specific use case, or paginating through available personas. Prefer this over a completions endpoint when the goal is discovery rather than conversation.

## Known failure modes

- Invalid or unsupported sortBy enum value returns 400 Bad Request
- Limit exceeding 100 returns validation error
- Search string longer than 200 characters returns 400
- Unauthenticated request may return 401 Unauthorized
- No characters match filters — returns empty data array with 200 OK
- modelId or tag values not matching any character silently returns empty results

## How this service works

This is a preview API and may change. Returns a list of characters supported in the API, with filtering by search, tags, categories, model, and sort options.

## Output

Returns a paginated array of character objects, each with a unique ID, slug (usable in completions API), name, description, tags, categories, photo URL, share URL, associated model ID, author identifier, featured/adult/web-enabled flags, and statistics including average rating, rating count, rating sum, import count, and the authenticated user's own rating if available.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "tags": {
   "type": "array",
   "items": {
    "type": "string",
    "maxLength": 100
   },
   "example": [
    "helpful",
    "productivity"
   ],
   "maxItems": 20,
   "description": "Filter by tag names. Repeat the parameter for multiple values. Comma-separated values are also accepted."
  },
  "isPro": {
   "enum": [
    "true",
    "false"
   ],
   "type": "string",
   "example": "false",
   "description": "Filter to only show characters using pro models"
  },
  "limit": {
   "type": "integer",
   "default": 50,
   "example": 50,
   "maximum": 100,
   "minimum": 0,
   "description": "Number of characters to return (max: 100)",
   "exclusiveMinimum": true
  },
  "offset": {
   "type": "integer",
   "default": 0,
   "example": 0,
   "minimum": 0,
   "nullable": true,
   "description": "Number of characters to skip for pagination"
  },
  "search": {
   "type": "string",
   "example": "assistant",
   "maxLength": 200,
   "description": "Search characters by name, description, or tags. Hashtag search is supported."
  },
  "sortBy": {
   "enum": [
    "featured",
    "highestRating",
    "highlyRated",
    "highlyRatedAndRecent",
    "imports",
    "mostRecent",
    "ratingCount"
   ],
   "type": "string",
   "example": "imports",
   "description": "Sort results using a supported character discovery mode"
  },
  "isAdult": {
   "enum": [
    "true",
    "false"
   ],
   "type": "string",
   "example": "false",
   "description": "Filter by adult content flag"
  },
  "modelId": {
   "type": "array",
   "items": {
    "type": "string",
    "maxLength": 200
   },
   "example": [
    "zai-org-glm-5-1",
    "kimi-k2-6"
   ],
   "maxItems": 20,
   "description": "Filter by model ID(s). Repeat the parameter for multiple values. Comma-separated values are also accepted."
  },
  "sortOrder": {
   "enum": [
    "asc",
    "desc"
   ],
   "type": "string",
   "example": "desc",
   "description": "Sort order applied to the selected sort mode. Defaults to descending when omitted."
  },
  "categories": {
   "type": "array",
   "items": {
    "type": "string",
    "maxLength": 100
   },
   "example": [
    "roleplay",
    "philosophy"
   ],
   "maxItems": 20,
   "description": "Filter by category names. Repeat the parameter for multiple values. Comma-separated values are also accepted."
  },
  "isWebEnabled": {
   "enum": [
    "true",
    "false"
   ],
   "type": "string",
   "example": "true",
   "description": "Filter to only sho
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "data",
  "object"
 ],
 "properties": {
  "data": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "adult",
     "author",
     "createdAt",
     "description",
     "featured",
     "id",
     "name",
     "shareUrl",
     "photoUrl",
     "slug",
     "stats",
     "tags",
     "updatedAt",
     "webEnabled",
     "modelId"
    ],
    "properties": {
     "id": {
      "type": "string",
      "example": "2f460055-7595-4640-9cb6-c442c4c869b0",
      "description": "Unique ID of the character"
     },
     "name": {
      "type": "string",
      "example": "Alan Watts",
      "description": "Name of the character"
     },
     "slug": {
      "type": "string",
      "example": "alan-watts",
      "description": "Slug of the character to be used in the completions API"
     },
     "tags": {
      "type": "array",
      "items": {
       "type": "string"
      },
      "example": [
       "AlanWatts",
       "Philosophy",
       "Buddhism",
       "Taoist",
       "Hindu"
      ],
      "description": "Tags associated with the character"
     },
     "adult": {
      "type": "boolean",
      "example": false,
      "description": "Whether the character is considered adult content"
     },
     "stats": {
      "type": "object",
      "required": [
       "averageRating",
       "imports",
       "ratingCount",
       "ratingSum",
       "userRating"
      ],
      "properties": {
       "imports": {
        "type": "number",
        "example": 112,
        "description": "Number of imports for the character"
       },
       "ratingSum": {
        "type": "number",
        "example": 113,
        "description": "Sum of all rating values for the character"
       },
       "userRating": {
        "type": "number",
        "nullable": true,
        "description": "The authenticated user rating for the character when available"
       },
       "ratingCount": {
        "type": "number",
        "example": 24,
        "description": "Number of ratings for the character"
       },
       "averageRating": {
        "type": "number",
        "example": 4.7,
        "description": "Average rating for the character"
       }
      }
     },
     "author": {
      "type": "string",
      "example": "k3x9q",
      "description": "Short anonymized identifier derived from the character author"
     },
     "modelId": {
      "type": "string",
      "example": "venice-uncensored-1-2",
      "descriptio
… (truncated)
```

## More

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