LemonData はネイティブの Anthropic Messages API パスをサポートしているため、Claude モデルに対して公式の Anthropic SDK を直接使用できます。
Anthropic SDK では、base URL として https://api.lemondata.cc を使用し、自分で /v1 を追加しないでください。
種類 : ネイティブ SDK主要パス : Anthropic-nativeサポートレベル : 強い ネイティブ経路
文書化されている SDK ルートの中でも、Claude-native 機能に対して特に手厚くサポートされているパスの一つです。
インストール
クライアントの設定
from anthropic import Anthropic
client = Anthropic(
api_key = "sk-your-lemondata-key" ,
base_url = "https://api.lemondata.cc" ,
)
基本的な使い方
message = client.messages.create(
model = "claude-sonnet-4-6" ,
max_tokens = 1024 ,
messages = [
{ "role" : "user" , "content" : "Explain LemonData in one sentence." }
]
)
print (message.content[ 0 ].text)
ストリーミング
with client.messages.stream(
model = "claude-sonnet-4-6" ,
max_tokens = 1024 ,
messages = [{ "role" : "user" , "content" : "Write a short poem about coding." }]
) as stream:
for text in stream.text_stream:
print (text, end = "" , flush = True )
Vision
import base64
message = client.messages.create(
model = "claude-sonnet-4-6" ,
max_tokens = 1024 ,
messages = [{
"role" : "user" ,
"content" : [
{ "type" : "text" , "text" : "What's in this image?" },
{
"type" : "image" ,
"source" : {
"type" : "url" ,
"url" : "https://example.com/image.jpg"
}
}
]
}]
)
with open ( "image.png" , "rb" ) as f:
image_data = base64.b64encode(f.read()).decode()
message = client.messages.create(
model = "claude-sonnet-4-6" ,
max_tokens = 1024 ,
messages = [{
"role" : "user" ,
"content" : [
{ "type" : "text" , "text" : "Describe this image" },
{
"type" : "image" ,
"source" : {
"type" : "base64" ,
"media_type" : "image/png" ,
"data" : image_data
}
}
]
}]
)
message = client.messages.create(
model = "claude-sonnet-4-6" ,
max_tokens = 1024 ,
tools = [{
"name" : "get_weather" ,
"description" : "Get the weather for a location" ,
"input_schema" : {
"type" : "object" ,
"properties" : {
"location" : { "type" : "string" }
},
"required" : [ "location" ]
}
}],
messages = [{ "role" : "user" , "content" : "What's the weather in Tokyo?" }]
)
for block in message.content:
if block.type == "tool_use" :
print (block.name)
print (block.input)
Extended Thinking
message = client.messages.create(
model = "claude-opus-4-6" ,
max_tokens = 16000 ,
thinking = {
"type" : "enabled" ,
"budget_tokens" : 10000
},
messages = [{ "role" : "user" , "content" : "Solve this complex problem step by step." }]
)
for block in message.content:
if block.type == "thinking" :
print (block.thinking)
elif block.type == "text" :
print (block.text)
推奨 Claude モデル
Model Best For claude-opus-4-6深い推論、長文分析 claude-sonnet-4-6コーディング、一般的なアシスタントタスク claude-haiku-4-5高速で軽量な応答
トラブルシューティング
https://api.lemondata.cc を使用してください
Anthropic SDK の設定時に /v1 を手動で追加しないでください
LemonData API key が sk- で始まっていることを確認してください
キーが LemonData ダッシュボードで有効になっていることを確認してください
カスタムヘッダーを手動で追加するのではなく、認証ヘッダーは Anthropic SDK に管理させてください
Claude モデル名が正確であることを確認してください
LemonData のモデルカタログで現在の利用可否を確認してください