Claude API はじめ方 — Python / TypeScript 実例

Claude API 入門 — Python 10 行で動かす最短手順

自分のアプリに Claude を組み込みたいエンジニアのためのセットアップガイド。5 分で「Hello Claude」が動きます。Anthropic 公式 SDK を使った最短手順とコスト削減のコツまで一本でカバーします。

この記事の要約powered by Claude

Claude API は Anthropic Console でキーを発行し、公式 SDK をインストールして環境変数 ANTHROPIC_API_KEY を設定するだけで5 分以内に最初のリクエストが動き始めます

SDK は Python と TypeScript の 2 系統が公式提供されており、どちらも 10 行程度のコードで「Hello Claude」が返ってきます。

コストを抑えるには プロンプトキャッシュ(最大 90% 割引)とバッチ API(50% 割引) の 2 つが強力で、繰り返し使うシステムプロンプトのキャッシュと非同期処理を組み合わせると大幅な削減が可能です。

目次 (15)

最短手順 1: API キー発行とセットアップ — 3 ステップで完了

本セクションの要点を以下に整理します。

  1. console.anthropic.com にアクセスし、アカウント作成
  2. 左メニュー「API Keys」から新規キーを発行
  3. 環境変数に設定: export ANTHROPIC_API_KEY=sk-ant-...

Console アカウント作成と Workspace 設計

Anthropic Console はメールアドレス、Google、GitHub のいずれかでサインアップできます。チーム開発で利用する場合は最初に Workspace(ワークスペース)を分けておくのが定石で、開発・ステージング・本番ごとに鍵とレート制限と請求を独立管理できるため、本番キーが手元のスクリプトに混ざる事故を防げます。個人検証であれば Default Workspace のままでも問題ありません。サインアップ直後は無料クレジットが付与されるので、まずはそれで動作確認してから有料プランへ切り替えるのが安全です。

API キー発行とローカル環境への登録

「API Keys」画面で「Create Key」を押し、用途がわかる名前(例: local-dev-macstaging-server)を付けて発行します。表示されたキー本体はこの一度しか確認できないため、すぐにパスワードマネージャか .env ファイルに保存してください。Bash / Zsh のローカル開発では ~/.zshrcexport ANTHROPIC_API_KEY=sk-ant-... を追記、Node.js プロジェクトでは .env + dotenv パッケージ、Python なら python-dotenv を使うのが定番です。.env を Git に紛れ込ませないよう、最初に .gitignore へ追記しておくのを忘れないようにしましょう。

curl 一発で疎通確認(SDK 導入前にできる)

SDK を入れる前に 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": 64,
    "messages": [{"role":"user","content":"ping"}]
  }'

200 が返って content に応答が入っていれば、ネットワーク・キー・課金状態の 3 点はクリアです。401 が返るならキー、429 ならレート制限、403 なら課金未設定が疑われるので、Console の Billing と Limits を確認してください。

最短手順 2: Python 10 行で「こんにちは、Claude!」を動かす

本セクションの要点を以下に整理します。Python 3.8 以降であれば、pip install anthropic の 1 コマンドで公式 SDK が入ります。プロジェクトを汚さないために python -m venv .venv && source .venv/bin/activate で仮想環境を作るのが推奨です。Anthropic() クラスは引数なしで呼ぶと環境変数 ANTHROPIC_API_KEY を自動で読み込むため、コードに鍵をベタ書きせずに済みます。下記サンプルは公式 SDK が READMEで案内している最小構成にほぼ等しく、これがそのまま本番アプリの土台になります。

# インストール
# pip install anthropic

from anthropic import Anthropic

client = Anthropic()

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "こんにちは、Claude!"}
    ]
)

print(message.content[0].text)

messages.create の主要パラメータ

  • model: 利用するモデル ID(例: claude-sonnet-4-6 / claude-opus-4-7 / claude-haiku-4-5-20251001)
  • max_tokens: 出力の最大トークン数。短い応答なら 256〜1024 で十分
  • messages: 会話履歴のリスト。roleuser / assistant の交互で並べる
  • system: システムプロンプト。messages には入れず、トップレベル引数で渡すのが正しい書き方
  • temperature: 0 に近いほど決定的、1 に近いほど多様。コード生成は 0、創作は 0.7 などで使い分け

レスポンスの読み方とエラー対応

戻り値 message.content は配列で、各要素が {type: "text", text: "..."} の形になっています。本文を取り出すだけなら message.content[0].text で十分。message.usage には input_tokensoutput_tokens が入っており、ここから請求額を見積もれます。レート制限超過時は anthropic.RateLimitError、入力過多時は anthropic.BadRequestError が飛ぶため、tenacity などで指数バックオフを実装し、ネットワーク起因の APIConnectionError も合わせて拾うのが本番運用の定番です。

