Agent Skillssediman-agent/OpenSkynet › venice-characters

venice-characters

GitHub

提供Venice平台公开角色(Persona)的API集成指南,涵盖角色搜索、详情获取及评论查询,并说明如何通过character_slug参数在聊天中应用特定角色预设。

skills/veniceai_skills/venice-characters/SKILL.md sediman-agent/OpenSkynet

Trigger Scenarios

需要构建角色选择界面或发现功能 希望在应用中集成预设人格角色 需要查询或筛选Venice平台上的角色目录

Install

npx skills add sediman-agent/OpenSkynet --skill venice-characters -g -y
More Options

Non-standard path

npx skills add https://github.com/sediman-agent/OpenSkynet/tree/main/skills/veniceai_skills/venice-characters -g -y

Use without installing

npx skills use sediman-agent/OpenSkynet@venice-characters

指定 Agent (Claude Code)

npx skills add sediman-agent/OpenSkynet --skill venice-characters -a claude-code -g -y

安装 repo 全部 skill

npx skills add sediman-agent/OpenSkynet --all -g -y

预览 repo 内 skill

npx skills add sediman-agent/OpenSkynet --list

SKILL.md

Frontmatter
{
    "name": "venice-characters",
    "description": "Discover and use Venice public characters (persona-driven system prompts with a bound model). Covers GET \/characters (search\/filter\/sort), \/characters\/{slug}, \/characters\/{slug}\/reviews, the Character schema, and how to apply a character via venice_parameters.character_slug in chat completions."
}

Venice Characters

Characters are published personas on Venice — each one bundles a system prompt, a backing model, optional web access, and metadata (tags, ratings, adult flag). You apply a character to any chat by passing its slug via venice_parameters.character_slug.

Use when

  • You want to build a character-selection UI or discovery surface.
  • You want to ship an app with a preset persona (e.g. a coding coach, a philosopher, a game NPC).
  • You need to adapt a character's underlying model (modelId) to match your capability requirements.

Three endpoints, all under Preview (API may change):

Endpoint Purpose
GET /characters Browse/search/filter the catalog.
GET /characters/{slug} Fetch one character.
GET /characters/{slug}/reviews Paginated public reviews.

All three endpoints require authentication (Bearer API key or x402 SIWE) — see venice-auth. There is no unauthenticated public endpoint.

GET /characters

curl "https://api.venice.ai/api/v1/characters?search=philosopher&sortBy=highestRating&limit=20" \
  -H "Authorization: Bearer $VENICE_API_KEY"

Query parameters

