ターミナルからClaude API利用ガイド

コマンドラインでClaudeを使う手順。


必要なもの

  • Anthropic APIキー
  • curl または Python

手順

01. APIキー取得

Anthropic Consoleでアカウント作成、APIキー発行。

02. 環境変数設定

export ANTHROPIC_API_KEY="sk-ant-xxxxx"

永続化:

echo 'export ANTHROPIC_API_KEY="sk-ant-xxxxx"' >> ~/.bashrc
source ~/.bashrc

03. 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-3-5-sonnet-20241022",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "こんにちは"}]
  }'

04. レスポンス確認

JSON形式で返ってくる。content[0].textが応答テキスト。

05. 完了


参考リンク


ここから先は、モデル選択と応用例を解説します。


Q&A - モデル選択

主なモデル

| モデル | 特徴 | コスト | |--------|------|--------| | claude-3-5-sonnet-20241022 | バランス型(推奨) | 中 | | claude-3-opus-20240229 | 最高性能 | 高 | | claude-3-haiku-20240307 | 高速・安い | 低 |

モデル指定

-d '{"model": "claude-3-5-sonnet-20241022", ...}'

Q&A - パラメータ

最大トークン(必須)

-d '{
  "model": "claude-3-5-sonnet-20241022",
  "max_tokens": 4096,
  "messages": [...]
}'

温度(創造性)

-d '{
  "model": "claude-3-5-sonnet-20241022",
  "max_tokens": 1024,
  "temperature": 0.7,
  "messages": [...]
}'

システムプロンプト

-d '{
  "model": "claude-3-5-sonnet-20241022",
  "max_tokens": 1024,
  "system": "あなたは親切なアシスタントです",
  "messages": [{"role": "user", "content": "質問です"}]
}'

Q&A - jqで整形

応答テキストだけ抽出

curl -s 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-3-5-sonnet-20241022",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "こんにちは"}]
  }' | jq -r '.content[0].text'

Q&A - シェルスクリプト化

簡単なラッパー

#!/bin/bash

ask-claude.sh

PROMPT="$1"

curl -s 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-3-5-sonnet-20241022\", \"max_tokens\": 1024, \"messages\": [{\"role\": \"user\", \"content\": \"$PROMPT\"}] }" | jq -r '.content[0].text'

使用:

chmod +x ask-claude.sh
./ask-claude.sh "Pythonでファイル読み込みの例を教えて"


Q&A - OpenAI APIとの違い

ヘッダー

| 項目 | OpenAI | Anthropic | |------|--------|-----------| | 認証 | Authorization: Bearer | x-api-key: | | バージョン | なし | anthropic-version: |

レスポンス構造

| 項目 | OpenAI | Anthropic | |------|--------|-----------| | 応答テキスト | choices[0].message.content | content[0].text |


Q&A - エラー対処

「Invalid API key」

  • キーが正しいか確認
  • ヘッダー名が x-api-key か確認(Authorizationではない)

「anthropic-version header is required」

ヘッダーに追加:

-H "anthropic-version: 2023-06-01"

「max_tokens is required」

max_tokensパラメータは必須。省略不可。
タグ: #Anthropic #Claude #API #ターミナル #LLM
← ターミナルAPIシリーズ一覧へ