Skip to content
Skill Authoring
Skill

/venice-models

Discover Venice models, their capabilities, constraints, and pricing. Covers GET /models (with the ?type filter - text, image, video, music, tts, asr, embedding, upscale, inpaint, decision, all, code), /models/traits, /models/compatibility_mapping, every ModelResponse field

BOOST
From plugin
venice
15422 skills
Install
$ npx -y skills add veniceai/skills --skill venice-models --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/venice-models

Context preview

The summary Claude sees to decide when to auto-load this skill.

Discover Venice models, their capabilities, constraints, and pricing. Covers GET /models (with the ?type filter - text, image, video, music, tts, asr, embedding, upscale, inpaint, decision, all, code), /models/traits, /models/compatibility_mapping, every ModelResponse field

SKILL.md

venice-models.SKILL.md
name: venice-models
description: Discover Venice models, their capabilities, constraints, and pricing. Covers GET /models (with the ?type filter - text, image, video, music, tts, asr, embedding, upscale, inpaint, decision, all, code), /models/traits, /models/compatibility_mapping, every ModelResponse field (capabilities, constraints, per-type pricing with promotional rates, uncensored, deprecation, voice-changer and voice-cloning specs), and how to use this to pick the right model programmatically.

Venice Models

Three read-only endpoints for model discovery - all `GET`, all public:

| Endpoint | Returns | |---|---| | `/models` | Model catalog with `model_spec` (capabilities, constraints, pricing). | | `/models/traits` | Trait → model ID map (e.g. `default`, `default_reasoning`, `highest_quality`). | | `/models/compatibility_mapping` | Legacy / third-party model ID → Venice model ID aliases. |

**Auth is optional.** These routes need no API key, so a plain `curl` works. If you send `Authorization: Bearer $VENICE_API_KEY` the result is tailored to that caller: a key's `modelPrivacy` setting filters the list, beta-flagged accounts also see beta models, and partner accounts see their negotiated rates. An invalid key is not rejected - you just get the public view.

**`?type=` values** (default `text` when omitted):

| Value | `/models` | `/models/traits` | `/models/compatibility_mapping` | |---|---|---|---| | `text`, `image`, `video`, `music`, `tts`, `asr`, `embedding`, `upscale`, `inpaint`, `decision` | yes | yes | yes | | `all` (every type) | yes | yes | `400` | | `code` (text models with `capabilities.optimizedForCode: true`) | yes | yes | `400` |

Anything else returns `400 { "error": "Invalid request parameters", "details": …, "issues": … }`.

`music` includes long-form audio (songs, sound effects, ElevenLabs narration models) and any voice-changer models. `decision` lists the typed-judgment models used by `POST /decisions` (today: `jev-latest`, flagged `betaModel: true`) - see [`venice-decisions`](../venice-decisions/SKILL.md).

Use when

  • You need to pick a model at runtime based on capabilities (vision, reasoning, function calling, E2EE, X search, multi-image, …).
  • You need to validate a request against a model's `constraints` (prompt length, aspect ratio, resolution, steps, durations).
  • You need the current **price per million tokens / per image / per second / per million characters** to build a cost estimate.
  • You want to resolve a trait (`default`, `default_reasoning`, `highest_quality`) or a legacy alias (`gpt-4o`) to a concrete Venice model ID.

`GET /models`

curl "https://api.venice.ai/api/v1/models?type=text"
{
  "object": "list",
  "type": "text",
  "data": [
    {
      "id": "zai-org-glm-5-2",
      "object": "model",
      "owned_by": "venice.ai",
      "type": "text",
      "created": 1781568000,
      "context_length": 1000000,
      "model_spec": {
        "name": "GLM 5.2",
        "description": "GLM-5.2 is the next-generation large language model…",
        "availableContextTokens": 1000000,
        "maxCompletionTokens": 131072,
        "privacy": "private",
        "modelSource": "https://huggingface.co/zai-org/GLM-5.2",
        "offline": false,
        "traits": ["default", "function_calling_default"],
        "capabilities": { "supportsReasoning": true, "reasoningEffortOptions": ["none", "high", "max"], "…": "…" },
        "pricing": {
          "input":       { "usd": 1.4,  "diem": 1.4 },
          "cache_input": { "usd": 0.26, "diem": 0.26 },
          "output":      { "usd": 4.4,  "diem": 4.4 }
        }
      }
    }
  ]
}

Top-level `ModelResponse` fields

| Field | Notes | |---|---| | `id` | The model ID to send as `model`. | | `object` / `owned_by` | Always `"model"` / `"venice.ai"`. | | `type` | One of the 10 model types above. | | `created` | Unix seconds - release date on the Venice API. | | `context_length` | Text models only. OpenAI-compatible mirror of `model_spec.availableContextTokens`. | | `discount_to_user` | Reseller-only (0 < x < 1). Returned only to the reselling partner whose agreement it belongs to and omitted for other callers - treat absent as no discount. | | `model_spec` | Everything below. |

`model_spec` - common fields

| Field | Use | |---|---| | `name`, `description`, `modelSource` | Display name, blurb, upstream URL (`description` / `modelSource` may be absent). | | `privacy` | `private` (zero data retention) or `anonymized` (third-party provider; not tied to your identity). | | `offline` | `true` ⇒ requests return `503` "The model is temporarily offline". Skip it. | | `traits` | Trait names this model currently holds (may be `[]`). | | `uncensored` | Present and `true` only for models Venice classifies as uncensored (all modalities). Absent otherwise - never `false`. Upstream providers may still filter. | | `betaModel` | Model is in beta status (still callable). | | `beta` | Model is restricted to beta-access accounts. Only appears in lists returned to such accounts. | | `regionRestrictions` | Country codes where the model is **blocked** (the OpenAPI description reads "intended to be available", but requests are rejected *from* the listed countries). Those requests get `403` "The specified model is unavailable in <country>…". Absent on unrestricted models. | | `deprecation` | `{ autoRemap, date, removesAt, replacementModelId?, startsAt? }` - present only when retirement is scheduled. The model drops out of `/models` at `removesAt`; `autoRemap: true` means Venice may remap requests for this ID to `replacementModelId` instead of returning an error. | | `model_sets` | Text, image and video only. Curation tags such as `venice_recommendations`, `featured`, and for video `audio`, `uncensored`, `high_resolution`, `fast`, … (served live but not declared in the OpenAPI schema). |

`model_spec.capabilities` - text models

| Flag | Meaning | |---|---| | `optimizedForCode` | Tuned fo

Read more
Ships withvenice

Agent Skills for the Venice API. Skills are self-contained folders of instructions (one SKILL.md each) that an LLM agent loads on demand to work correctly against a specific surface area of the API.

Get the whole plugin

Other skills on venice.