C
Claude Academy
Vision

Vision (画像入力)

約 10 分 · クイズ 4 問 · 演習 1 問
重要キーワード (3 語)
Vision (視覚理解) — Claude が画像を入力として理解する機能
OCR (光学文字認識) — 画像中のテキストを抽出する処理
Base64 (Base64エンコード) — バイナリをテキスト化する方式 (画像埋め込みに使用)

Vision (画像入力)

Claude は 画像 を入力として受け取れます。 スクショ解析・図表理解・OCR・UI 確認など幅広く使えます。

URL 指定

client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=512,
    messages=[{
        "role": "user",
        "content": [
            {"type": "image", "source": {
                "type": "url",
                "url": "https://example.com/diagram.png",
            }},
            {"type": "text", "text": "この図を説明して"},
        ],
    }],
)

Base64 で埋め込み

import base64
img_b64 = base64.b64encode(open("local.png", "rb").read()).decode()

content = [
    {"type": "image", "source": {
        "type": "base64",
        "media_type": "image/png",
        "data": img_b64,
    }},
    {"type": "text", "text": "テキストを抽出して"},
]

制約

  • 対応フォーマット: JPEG / PNG / GIF / WEBP
  • 最大解像度: ~8000px (推奨は 1568px 程度)
  • ファイルサイズ: 5MB / 画像

Use Case

  • OCR: スクショから文字抽出。
  • UI レビュー: アプリのスクショを見せてアクセシビリティ評価。
  • 図表理解: グラフから数値を読み取り要約。
  • ホワイトボード起こし: 写真からタスクリスト化。
  • 品質検査: 工場の検品画像から欠陥検出 (簡易タスク向け)。
  • 数式読解: 手書き数式を LaTeX に変換。

Tip 1: 解像度を上げすぎない

高解像度ほどトークン消費が増えます。 テキスト読み取り目的なら 1024〜1568px に縮小すれば十分なことが多いです。

Tip 2: 複数画像

1 メッセージに複数画像を含められます。比較タスクに有用。

content=[
    {"type": "image", "source": {...}},
    {"type": "image", "source": {...}},
    {"type": "text", "text": "2 枚を比較して違いを箇条書きで"},
]

Tip 3: 画像は最初に置く

性能向上のため、画像 → テキスト の順で並べることが推奨されます。

Tip 4: PDF も Vision で読める

第3章で扱った Files API + PDF は内部で Vision + テキスト解析 が走ります。

試す (URL 画像)

公開されている図表で試してみましょう。

▶ 図表理解 (URL)
次の URL の図を 3 文で説明してください: https://upload.wikimedia.org/wikipedia/commons/thumb/4/47/PNG_transparency_demonstration_1.png/280px-PNG_transparency_demonstration_1.png

Hands-on 演習

演習 1: スクショから ToDo を起こす

ホワイトボードや付箋メモのスクショを Claude に見せて、JSON 形式の ToDo リスト に変換してください。

プロンプト例:

この画像のタスクを抽出して JSON 配列で返して。各要素は {title, priority, owner?} 形式で。

観察ポイント: 文字認識精度・優先度推定・owner の不確実な扱い。

▶ Playground を開いて実行
💡 ヒント

Playground は画像入力の UI を持たないので、この演習はスクリプトで試してください。base64.b64encode(open(...).read()).decode() で埋め込み、type: image ブロックで渡します。

進捗保存にはログインが必要 クイズに挑戦 (4問)

💬 このレッスンへの質問 (0)

全質問を見る →
質問の投稿には ログイン が必要です。閲覧は誰でも可能です。

まだ質問はありません。最初の 1 件を投稿してみましょう。