Claude API使い方【2026最新】初心者向け実装ガイド

目次

Claude APIとは?概要と他LLM APIとの違い

「Claude APIって難しそう…」と思って後回しにしてませんか?筆者も最初は同じでした。でも実際に触ってみたら、30分もあればAPIを叩けるようになったんです。

Claude APIはAnthropic社が提供するREST API。テキスト生成・要約・コード生成・画像認識・ツール使用など、Claudeの主要機能をすべてプログラムから呼び出せます。OpenAI APIやGemini APIと構造は似ていますが、コンテキストウィンドウの大きさと長文処理の安定感がClaudeの強み。

詳しい比較は → ChatGPT vs Claude 徹底比較 をどうぞ。

Claude APIでできること・主な機能一覧

2026年4月時点で利用できる主な機能はこれだけあります。

  • Messages API — テキスト生成の基本
  • マルチモーダル — 画像をそのままAPIに送れる
  • ツール使用(Function Calling) — 外部APIや関数と連携
  • ストリーミング — 文字をリアルタイムに受け取る
  • Extended Thinking — 複雑な推論を強化するモード
  • プロンプトキャッシング — 繰り返しリクエストのコスト削減

コンテキストウィンドウは最大200Kトークン超。文庫本数冊分のテキストを一度に渡せる規模感です。

2026年最新モデルの選び方【Opus・Sonnet・Haiku】

モデル特徴入力料金出力料金向いてる用途
Claude Opus 4.6最高性能$5/100万token$25/100万token複雑な推論・コード生成
Claude Sonnet 4.6バランス型$3/100万token$15/100万token汎用アプリ・日常利用
Claude Haiku 4.5軽量・高速$1/100万token$5/100万tokenバッチ処理・大量データ

迷ったらSonnet 4.6を選んでおけば間違いなし。料金の詳細が気になる方は → Claude 料金完全ガイド で確認してください。


Claude APIの始め方【アカウント作成〜APIキー取得】

筆者がAPIキーを取得したとき、一番焦ったのは「APIキーは一度しか表示されない」という仕様。これを知らずに画面を閉じてしまって、再発行するはめになりました。最初に流れを把握しておけば5分で終わります。

ステップ1:Anthropicアカウント作成とConsoleアクセス

  1. console.anthropic.com にアクセス
  2. メールアドレスを入力して「Sign Up」(Googleアカウントでも可)
  3. 届いた確認メールのリンクをクリック
  4. 利用目的(個人開発・業務など)を選択して登録完了

利用目的の選択は深く考えなくて大丈夫。正直に答えるだけです。

ステップ2:APIキーの取得と安全な保管方法

  1. Consoleの左メニュー「API Keys」を開く
  2. 「Create Key」ボタンをクリック、任意の名前をつける
  3. 表示されたキー(sk-ant-...)を必ずこの画面でコピー

このキーは二度と表示されません。 パスワードマネージャーかメモに即保存してください。

コードに直接書くのは絶対NG。.envファイルに書いて環境変数で読み込む方法が一番手軽です。

ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxx

ステップ3:クレジット設定と支払い方法の登録

  1. 左メニュー「Billing」を開く
  2. クレジットカードを登録してクレジットを購入
  3. 「Usage Limits」で月の上限金額を設定(最初は$10程度を推奨

使いすぎ防止のため、Usage Limitは必ず設定してください。無料クレジットの有無や詳細は公式サイトで確認してください。


Claude APIの基本的な使い方【Python・cURL実装例】

実際にコードを動かしたとき「思ったより簡単だ」と感じた記憶があります。Python SDKが整備されているので、10行も書けば動くんです。

Python SDKでの基本的なAPI呼び出し

まずSDKをインストール。

pip install anthropic python-dotenv

基本的な呼び出しはこれだけです。

import anthropic
from dotenv import load_dotenv
import os

load_dotenv()

client = anthropic.Anthropic(api_key=os.environ.get("ANTHROPIC_API_KEY"))

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    system="あなたはプロのライターです。

簡潔に答えてください。

",
    messages=[
        {"role": "user", "content": "AIブログの書き方を3つ教えて"}
    ]
)

print(message.content[0].text)

systemにロール設定、messagesに会話履歴を入れる構造です。

cURL・HTTPリクエストでの使い方

Pythonを使わない環境でも、cURLで直接叩けます。

curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4-6",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "こんにちは"}]
  }'

x-api-keyanthropic-versionヘッダーの2つが必須。Postmanでテストしてから実装に入ると確認がラクです。

レスポンス構造の読み方と主要パラメータ

レスポンスの主要フィールドはこの4つを覚えれば十分。

フィールド内容
content[0].text生成されたテキスト本体
usage.input_tokens入力トークン数(コスト計算に使う)
usage.output_tokens出力トークン数
stop_reasonend_turn=正常終了、max_tokens=途中打ち切り

stop_reasonmax_tokensなら、max_tokensの値を増やして再試行してください。


実装パターン集【ストリーミング・ツール使用・マルチモーダル】

ストリーミング応答の実装方法

チャットUIを作るなら必須の機能。with client.messages.stream()を使うだけです。

with client.messages.stream(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{"role": "user", "content": "長い文章を書いて"}]
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

文字が1文字ずつリアルタイムで流れてくる——これだけでUXが段違いに上がります。

ツール使用(Function Calling)の実装方法

外部APIと連携するときに使う機能です。

