venice-models について
venice-modelsは、Venice APIで利用できるモデルを調べるスキルです。モデルの選定やリクエストの検証を行う開発者向けに、機能、制約、価格、特性、互換エイリアスを確認できます。
主な機能
- 01モダリティや種類別にモデルを一覧
- 02機能と制約を確認
- 03モデル価格を確認
- 04モデル特性をIDに解決
- 05旧IDをVenice IDに対応付け
活用シーン
- 01必要な機能に応じてモデルを選択
- 02制約に沿ってリクエストパラメーターを検証
- 03モデルの費用を見積もる
- 04特性や旧モデルのエイリアスを解決
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ veniceai/ skills --skill venice-modelsインストール後、Claude Code で/venice-modelsを入力して読み込まれたか確認します。
詳細
Venice モデル
モデルを検索するための読み取り専用エンドポイントが3つあります。すべて GET で、すべて公開されています。
| エンドポイント | 戻り値 |
|---|---|
/models | model_spec(機能、制約、料金)を含むモデルカタログ。 |
/models/traits | 特性 → モデル ID のマップ(例:default、default_reasoning、highest_quality)。 |
/models/compatibility_mapping | 旧式またはサードパーティ製のモデル ID → Venice モデル ID のエイリアス。 |
認証は任意です。 これらのルートに API キーは不要なので、通常の curl で利用できます。Authorization: Bearer $VENICE_API_KEY を送信すると、結果は呼び出し元に合わせて調整されます。キーの modelPrivacy 設定に基づいて一覧が絞り込まれ、ベータフラグが有効なアカウントにはベータモデルも表示され、パートナーアカウントには個別に合意した料金が表示されます。無効なキーは拒否されず、公開ビューが返されます。
?type= の値(省略時は text):
| 値 | /models | /models/traits | /models/compatibility_mapping |
|---|---|---|---|
text、image、video、music、tts、asr、embedding、upscale、inpaint、decision | はい | はい | はい |
all(すべてのタイプ) | はい | はい | 400 |
code(capabilities.optimizedForCode: true のテキストモデル) | はい | はい | 400 |
それ以外の値を指定すると、400 { "error": "Invalid request parameters", "details": …, "issues": … } が返されます。
music には、長尺音声(楽曲、効果音、ElevenLabs のナレーションモデル)とあらゆるボイスチェンジャーモデルが含まれます。decision には、POST /decisions で使用される型付き判定モデルが一覧表示されます(現時点では jev-latest。betaModel: true のフラグが付いています)。venice-decisions を参照してください。
使用する場面
- 機能(ビジョン、推論、関数呼び出し、E2EE、X 検索、複数画像など)に基づいて、実行時にモデルを選択する必要がある場合。
- モデルの
constraints(プロンプトの長さ、アスペクト比、解像度、ステップ数、長さ)に照らしてリクエストを検証する必要がある場合。 - コスト見積もりの作成に必要な、100万トークンあたり/画像あたり/秒あたり/100万文字あたりの現在の料金を確認する場合。
- 特性(
default、default_reasoning、highest_quality)または旧式のエイリアス(gpt-4o)を、具体的な Venice モデル 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 }
}
}
}
]
}
トップレベルの ModelResponse フィールド
| フィールド | 説明 |
|---|---|
id | model として送信するモデル ID。 |
object / owned_by | 常に "model" / "venice.ai" です。 |
type | 上記10種類のモデルタイプのいずれか。 |
created | Unix 秒単位の、Venice API でのリリース日。 |
context_length | テキストモデルのみ。model_spec.availableContextTokens を OpenAI 互換形式で表した値です。 |
discount_to_user | 再販業者専用(0 < x < 1)。契約の対象となる再販パートナーにのみ返され、他の呼び出し元では省略されます。存在しない場合は割引なしとして扱ってください。 |
model_spec | 以下のすべての情報。 |
model_spec - 共通フィールド
| フィールド | 用途 |
|---|---|
name、description、modelSource | 表示名、概要、上流の URL(description / modelSource は省略される場合があります)。 |
privacy | private(データを一切保持しない)または anonymized(第三者プロバイダーを利用し、ユーザーの身元とは紐付けられません)。 |
offline | true ⇒ リクエストは 503「The model is temporarily offline」を返します。スキップしてください。 |
traits | このモデルが現在持つ特性名([] の場合もあります)。 |
uncensored | Venice が検閲なしと分類するモデル(すべてのモダリティ)の場合にのみ存在し、値は true です。それ以外では省略されます。false にはなりません。上流プロバイダーがフィルタリングする場合はあります。 |
betaModel | モデルはベータ版のステータスです(引き続き呼び出し可能です)。 |
beta | モデルはベータアクセスアカウントに限定されています。そのようなアカウントに返されるリストにのみ表示されます。 |
regionRestrictions | モデルがブロックされている国のコードです。OpenAPI の説明には「利用可能となることを想定」とありますが、リストされた国からのリクエストは拒否されます。そのようなリクエストには 403「The specified model is unavailable in …」が返されます。制限のないモデルでは省略されます。 |
deprecation | { autoRemap, date, removesAt, replacementModelId?, startsAt? } - 提供終了が予定されている場合にのみ存在します。モデルは removesAt に /models から削除されます。autoRemap: true の場合、Venice はエラーを返す代わりに、この ID 宛てのリクエストを replacementModelId にリマップすることがあります。 |
model_sets | テキスト、画像、動画のみが対象です。venice_recommendations、featured、動画用の audio、uncensored、high_resolution、fast などのキュレーションタグです(ライブで提供されますが、OpenAPI スキーマでは宣言されていません)。 |
model_spec.capabilities - テキストモデル
| フラグ | 意味 |
|---|---|
optimizedForCode | コーディングタスク向けに調整されています(?type=code に使用されます)。 |
quantization | fp4 / fp8 / fp16 / bf16 / int8 / int4 / not-available。 |
supportsFunctionCalling | tools を使用できます。 |
supportsResponseSchema | response_format: { type: "json_schema" } に対応します。 |
supportsReasoning | モデルは推論を出力します。 |
supportsReasoningEffort | reasoning_effort / reasoning.effort に対応します。true の場合は、reasoningEffortOptions(none、minimal、low、medium、high、xhigh、max の一部。none は推論を無効にできることを意味します)と defaultReasoningEffort も含まれます。 |
supportsVision | image_url パーツを受け付けます。 |
supportsMultipleImages + maxImages | 1 回のリクエストで複数の画像を使用できます。maxImages はモデルが公表している上限です。Chat では、すべてのモデルについてメッセージごとに最大 10 枚までに制限されます。 |
supportsVideoInput + maxVideos | video_url パーツを受け付けます。一部のモデルでは maxVideos も含まれます。 |
supportsAudioInput | input_audio パーツを受け付けます。 |
supportsWebSearch | venice_parameters.enable_web_search - 現在、すべてのテキストモデルで true です。 |
supportsXSearch | venice_parameters.enable_x_search による xAI ネイティブのウェブ検索および X 検索に対応します。 |
supportsLogProbs | logprobs / top_logprobs に対応します。 |
supportsTeeAttestation | TEE で実行されます。GET /tee/attestation / /tee/signature で検証してください。 |
supportsE2EE | エンドツーエンド暗号化推論に対応します(TEE が必要です)。 |
model_spec.constraints とタイプ固有のフィールド
- テキスト -
constraintsは省略可能です(設定されているモデルはごく少数です):temperature.default、top_p.default、省略可能な{frequency,presence,repetition}_penalty.default。 - 画像 -
constraints:promptCharacterLimit、widthHeightDivisor、steps.{default,max}、省略可能なaspectRatios[]とdefaultAspectRatio、省略可能なresolutions[]とdefaultResolution、省略可能なqualities[]とdefaultQuality(qualityを受け付けるモデルの場合)、省略可能なmaxStyleReferencesとsupportsStyleReferenceStrength。これらに加えて、supportsStyleReferences、およびsupportsWebSearchとsupportsOptimizePromptThinking(ライブ配信されますが、OpenAPI スキーマには含まれません)。 - インペイント/編集 -
constraints:aspectRatios[]、promptCharacterLimit、combineImages、省略可能なmaxInputImages、singleImageAspectRatio(falseの場合、単一画像の編集では入力画像の寸法が維持され、aspect_ratioは無視されます)、省略可能なresolutions[]/defaultResolution、qualities[]/defaultQuality。これらに加えて、supportsOptimizePromptThinking。 - 動画 -
constraints:model_type(text-to-video/image-to-video/video)、aspect_ratios[]、resolutions[]、durations[](例:"5s"。ほとんどのアップスケールモデルと動画間変換モデルでは"Auto"が指定され、これはソースの長さを意味します。その場合はdurationを省略してください)、audio、audio_configurable、audio_input、per_reference_audio、video_input、省略可能なprompt_character_limit(デフォルトは 2500)、省略可能なreference_image_min_short_side_pixels、reference_image_min_aspect_ratio、reference_image_max_aspect_ratio、およびエンハンスメントモデルにのみ含まれるtopazブロック(models、sliders、selects、no_upscale_models、h264_output、prompt)。audio_input…reference_image_*キーはライブ配信されていますが、OpenAPI スキーマには定義されていません。 - TTS(
model_specのトップレベル) -voices[]、default_format、supported_formats[](このリストにない形式を明示的に指定すると拒否されます)、supports_custom_voice_id、および音声クローニングを利用できるモデルのvoice_cloning{ mode: "zero_shot" | "persistent", accepted_formats[], min_sample_seconds, retention_days }(POST /audio/voicesと併用してください。詳しくはvenice-audio-speechを参照してください)。prompt/temperature/top_pの対応状況など、モデルごとの切り替え項目はここでは公開されません。対応状況の一覧として、venice-audio-speechのモデル別テーブルを使用してください(公開されているスキーマの説明は不完全です)。 - 音楽/音声生成(トップレベル) -
supports_lyrics、lyrics_required、supports_force_instrumental、supports_lyrics_optimizer(ライブ配信されますが、OpenAPI スキーマには含まれません)、supports_loop、supports_custom_voice_id、supports_language_code、supports_speed、supported_formats[]、default_format、prompt_character_limit、min_prompt_length、省略可能なlyrics_character_limit、duration_options[]、min_duration/max_duration/default_duration、voices[]/default_voice、default_speed/min_speed/max_speed。 - ボイスチェンジャー(
voice_changer: trueの音楽モデル) -supports_background_noise_removal、supports_seed、accepted_audio_formats[]、max_source_audio_duration_secondsが追加されます。これらは/audio/queueではなく/audio/voice-changer/*で実行されます。詳しくはvenice-audio-voice-changerを参照してください。現在、ボイスチェンジャーモデルは公開リストにありません。利用を前提とする前に、?type=musicでvoice_changer: trueのモデルを確認してください。 - 埋め込み(トップレベル) -
embeddingDimensions、maxInputTokens、supportsCustomDimensions(trueの場合にのみ存在します)。 - 判定(トップレベル) -
maxStateTokens(状態と最長の質問)、maxTotalTokens(状態とすべての質問)。 - ASR/アップスケール - 共通フィールドと
pricing以外に追加フィールドはありません。
model_spec.pricing - タイプ別
各価格は { usd, diem } です。現在、diem は常に usd と同額です。価格には、呼び出し元アカウントで有効なプロモーション割引がすでに反映されています(一部のプロモーションはティアによって適用条件が異なるため、匿名ユーザーと Pro ユーザーでは表示される金額が異なる場合があります)。請求に使用するものと同じ認証情報で価格を確認してください。
- テキスト/埋め込み/判定 - 100 万トークンあたりの
inputとoutput、任意のcache_input(キャッシュ読み取り)、cache_write(キャッシュ作成。例:Anthropic)、およびextended{ context_token_threshold, input, output, cache_input?, cache_write? }。入力トークン数がしきい値を超えると、リクエスト全体に拡張料金が適用されます。 - 画像 - 画像ごとの固定料金である
generation、またはresolutions.<1K|2K|4K>。任意のquality.<resolution>.<low|medium|high>。常にupscale.{2x,4x}ブロックが含まれます(共通のアップスケール料金であり、このモデルがアップスケールに対応していることを示すものではありません。また、プロモーション割引の対象外です)。 - アップスケール(
upscaler) - 画像と同じ形式で、generationとupscale.{2x,4x}を使用します。 - インペイント/編集 - 編集ごとの
inpaint、任意のresolutions.*、任意のinputImages { included, additional }(includedを超える入力画像ごとの追加料金)、任意のquality.*。 - 動画 -
/modelsにはpricingがありません。POST /video/quoteを使用してください(venice-videoを参照)。 - 音楽 -
generation(ジョブごと)、durations.<ceiling_seconds>{ usd, diem, min_seconds, max_seconds }、per_second、per_thousand_charactersのいずれか1つだけです。正確な価格はPOST /audio/quoteで確認してください。 - TTS - 100 万入力文字あたりの
input。 - ASR -
per_audio_second。
暗号資産 RPC の料金は /models にありません。venice-crypto-rpc を参照してください。
GET /models/traits
curl "https://api.venice.ai/api/v1/models/traits?type=text"
{
"object": "list",
"type": "text",
"data": {
"default": "zai-org-glm-5-2",
"function_calling_default": "zai-org-glm-5-2",
"default_reasoning": "kimi-k3",
"default_code": "deepseek-v4-pro-0813",
"default_vision": "qwen-3-8-27b",
"most_intelligent": "grok-4-7",
"most_uncensored": "venice-uncensored-1-2"
}
}
使用可能な trait キー:default、fastest、most_uncensored、eliza-default(任意のタイプ)、default_code、default_reasoning、default_vision、function_calling_default、most_intelligent(テキスト)、highest_quality(画像)。あるキーは、それを保持するモデルが存在する間だけ表示されます。現在、テキストでは fastest に割り当てられたモデルはありません。現在、空でないマップを返すのは text と image(およびそれらを元に作成された all/code フィルター)だけです。?type=all はすべてのタイプを1つのマップに統合するため、複数のタイプで共有されるキーは競合します。たとえば、ここでの default は画像モデルに解決されます。上記の値はスナップショットです。実行時に解決してください。
trait 名を model に直接指定することもできます(例:"model": "default_reasoning")。Venice はリクエストごとに解決します。
GET /models/compatibility_mapping
curl "https://api.venice.ai/api/v1/models/compatibility_mapping?type=text"
{
"object": "list",
"type": "text",
"data": {
"gpt-4o": "llama-3.3-70b",
"gpt-4.1": "qwen3-235b-a22b-instruct-2507",
"claude-3-5-sonnet-20241022": "llama-3.3-70b",
"qwen3-235b": "qwen3-235b-a22b-thinking-2507"
}
}
キーは旧式の OpenAI/Anthropic/以前の Venice の ID で、値はそれぞれが解決される Venice モデルです。現在、?type=embedding は text-embedding-ada-002 → text-embedding-bge-m3 にマッピングされます。それ以外のタイプは空です。trait と同様に、エイリアスを model に直接指定できます。古い OpenAI ID をハードコードしているコードの移行に便利ですが、マッピングは ID のみを基準としているため、移行先の機能を確認してください。
よくあるパターン
実行時にビジョンモデルと推論モデルを選択する
const base = 'https://api.venice.ai/api/v1'
const list = await fetch(`${base}/models?type=text`).then(r => r.json())
const match = list.data.find((m: any) =>
m.model_spec.capabilities.supportsVision &&
m.model_spec.capabilities.supportsReasoning &&
!m.model_spec.offline &&
!m.model_spec.deprecation
)
送信前に画像リクエストを検証する
const spec = (await fetch(`${base}/models?type=image`).then(r => r.json()))
.data.find((m: any) => m.id === myModel)!.model_spec
const { widthHeightDivisor, promptCharacterLimit, aspectRatios } = spec.constraints
if (prompt.length > promptCharacterLimit) throw new Error('prompt too long')
if (width % widthHeightDivisor !== 0) throw new Error('width not divisible')
if (aspectRatios && !aspectRatios.includes(myAspect)) throw new Error('bad aspect')
LLM のコストを見積もる
// textSpec = model_spec of a text model from /models?type=text
// inputTokens = total prompt tokens, including cachedTokens
const p = textSpec.pricing
const tier = p.extended && inputTokens > p.extended.context_token_threshold ? p.extended : p
const cacheRate = tier.cache_input?.usd ?? tier.input.usd
const cost =
((inputTokens - cachedTokens) / 1_000_000) * tier.input.usd +
(cachedTokens / 1_000_000) * cacheRate +
(outputTokens / 1_000_000) * tier.output.usd
cache_write を持つモデルのキャッシュ書き込みトークンには、input の料金ではなく、そのレートが適用されます。
注意事項
- カタログは変更されます。キャッシュは数日ではなく数分にしてください。このスキルに記載されているモデル ID はスナップショットです。必ず
/modelsで確認してください。 ?typeを省略すると、テキストのみが返されます。すべてを取得するには?type=allを使用してください。- 動画では
model_spec.pricingは常に存在せず、価格が公開されていないモデルでは存在しないことがあります。undefinedに対するガードを設けてください。 regionRestrictionsに列挙されるのは、許可されている国ではなく、ブロックされている国です。uncensoredはfalseではなく省略されます。=== trueで判定してください。- 特性とエイリアスは
typeによって異なります。全体に適用されるデフォルトはありません。必ず?type=...を指定してください。 - プライベートモデルに制限された API キー(
modelPrivacy: PRIVATE_TEXT/PRIVATE_ONLY)ではフィルタリングされたリストが表示されます。認証なしの呼び出しでは、公開されているすべてのモデルが表示されます。 - 一部のフィールドはライブで提供されますが、OpenAPI の
ModelResponseスキーマにはありません(model_sets、画像のsupportsWebSearch、画像とインペイントのsupportsOptimizePromptThinking、音楽のsupports_lyrics_optimizer、複数の動画制約キー)。厳密な生成クライアントでは、これらのフィールドが削除されることがあります。