【AI】Claude APIのVision機能で画像を解析する方法

当ページのリンクには広告が含まれています。
いずみ

こんな悩みを解決できる記事を書きました!

僕は現役フリーランスエンジニア(歴年)で、資格は個保有しています。

Claude APIのVision機能を使って画像解析を実装する方法を知りたい」とお考えではありませんか?

アプリに画像認識機能を組み込みたいと考えている方へ。

Claude APIはVision機能を標準搭載しており、画像をメッセージに含めて送るだけで内容の説明や情報抽出が可能です。

いずみ

実装自体はとてもシンプルなので、サクッと解説します。

ということで、本記事ではClaude APIのVision機能で画像を解析する方法を解説します。

スクロールできます
【当サイト】おすすめフリーランスエージェント3選
エージェント評価ポイント公式サイト
レバテックフリーランス

5.0
業界最大級のエージェント。
高単価案件が豊富。
公式
Midworks

4.8
満足度調査で
3年連続3冠を達成。
公式
ITプロパートナーズ

4.6
週2〜3向けの案件が豊富。公式
執筆者/監修者
  • フリーランスエンジニア(保有資格個、企業と直接契約
  • ブログ・アフィリエイト歴7年(2018年〜)
  • ブランドせどりで月利50万円⇨脱サラ
  • 投資(仮想通貨・FX)歴7年(2018年〜)
  • X(旧Twitter)フォロワー約1,900人
  • 運営者情報はこちら
いずみです
目次

Claude APIのVision機能で画像を解析する方法

早速ですが、Claude APIのVision機能で画像を解析する方法を解説します。

Vision機能でできること

Claude APIのVision機能を使うと、画像に写っている物体やシーンの説明を文章で受け取れます。

グラフや表のスクリーンショットを渡して、数値の読み取りや要約をさせることも可能です。

手書きメモや領収書の画像からテキストを抽出するOCR的な使い方もできます。

いずみ

テキストと同じ感覚で画像を投げるだけなので、専用の画像認識APIを別途契約する必要がないのが嬉しいポイントです。

事前準備

まずは、Claude APIを呼び出すための準備をします。

STEP
APIキーを取得する

Anthropicのアカウントを作成し、コンソールでAPIキーを発行します。

発行したキーは環境変数ANTHROPIC_API_KEYに設定しておきます。

export ANTHROPIC_API_KEY="your_api_key"
STEP
Python用SDKをインストールする

公式のPython SDKをインストールします。

pip install anthropic

画像をBase64エンコードして解析する

ローカルの画像ファイルをBase64エンコードして送信する方法を実装します。

STEP
画像ファイルをBase64エンコードする

Pythonの標準ライブラリだけで画像をBase64文字列に変換できます。

import base64

with open("sample.jpg", "rb") as f:
    image_data = base64.standard_b64encode(f.read()).decode("utf-8")
STEP
画像とテキストをメッセージに含めて送信する

contentの配列に画像ブロックとテキストブロックを並べて渡します。

import anthropic

client = anthropic.Anthropic()

message = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": "image/jpeg",
                        "data": image_data,
                    },
                },
                {
                    "type": "text",
                    "text": "画像に写っている内容を説明してください",
                },
            ],
        }
    ],
)

print(message.content[0].text)
いずみ

画像ブロックとテキストブロックの順番は自由に入れ替えられますが、画像を先に置くほうが結果が安定しやすい印象があります。

STEP
レスポンスを確認する

message.content[0].textに解析結果のテキストが格納されます。

通常のテキスト会話と同じレスポンス形式なので、既存のClaude API連携コードにそのまま組み込めます。

画像URLを直接指定して解析する方法

画像がインターネット上に公開されている場合は、Base64エンコードを省略してURLを直接指定できます。

message = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "url",
                        "url": "https://example.com/sample.jpg",
                    },
                },
                {"type": "text", "text": "画像の内容を要約してください"},
            ],
        }
    ],
)

ファイルの読み込み処理が不要になる分、コード量を減らせます。

複数の画像を一度に解析する方法

contentの配列に画像ブロックを複数並べれば、1回のリクエストで複数の画像をまとめて解析できます。

message = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": "image/png",
                        "data": image_data_1,
                    },
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": "image/png",
                        "data": image_data_2,
                    },
                },
                {"type": "text", "text": "2枚の画像の違いを教えてください"},
            ],
        }
    ],
)
いずみ

ビフォーアフターの比較や、複数ページの資料をまとめて読み込ませたいときに便利な使い方です。

画像サイズに関する注意点

Vision機能を使う際は、画像サイズにいくつか制限があるので注意します。

  • 対応する形式はJPEG・PNG・GIF・WebPの4種類
  • Base64エンコード後のファイルサイズは1枚あたり5MBまで
  • 画像の長辺が1568pxを超える場合、内部で自動的に縮小されてから処理される
  • 縦横の最大サイズは8000×8000px

長辺1568px程度にあらかじめリサイズしておくと、レスポンス速度とトークン消費の両方を抑えられます。