tools = [{
    "name": "get_weather",
    "description": "指定した都市の天気を取得する",
    "input_schema": {
        "type": "object",
        "properties": {
            "city": {"type": "string", "description": "都市名"}
        },
        "required": ["city"]
    }
}]

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    tools=tools,
    messages=[{"role": "user", "content": "東京の天気は?"}]
)

Claudeがツール呼び出しを返したら、実際の処理をこちらで実行して結果をmessagesに追加し、再度APIを叩くという流れです。

マルチモーダル(画像入力)とExtended Thinking

画像はBase64エンコードして送ります。

import base64

with open("image.png", "rb") as f:
    image_data = base64.standard_b64encode(f.read()).decode("utf-8")

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{
        "role": "user",
        "content": [
            {"type": "image", "source": {"type": "base64", "media_type": "image/png", "data": image_data}},
            {"type": "text", "text": "この画像に何が写っていますか?"}
        ]
    }]
)

Extended Thinkingは複雑な推論タスクに有効なモード。有効化方法など詳細は最新情報は公式サイトで確認してください。


Claude APIの料金体系とコスト削減テクニック

筆者は最初の1週間でうっかり$5消費したことがあります。Usage Limitを設定してなかったせいです。コスト感覚を最初につかんでおくのは本当に大事。

2026年4月時点のモデル別料金一覧

モデル入力料金出力料金Batch API(入力)
Claude Opus 4.6$5/100万token$25/100万token$2.50/100万token
Claude Sonnet 4.6$3/100万token$15/100万token
Claude Haiku 4.5$1/100万token$5/100万token

プロンプトキャッシングを使うと、読み取りが$0.50/100万token(最大90%削減)まで落ちます。

実践的なコスト削減4つのテクニック

  1. プロンプトキャッシング — 同じシステムプロンプトを繰り返し使うなら必須。書き込み$6.25、読み取り$0.50/100万token
  2. Batch API活用 — 急がない大量処理はバッチで。Opus 4.6なら通常の半額($2.50)
  3. モデルの使い分け — 簡単な分類タスクはHaiku、重要な推論だけOpusという戦略
  4. max_tokensの適正設定 — 必要以上に大きくしないこと。1000で足りるのに4096にしない

プロンプト最適化とClaude API固有のベストプラクティス

systemプロンプトとユーザーメッセージの使い分け

systemにはロール・出力形式・制約をまとめて書く。messagesは会話のやり取りだけ。この分離が品質安定の基本です。

マルチターン会話では、messages配列にuserassistantを交互に積み上げます。

messages = [
    {"role": "user", "content": "Pythonを教えて"},
    {"role": "assistant", "content": "Pythonは〜"},
    {"role": "user", "content": "もっと詳しく"}
]

応答品質を上げるプロンプト設計【Before/After例】

例1: 要約タスク

  • ❌ Before: 「この文章を要約して」
  • ✅ After: 「以下の文章を
    タグで囲んで渡します。200字以内で3つの箇条書きに要約してください。」

例2: コード生成

  • ❌ Before: 「Pythonでファイル処理を書いて」
  • ✅ After: 「Python 3.12でCSVを読み込み、欠損値を除外して辞書のリストで返す関数を書いてください。型ヒントとdocstringを含めること。」

XMLタグで構造化すると、Claudeは入力内容を正確に把握しやすくなります。Few-shotで例を1〜2個見せると、さらに出力が安定します。


よくあるエラーと対処法・トラブルシューティング

認証エラー・Rate Limitエラーの原因と解決策

エラーコード原因対処法
401 UnauthorizedAPIキー無効・未設定環境変数の設定確認、キーの再生成
429 Rate Limitリクエスト過多Exponential Backoffで再試行

Rate Limit時のリトライはこう実装します。

import time

def call_with_retry(client, **kwargs):
    for attempt in range(5):
        try:
            return client.messages.create(**kwargs)
        except anthropic.RateLimitError:
            wait = 2 ** attempt
            time.sleep(wait)
    raise Exception("リトライ上限に達しました")

その他の頻出エラーとデバッグチェックリスト

エラーコード原因対処法
400 Bad Requestパラメータ不正モデル名・必須パラメータを確認
500 / 529サーバー過負荷時間をおいてリトライ
レスポンス途中切れmax_tokens不足stop_reasonを確認して値を増やす

トラブル時の確認チェックリスト

  • [ ] APIキーが正しく環境変数にセットされているか
  • [ ] モデル名のスペルミスはないか(例: claude-sonnet-4-6
  • [ ] max_tokensは十分な値か
  • [ ] anthropic-versionヘッダーを付けているか(cURL使用時)
  • [ ] Billingにクレジットが残っているか

あわせて読みたい

関連記事

他のカテゴリも見る

まとめ:Claude API実装の次のステップ

この記事でカバーした内容を振り返ると:

  • APIキー取得はConsoleから5分で完了
  • Python SDKなら10行以下で最初の呼び出しが動く
  • ストリーミング・ツール使用・マルチモーダルで応用が広がる
  • コスト削減はプロンプトキャッシングとモデル使い分けが効果大

Claude API 使い方の基本をつかんだ次は、Claude Codeを使った本格的なアプリ開発に進むのがおすすめ。筆者自身もこのブログの記事生成フローをAPIで自動化して、作業時間を約60%削減できています。

もっと詳しく知りたい方は → Claude 使い方 完全ガイド

公式ドキュメント: https://docs.anthropic.com

参考書籍


おすすめの記事