vision について
visionは、画像とプロンプトを選択したビジョンモデルに送る、エージェント向けのコマンドライン画像説明ツールです。組み込みおよび環境変数で設定するカスタムプロバイダーに対応し、ネイティブ画像認識が使える場合の外部呼び出し回避にも役立ちます。
主な機能
- 01プロンプトとパスから画像を説明
- 02組み込みプロバイダーの選択
- 03環境変数によるカスタム設定
- 04ネイティブ/外部ルーティングの確認
- 05モデル、エンドポイント、応答設定
活用シーン
- 01スクリーンショットやモックアップの説明
- 02ビジョンモデルによる図の解説
- 03カスタムビジョンエンドポイントの利用
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ xiincs/ claude-code-vision-skill --skill visionインストール後、Claude Code で/visionを入力して読み込まれたか確認します。
同梱ファイルvision.py
詳細
vision
マルチプロバイダー対応のビジョンツールです。さまざまなビジョンモデルを呼び出して、画像の説明を生成します。プロンプトと画像のパスを渡すと、テキストの説明が返されます。
このツールを使うタイミング
すでに画像を自分で確認して理解できる場合(ネイティブのマルチモーダルモデルを使用している場合)は、このツールを使わず、画像を直接分析してください。
通常、SessionStart フックによって、このセッションのルーティング状況が最初に通知されます。この情報が表示されていない場合(長い会話の圧縮で失われた場合や、フックがインストールされていない場合など)は、このツールを呼び出す前に確認してください。
python vision.py --check-routing
native→ このセッションではすでにネイティブの画像理解機能を利用できます。このツールは呼び出さないでください。external(デフォルト)→ 以下のクイックスタートに進んでください。
クイックスタート
python vision.py [--provider <name>] <image_path> <prompt>
--provider を省略した場合、プロバイダーは次の優先順位で決定されます。--provider フラグ > VISION_PROVIDER 環境変数 > 最初に見つかった API キー。
プロバイダー
doubao(Volcengine Ark)
- API キー:
DOUBAO_API_KEY - デフォルトモデル:
doubao-seed-2-0-pro-260215 - カスタムエンドポイント:
DOUBAO_BASE_URL
qwen(DashScope)
- API キー:
DASHSCOPE_API_KEY - デフォルトモデル:
qwen-vl-max - カスタムエンドポイント:
DASHSCOPE_BASE_URL - 利用可能なモデル:
qwen-vl-max、qwen-vl-plus、qvq-max
deepseek(DeepSeek)
- API キー:
DEEPSEEK_API_KEY - デフォルトモデル:
deepseek-v4-flash-vision-exp - カスタムエンドポイント:
DEEPSEEK_BASE_URL - 画像を受け付けるのは
deepseek-v4-flash-vision-expのみです。deepseek-v4-flashとdeepseek-v4-proはテキスト専用のため、画像入力はエラーになります。
openai(GPT-4o)
- API キー:
OPENAI_API_KEY - デフォルトモデル:
gpt-4o - カスタムエンドポイント:
OPENAI_BASE_URL - OpenAI 互換のエンドポイントであれば、どれでも利用できます。
anthropic(Claude)
- API キー:
ANTHROPIC_API_KEY - デフォルトモデル:
claude-sonnet-5 - カスタムエンドポイント:
ANTHROPIC_BASE_URL anthropicパッケージが必要です(pip install anthropic)。このパッケージは遅延インポートされるため、他のプロバイダーはパッケージなしで利用できます。
任意のカスタムプロバイダー
組み込みプロバイダー以外の --provider 名は、対応する名前の環境変数から動的に解決されるため、コードを変更する必要はありません。
| 環境変数 | 必須 | 備考 |
|---|---|---|
{NAME}_API_KEY | はい | 組み込みプロバイダーと同様に、リクエスト時に確認されます |
{NAME}_BASE_URL | はい | デフォルト値なし。任意のエンドポイントを指定します |
{NAME}_MODEL | はい | デフォルト値なし(代わりにグローバルな VISION_MODEL を設定できます) |
{NAME}_PROTOCOL | いいえ | openai(デフォルト)または anthropic。リクエスト形式を選択します |
openai は、ほぼすべての OpenAI 互換エンドポイント(vLLM、Ollama、
LiteLLM、OpenRouter、Azure OpenAI、セルフホスト型プロキシなど)に対応します。
エンドポイントが Anthropic Messages API の形式に対応している場合に限り、
{NAME}_PROTOCOL=anthropic を使用してください。
export MYAPI_API_KEY="sk-xxx"
export MYAPI_BASE_URL="https://my-endpoint.example.com/v1"
export MYAPI_MODEL="my-vision-model"
python vision.py --provider myapi "screenshot.png" "describe this"
{NAME}_BASE_URL または {NAME}_MODEL が設定されていない場合、汎用的な「不明なプロバイダー」エラーではなく、設定が必要な変数名が正確に表示されます。
設定
| 環境変数 | 適用範囲 | デフォルト |
|---|---|---|
VISION_PROVIDER | デフォルトのプロバイダー(組み込みまたはカスタム名) | 自動検出(組み込みのみ) |
VISION_MODEL | モデルを上書き(すべてのプロバイダー) | プロバイダーのデフォルト |
{PROVIDER}_MODEL | モデルを上書き(プロバイダーごと) | — |
{PROVIDER}_BASE_URL | エンドポイントを上書き/定義(プロバイダーごと) | 組み込みのデフォルト、またはカスタムの場合は必須 |
{PROVIDER}_PROTOCOL | カスタムプロバイダーのリクエスト形式:openai | anthropic | openai |
VISION_TEMPERATURE | 応答の創造性(0~1) | 0 |
VISION_MAX_TOKENS | 応答の最大トークン数 | 4096 |
注:自動検出(--provider / VISION_PROVIDER が未設定の場合)では、組み込みプロバイダーの API キーのみが検索されます。カスタムプロバイダーは必ず明示的に指定する必要があります。
例
# Auto-detect provider from API keys
python vision.py "screenshot.png" "Describe the page layout and any visible UI issues."
# Explicit provider
python vision.py --provider qwen "mockup.png" "List all components, colors, and spacing patterns."
# Custom model
QWEN_MODEL=qvq-max python vision.py --provider qwen "diagram.png" "Explain the architecture."
# GPT-4o for visual regression
python vision.py -p openai "after.png" "Compare with app design spec, flag differences."
# Fully custom provider (self-hosted, third-party proxy, any OpenAI-compatible endpoint)
MYAPI_API_KEY=sk-xxx MYAPI_BASE_URL=https://host/v1 MYAPI_MODEL=my-model \
python vision.py --provider myapi "ui.png" "Analyze layout issues"