最短手順 3: TypeScript で動かす(同じ 10 行構造)

本セクションの要点を以下に整理します。TypeScript 側も Python とまったく同じ思想で書けます。npm install @anthropic-ai/sdk(pnpm add / bun add も可)で導入し、Node.js 18 以降で実行してください。SDK は ESM / CommonJS の両対応で、トップレベル await を使う場合は package.json"type": "module" を有効にするか、async 関数で包むのを忘れないようにしましょう。

// インストール
// npm install @anthropic-ai/sdk

import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic();

const message = await client.messages.create({
  model: "claude-sonnet-4-6",
  max_tokens: 1024,
  messages: [
    { role: "user", content: "こんにちは、Claude!" }
  ]
});

console.log(message.content);

Node.js / Bun / Edge ランタイム別の注意点

  • Node.js 18+: そのまま動作。fetch は組み込み済みなので追加 polyfill は不要
  • Bun: ネイティブ ESM で動作、起動が速く CLI 用途に好相性
  • Cloudflare Workers / Vercel Edge: SDK は Edge ランタイム対応。API キーは Secret として登録し、process.env ではなくバインディング経由(例: env.ANTHROPIC_API_KEY)で取り出す

ブラウザから直接叩かない(BFF パターンで隠す)

API キーは必ずサーバー側で保持するのが鉄則です。フロント JS から直接 Anthropic クライアントを呼ぶとキーが DevTools で丸見えになり、即座に流出して請求が跳ね上がります。Next.js なら API Route / Server Action、SvelteKit なら +server.ts、Remix なら loader / action を BFF として挟み、ブラウザには Claude の応答だけを返す構成にしてください。レスポンスをストリーミングしたい場合も、サーバー側で SSE / Web Stream に変換してから返すのが安全です。

コスト削減のコツ — プロンプトキャッシュ + バッチ API で最大 95% 削減

即時性が不要なワークロードであれば、プロンプトキャッシュとバッチ API の併用で通常価格の数%まで圧縮できる場面もあります。それぞれの仕組みと適用条件、組み合わせ方を整理しておきましょう。両者ともリクエスト側の指定を 1 行足すだけで効くため、導入コストは極めて低いのが特徴です。

プロンプトキャッシュ — 同じ前半を再利用すれば最大 90% オフ

同じプロンプト前半(システムプロンプト・大規模な参照ドキュメント・ツール定義など)を複数リクエストで使い回すケースでは、対象ブロックに cache_control: {"type": "ephemeral"} を付けるだけでキャッシュが有効になります。キャッシュヒット時は入力トークンが最大 90% 割引、書き込み時は標準価格の 1.25 倍と覚えておくと見積もりが立てやすいです。デフォルト TTL は 5 分で、5 分以内に同じ前半を再利用したリクエストが大幅に安くなります。レスポンスの usage.cache_read_input_tokenscache_creation_input_tokens を計測してヒット率を可視化しておくと、キャッシュ位置の調整余地が見えてきます。

バッチ API — 非同期処理なら一律 50% オフ、夜間処理に最適

バッチ API はリクエストをまとめて投入し、24 時間以内に結果が返る前提で入出力ともに一律 50% 割引になる仕組みです。1 ジョブで大量のリクエストをまとめて流せるため、ユーザーが即座に待つ必要のないワークロード(過去ログのタグ付け、ナレッジベースの要約、社内文書の分類、評価データセットの一括採点など)に向いています。プロンプトキャッシュとの併用も可能で、同じシステムプロンプトをキャッシュしつつバッチで流せば、料金は実質さらに圧縮されます。深夜帯にまとめて投入し、朝までに結果を取得する運用が定番です。

モデル選択 — Haiku 4.5 / Sonnet 4.6 / Opus 4.7 の使い分け

  • Haiku 4.5: 最速・最安。FAQ 応答、分類、軽い要約、整形タスクなど定型処理に最適
  • Sonnet 4.6: 品質と価格のバランス型。アプリ本体の主力モデルとして最も使われる
  • Opus 4.7: 最高性能。複雑な推論、長文生成、難しいコード生成の最終工程で投入

最初はすべて Sonnet 4.6 で組み、ログを見ながら定型処理を Haiku 4.5 に降ろし、品質が足りない難所だけ Opus 4.7 に上げる三段運用にすると、無駄なく総コストを最小化できます。

出典(一次情報)

本記事の作成に直接参照した一次情報源は以下の通りです。最新の正確な情報は各リンク先で必ずご確認ください。

参考になったら ♡
Clauder Navi 編集部
@clauder_navi

Anthropic の Claude / Claude Code を中心に、日本のエンジニア向けに最新動向と実務 を毎日発信。 運営方針 は メディアについて をご覧ください。