agentsclimarketplace

Venice api overview

Skill 0xatd/cheaptokens-skills/skills/venice-api-overview

Agent skill pack for using CheapTokens: discounted Venice AI credits, OpenAI-compatible API calls, and x402 purchase flows.

Install
npx -y skills add 0xatd/cheaptokens-skills --skill venice-api-overview

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

High-level map of the Venice.ai API - base URL, authentication modes, endpoint categories, response headers, pricing model, error shape, and versioning. Load this first when starting any Venice integration.

SKILL.md

7.3 KB, as published. Nobody here has run it

Venice API Overview

Venice.ai is an OpenAI-compatible inference platform for text, image, audio, video, and embeddings. One API — two ways to pay: a traditional API key (Pro account), or a wallet (x402, USDC on Base, no account required).

Use when

  • You're writing code against api.venice.ai for the first time.
  • You need to decide between API-key and x402/wallet authentication.
  • You want a quick map of which endpoint to call for which task.
  • You need to understand the common response headers (X-Balance-Remaining, PAYMENT-REQUIRED, etc.).

Base URL

All endpoints live under:

https://api.venice.ai/api/v1

The OpenAPI spec is distributed at outerface/swagger.yaml (current version 20260420.235001).

Authentication (pick one per request)

SchemeHeaderBest for
BearerAuthAuthorization: Bearer <VENICE_API_KEY>Server-side apps, dashboards, usage analytics, bundled credits
siwx (x402)X-Sign-In-With-X: <base64 SIWE JSON>No account, pay-as-you-go with USDC on Base, serverless / agents

Every inference endpoint accepts either — see venice-auth.

# Bearer
curl https://api.venice.ai/api/v1/models \
  -H "Authorization: Bearer $VENICE_API_KEY"

# x402 / SIWE (one-liner via the SDK)
import { VeniceClient } from 'venice-x402-client'
const v = new VeniceClient(process.env.WALLET_KEY)
await v.models.list()

Endpoint map

Inference

CategoryEndpointsSkill
ChatPOST /chat/completionsvenice-chat
Responses (Alpha)POST /responsesvenice-responses
EmbeddingsPOST /embeddingsvenice-embeddings
Image genPOST /image/generate, POST /images/generations, GET /image/stylesvenice-image-generate
Image editPOST /image/edit, POST /image/multi-edit, POST /image/upscale, POST /image/background-removevenice-image-edit
TTSPOST /audio/speechvenice-audio-speech
STTPOST /audio/transcriptionsvenice-audio-transcription
Music (async)POST /audio/quote, /audio/queue, /audio/retrieve, /audio/completevenice-audio-music
Video (async)POST /video/quote, /video/queue, /video/retrieve, /video/complete, /video/transcriptionsvenice-video

Catalog

CategoryEndpointsSkill
ModelsGET /models, /models/traits, /models/compatibility_mappingvenice-models
CharactersGET /characters, /characters/{slug}, /characters/{slug}/reviewsvenice-characters

Account, billing, wallet

CategoryEndpointsSkill
API keys`GETPOST
BillingGET /billing/balance, /billing/usage, /billing/usage-analyticsvenice-billing
x402 walletGET /x402/balance/{wallet}, POST /x402/top-up, GET /x402/transactions/{wallet}venice-x402

Utility

CategoryEndpointsSkill
Crypto RPC proxyGET /crypto/rpc/networks, POST /crypto/rpc/{network}venice-crypto-rpc
AugmentPOST /augment/text-parser, /augment/scrape, /augment/searchvenice-augment

Response headers to watch

HeaderWhenMeaning
X-Balance-Remainingx402 inference successUSDC credits left, e.g. "4.230000"
X-RateLimit-Limit-* / X-RateLimit-Remaining-*all inferenceyour current per-minute/day caps
PAYMENT-REQUIRED402 on x402 inferencebase64 JSON with top-up + SIWX challenge (x402 v2)
Content-Encoding200 when client sent Accept-Encoding: gzip, brcompression (embeddings, chat)

Pricing model at a glance

  • Pricing is dynamic per request, metered in USD.
  • Paid inference endpoints in the spec carry an x-payment-info block with min and max bounds in USD (typically min: 0.001, max: 10.00; higher for bulk video/audio). Read-only discovery routes like GET /models, /models/traits, and /models/compatibility_mapping do not.
  • Pro (Bearer) accounts draw from DIEM (staked credits), USD balance, and bundled credits in priority order.
  • x402 (wallet) users draw from a prepaid USDC credit balance on Base.
  • The authoritative per-model price is on GET /modelsmodel_spec.pricing (when present — video models omit it; use /video/quote for video pricing) (see venice-models).

Standard error shape

Every error body follows one of:

{ "error": "Human-readable message" }

or, for 400 validation errors:

{ "error": "...", "details": { "fieldName": { "_errors": ["Field is required"] } } }

402 on x402 adds structured topUpInstructions and siwxChallenge. See venice-errors for the full table and retry strategy.

OpenAI compatibility — what works and what doesn't

  • Drop-in: /chat/completions, /embeddings, /images/generations, /audio/speech, /audio/transcriptions, /models.
  • Ignored but accepted for compat: user, store.
  • Venice-only extensions live under:
    • venice_parameters (chat completions)
    • venice_parameters is rejected on /responses — use headers / native fields instead
  • Model feature suffixes (e.g. zai-org-glm-5-1:enable_web_search=on, kimi-k2-6:strip_thinking_response=true&disable_thinking=true) flip venice_parameters via the model ID — see venice-chat.

Versioning

  • info.version in swagger.yaml is a timestamp (YYYYMMDD.HHMMSS). There is no /v2; features roll forward on the single /api/v1 surface and are guarded by:
    • Alpha/Beta tags in endpoint descriptions (e.g. /responses, Billing).
    • x-guidance / model capability flags on /models.
  • Always check the model's model_spec.capabilities from GET /models for feature flags (supportsWebSearch, supportsReasoning, supportsE2EE, supportsXSearch, supportsMultipleImages, supportsFunctionCalling, supportsAudioInput, supportsVideoInput, …) before relying on a feature.

Fast start checklist

  1. Read venice-auth and choose Bearer vs x402.
  2. GET /models — pick a model and note its model_spec.constraints and model_spec.pricing.
  3. Wire up one happy-path call from the matching skill.
  4. Add error handling using venice-errors (402, 422, 429).
  5. Hook up observability via X-Balance-Remaining / /billing/usage / /x402/transactions.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.