Param Type Notes
search string, ≤ 200 Name, description, or tag match. Hashtag (#Philosophy) supported.
categories string[], ≤ 20 Repeat or comma-separate. Character categories (roleplay, philosophy, …).
tags string[], ≤ 20 Repeat or comma-separate.
modelId string[], ≤ 20 Filter by backing model (zai-org-glm-5-1, kimi-k2-6, minimax-m25, …).
isAdult "true" / "false" Adult-content flag.
isPro "true" / "false" Require a Pro model.
isWebEnabled "true" / "false" Allow web access.
sortBy enum featured, highestRating, highlyRated, highlyRatedAndRecent, imports, mostRecent, ratingCount.
sortOrder asc / desc Default desc.
limit 1–100 Default 50.
offset integer Pagination offset.

Character object

Field Notes
id UUID.
slug Use this as character_slug in chat. URL-safe.
name, description, photoUrl, shareUrl Presentation.
author Anonymized short ID.
tags[], featured, adult, webEnabled Metadata.
modelId Backing Venice model ID (e.g. venice-uncensored).
stats {averageRating, imports, ratingCount, ratingSum, userRating}.
createdAt, updatedAt ISO-8601.

GET /characters/{slug}

curl "https://api.venice.ai/api/v1/characters/alan-watts" \
  -H "Authorization: Bearer $VENICE_API_KEY"

Returns the same object shape above, wrapped as { object: "character", data: { ... } }. 404 if the slug is unknown or unpublished.

GET /characters/{slug}/reviews

curl "https://api.venice.ai/api/v1/characters/alan-watts/reviews?page=1&pageSize=20" \
  -H "Authorization: Bearer $VENICE_API_KEY"

Response:

{
  "object": "list",
  "pagination": {"page": 1, "pageSize": 20, "total": 87, "totalPages": 5},
  "summary": {"averageRating": 4.7, "totalReviews": 87},
  "data": [
    {
      "id": "...", "characterId": "...", "createdAt": "...",
      "rating": 5, "message": "Thoughtful and grounded.",
      "locale": "en", "username": "product_user_42", "isOwner": false,
      "userAvatarUrl": "https://cdn.venice.ai/..."
    }
  ]
}

Also sets x-pagination-* response headers (limit, page, total, total-pages).

Using a character in chat

Minimal

{
  "model": "zai-org-glm-5-1",
  "venice_parameters": { "character_slug": "alan-watts" },
  "messages": [
    { "role": "user", "content": "What's the nature of mind?" }
  ]
}

The character's system prompt is injected by Venice. include_venice_system_prompt defaults to true and adds Venice's curated prelude — set it to false for a pure character voice.

Ignoring the character's backing model

You can override the model — Venice will still apply the character's system prompt:

{
  "model": "kimi-k2-6",
  "venice_parameters": {
    "character_slug": "alan-watts",
    "include_venice_system_prompt": false
  },
  "messages": [...]
}

Useful when the character's modelId lacks a capability (e.g. function calling, vision) that your app needs.

Via feature suffix on the model string

{ "model": "zai-org-glm-5-1:character_slug=alan-watts", "messages": [...] }

Useful when the client library (OpenAI SDK, LangChain, etc.) can't add venice_parameters. See venice-chat for the full suffix grammar.

Patterns

Character picker UI

const res = await fetch(`${base}/characters?sortBy=featured&limit=50`, {
  headers: { Authorization: `Bearer ${process.env.VENICE_API_KEY}` },
})
const { data } = await res.json()
// show data[].photoUrl, data[].name, data[].stats.averageRating
// pick a slug, then pass into chat:
await chat({
  model: pickedModelId,
  venice_parameters: { character_slug: pickedSlug },
  messages: [...]
})

Filter for family-friendly + web

/characters?isAdult=false&isWebEnabled=true&sortBy=highlyRatedAndRecent

Search by hashtag

/characters?search=%23Philosophy

Errors

Code Meaning
400 Bad query params (e.g. limit > 100).
401 Missing or invalid auth. All three endpoints require a Bearer key or SIWE header.
404 Unknown slug.
500 Transient. Retry.

Gotchas

  • This is Preview API — response shape may change.
  • Slugs are the public ID on the character's page (venice.ai/c/<slug>). They are not the internal id UUID.
  • photoUrl / shareUrl / userAvatarUrl can be null — don't assume they exist.
  • Character modelId may be gated (Pro, beta). If you always reuse the character's modelId, handle 401 "only available to Pro users" gracefully.
  • Adult-flagged characters are omitted unless isAdult=true is explicitly passed.

Version History

  • c9d8953 Current 2026-07-05 20:05

Same Skill Collection

skills/anthropics_skills/algorithmic-art/SKILL.md
skills/anthropics_skills/brand-guidelines/SKILL.md
skills/anthropics_skills/canvas-design/SKILL.md
skills/anthropics_skills/doc-coauthoring/SKILL.md
skills/anthropics_skills/frontend-design/SKILL.md
skills/anthropics_skills/internal-comms/SKILL.md
skills/anthropics_skills/mcp-builder/SKILL.md
skills/anthropics_skills/pdf/SKILL.md
skills/anthropics_skills/skill-creator/SKILL.md
skills/anthropics_skills/slack-gif-creator/SKILL.md
skills/anthropics_skills/theme-factory/SKILL.md
skills/anthropics_skills/web-artifacts-builder/SKILL.md
skills/anthropics_skills/webapp-testing/SKILL.md
skills/browser-use_browser-use/browser-use/SKILL.md
skills/browser-use_browser-use/remote-browser/SKILL.md
skills/browser-use_video-use/manim-video/SKILL.md
skills/browser-use_video-use/video-use/SKILL.md
skills/cloudflare_skills/agents-sdk/SKILL.md
skills/cloudflare_skills/cloudflare/SKILL.md
skills/cloudflare_skills/durable-objects/SKILL.md
skills/cloudflare_skills/sandbox-sdk/SKILL.md
skills/cloudflare_skills/web-perf/SKILL.md
skills/cloudflare_skills/workers-best-practices/SKILL.md
skills/cloudflare_skills/wrangler/SKILL.md
skills/cursor_plugins/cli-for-agent/skills/cli-for-agents/SKILL.md
skills/cursor_plugins/continual-learning/skills/continual-learning/SKILL.md
skills/cursor_plugins/create-plugin/skills/create-plugin-scaffold/SKILL.md
skills/cursor_plugins/create-plugin/skills/review-plugin-submission/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/check-compiler-errors/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/control-cli/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/control-ui/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/deslop/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/fix-ci/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/fix-merge-conflicts/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/get-pr-comments/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/loop-on-ci/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/make-pr-easy-to-review/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/new-branch-and-pr/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/pr-review-canvas/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/review-and-ship/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/run-smoke-tests/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/thermo-nuclear-code-quality-review/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/verify-this/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/weekly-review/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/what-did-i-get-done/SKILL.md
skills/cursor_plugins/cursor-team-kit/skills/workflow-from-chats/SKILL.md
skills/cursor_plugins/docs-canvas/skills/docs-canvas/SKILL.md
skills/cursor_plugins/orchestrate/skills/orchestrate/SKILL.md
skills/cursor_plugins/pr-review-canvas/skills/pr-review-canvas/SKILL.md
skills/cursor_plugins/pstack/skills/architect/SKILL.md

Metadata

Files
0
Version
c9d8953
Hash
e7bbc801
Indexed
2026-07-05 20:05

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-13 15:20
浙ICP备14020137号-1 $Гость$