いずみ

画質が粗すぎたりぼやけていたりすると読み取り精度が落ちるので、文字を含む画像は特に解像度に気をつけたいところです。

スクロールできます
【当サイト】おすすめフリーランスエージェント3選
エージェント評価ポイント公式サイト
レバテックフリーランス

5.0
業界最大級のエージェント。
高単価案件が豊富。
公式
Midworks

4.8
満足度調査で
3年連続3冠を達成。
公式
ITプロパートナーズ

4.6
週2〜3向けの案件が豊富。公式

【厳選】フリーランスエンジニアにおすすめなエージェント3選

フリーランスエンジニアになるにはエージェントから案件をもらう必要があります。

僕が実際に利用しているおすすめエージェントを紹介しますね。

いずみ

エージェントは必ず複数登録してください。

担当者によっては「全然案件紹介してくれない…」みたいなこともあるので…

僕は実際に5つのエージェントを使い回していますよ。

フリーランスを始めるなら「

案件数マージン率単価
約88,000件非公開
初心者福利厚生申し込み
無料
Good Point
  • 業界最大級の案件数。
  • 業界トップクラスの高単価報酬、低マージン(平均年収862万円)。
  • 案件参画中のフォローの充実。

※詳細は「【業界最大手】レバテックフリーランスとは?メリットや利用手順を解説!」を参照。

は業界最大手のフリーランスエージェントです。

とにかく案件数が多いので、とりあえず登録しておけば間違いないエージェントです!

いずみ

僕もはじめてフリーランスの案件を貰ったのはです。

保有している案件数が多いので、業務経験がなくても何かしらの案件は紹介してもらえますよ(僕はJavaの経験3年でも案件を貰えました)。

手厚い保障を重視したいなら「

案件数マージン率単価
約10,000件非公開
初心者福利厚生申し込み
無料
Good Point
  • 手厚い保障で正社員並みの安心感。
  • 還元率60%超え&単価公開でクリアな契約。
  • 給与保障制度(審査あり)。

は手厚い保障が特徴のフリーランスエージェントです。

フリーランスを目指しているけど不安な方や保障を重視したい方におすすめです。

いずみ

僕も何度か案件を紹介してもらいました。

自分のスキルに合った案件を紹介してもらえましたし、電話のやり取りも非常に丁寧でした。

週2〜3日の案件探しなら「

案件数マージン率単価
約5,000件非公開
初心者福利厚生申し込み
経験者向け無料
Good Point
  • IT案件に特化したフリーランスエージェント。
  • 週2〜3日の案件が豊富。
  • リモート案件が多く、直エンドなので単価も高い。

※詳細は「【週2・3案件】ITプロパートナーズとは?メリットや利用手順を解説!」を参照。

はIT案件に特化したフリーランスエージェントです。

週2〜3日から参画できる案件が豊富なので、起業したい人にもおすすめです。

いずみ

週2〜3日の案件はある程度スキルがないと紹介してもらえない印象です。

とはいえ、週5の案件ももちろんありますし、僕が利用した時は迅速・丁寧に対応していただきました!

よくある質問

対応している画像形式は何ですか?

JPEG・PNG・GIF・WebPの4形式に対応しています。

media_typeにはそれぞれimage/jpeg・image/png・image/gif・image/webpを指定します。

PDFファイルも解析できますか?

Vision機能の画像ブロックはPDFに対応していません。

PDFを解析したい場合は、documentタイプを使った別の仕組みを利用します。

解析の精度が低いときはどうすればいいですか?

以下の対策で改善できます。

  • 画像の解像度・鮮明さを上げる
  • 読み取ってほしい箇所を絞ってトリミングする
  • プロンプトで確認したい観点を具体的に指示する

まとめ

今回は、Claude APIのVision機能で画像を解析する方法について解説しました。

以下が本記事のまとめになります。

まとめ
  • Claude APIは画像をcontentに含めて送るだけでVision機能を利用できる。
  • Base64・URLどちらの方式でも画像を渡せる。
  • 複数画像をまとめて解析することもできる。
まとめ
いずみ

最後までお読みいただき、ありがとうございました!

スクロールできます
【当サイト】おすすめフリーランスエージェント3選
エージェント評価ポイント公式サイト
レバテックフリーランス

5.0
業界最大級のエージェント。
高単価案件が豊富。
公式
Midworks

4.8
満足度調査で
3年連続3冠を達成。
公式
ITプロパートナーズ

4.6
週2〜3向けの案件が豊富。公式
  • クソおすすめ本
¥4,480 (2024/06/01 23:28時点 | Amazon調べ)
\楽天ポイント4倍セール!/
楽天市場
いずみ

海外のエンジニアがどういった思考で働いているかが理解できます。

海外に行く気はないけど海外エンジニアの動向が気になる雑魚エンジニアにおすすめです(本当におすすめな本しか紹介しないのでご安心を)。

この記事が気に入ったら
フォローしてね!

シェアしてね!
  • URLをコピーしました!
目次