Claude Opus 4.7 API Nasıl Kullanılır?

Ashley Innocent

Ashley Innocent

16 April 2026

Claude Opus 4.7 API Nasıl Kullanılır?

Kısaca

Claude Opus 4.7 (claude-opus-4-7), Anthropic'in en yetenekli Genel Kullanıma Açık (GA) modelidir. 1M token bağlam penceresini, 128K maksimum çıktıyı, adaptif düşünmeyi, yeni bir xhigh efor seviyesini, görev bütçelerini, yüksek çözünürlüklü görmeyi (3.75 MP) ve araç kullanımını destekler. Bu kılavuz, API kurulumunu, kimlik doğrulamayı ve her ana özellik için Python, TypeScript ve cURL'de çalışan kod örneklerini kapsar.

Giriş

Anthropic, Claude Opus 4.7'yi 16 Nisan 2026'da yayınladı. Claude ailesindeki en güçlü modeldir ve karmaşık akıl yürütme, otonom aracılar ve görsel ağırlıklı iş akışları için tercih edilen çözümdür.

Daha önce Claude API'sini kullandıysanız, arayüzün çoğu tanıdık gelecektir. Ancak Opus 4.7, kod güncellemeleri gerektiren birkaç yeni özellik ve bozucu değişiklik sunuyor. Genişletilmiş düşünme bütçeleri kaldırıldı. Örnekleme parametreleri (temperature, top_p, top_k) kaldırıldı. Düşünme modu artık yalnızca adaptif düşünmeyi destekliyor ve varsayılan olarak kapalıdır.

Bu kılavuz, her adımı size ayrıntılı olarak anlatır: API anahtarınızı alma, ilk isteğinizi yapma, adaptif düşünmeyi kullanma, yüksek çözünürlüklü görüntüler gönderme, araç kullanımını ayarlama, görev bütçelerini yapılandırma ve yanıtları akış halinde alma. Her örnek test edilmiştir ve kopyalamaya hazırdır. Ayrıca, çok turlu araç kullanım konuşmalarını ham JSON ayrıştırmaktan çok daha kolay hale getiren Apidog ile API çağrılarınızı nasıl hata ayıklayacağınızı ve test edeceğinizi de göreceksiniz.

Düğme

Başlarken

API Anahtarınızı Alın

  1. console.anthropic.com adresinden kaydolun
  2. Kontrol panelinde API Anahtarları'na gidin
  3. Anahtar Oluştur'a tıklayın ve anahtarı kopyalayın
  4. Bir ortam değişkeni olarak saklayın:
export ANTHROPIC_API_KEY="sk-ant-your-key-here"

SDK'yı Yükleyin

Python:

pip install anthropic

TypeScript/Node.js:

npm install @anthropic-ai/sdk

API Uç Noktası

Tüm istekler şuraya gönderilir:

POST https://api.anthropic.com/v1/messages

Gerekli başlıklar:

x-api-key: YOUR_API_KEY
anthropic-version: 2023-06-01
content-type: application/json

Temel Metin İsteği

En basit API çağrısı. Bir mesaj gönderin, bir yanıt alın.

Python:

import anthropic

client = anthropic.Anthropic()

message = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Explain how HTTP/2 server push works in three sentences."}
    ]
)

print(message.content[0].text)

TypeScript:

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

const client = new Anthropic();

const message = await client.messages.create({
  model: "claude-opus-4-7",
  max_tokens: 1024,
  messages: [
    { role: "user", content: "Explain how HTTP/2 server push works in three sentences." }
  ],
});

console.log(message.content[0].text);

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-opus-4-7",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "Explain how HTTP/2 server push works in three sentences."}
    ]
  }'

Adaptif Düşünme

Adaptif düşünme, Opus 4.7'de desteklenen tek düşünme modudur. Claude'un görev karmaşıklığına göre akıl yürütme belirteçlerini dinamik olarak tahsis etmesini sağlar. Varsayılan olarak kapalıdır — bunu açıkça etkinleştirmeniz gerekir.

Python:

message = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=16384,
    thinking={
        "type": "adaptive",
        "display": "summarized"  # isteğe bağlı: düşünme çıktısını gör
    },
    messages=[
        {"role": "user", "content": "Analyze this algorithm's time complexity and suggest optimizations:\n\ndef find_pairs(arr, target):\n    result = []\n    for i in range(len(arr)):\n        for j in range(i+1, len(arr)):\n            if arr[i] + arr[j] == target:\n                result.append((arr[i], arr[j]))\n    return result"}
    ]
)

for block in message.content:
    if block.type == "thinking":
        print("Düşünme:", block.thinking)
    elif block.type == "text":
        print("Yanıt:", block.text)

Önemli noktalar:

Efor Parametresini Kullanma

message = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=16384,
    thinking={"type": "adaptive"},
    output_config={"effort": "xhigh"},  # xhigh | high | medium | low
    messages=[
        {"role": "user", "content": "Review this pull request for security vulnerabilities..."}
    ]
)

Opus 4.7 için efor seviyeleri:

Seviye En İyisi İçin
xhigh Kodlama, aracı görevleri, karmaşık akıl yürütme
high Zeka gerektiren çoğu iş
medium Denge hızı ve kalite
low Basit görevler, hızlı yanıtlar

Yüksek Çözünürlüklü Görme

Opus 4.7, uzun kenarda 2.576 piksele (3.75 megapiksel) kadar görüntüler kabul eder. Koordinatlar, gerçek piksellerle 1:1 eşleşir.

Python — URL'den bir görüntüyü analiz etme:

message = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=4096,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "url",
                        "url": "https://example.com/architecture-diagram.png"
                    }
                },
                {
                    "type": "text",
                    "text": "Bu mimari diyagramını açıklayın. Her hizmeti ve aralarındaki bağlantıları listeleyin."
                }
            ]
        }
    ]
)

print(message.content[0].text)

Python — base64 ile yerel bir görüntüyü analiz etme:

import base64

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

message = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=4096,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": "image/png",
                        "data": image_data
                    }
                },
                {
                    "type": "text",
                    "text": "Bu ekran görüntüsünde hangi kullanıcı arayüzü hatalarını görüyorsunuz?"
                }
            ]
        }
    ]
)

Daha yüksek çözünürlüklü görüntüler daha fazla belirteç tüketir. Tam doğruluk gerekmiyorsa, maliyetleri düşürmek için göndermeden önce görüntüleri yeniden boyutlandırın.

Araç Kullanımı (Fonksiyon Çağırma)

Araç kullanımı, Claude'un tanımladığınız fonksiyonları çağırmasına olanak tanır. Opus 4.7, varsayılan olarak daha az araç çağrısı kullanma eğilimindedir ve akıl yürütmeyi tercih eder. Araç kullanımını artırmak için efor seviyesini yükseltin.

Python:

import json

tools = [
    {
        "name": "get_weather",
        "description": "Get current weather for a city. Returns temperature, conditions, and humidity.",
        "input_schema": {
            "type": "object",
            "properties": {
                "city": {
                    "type": "string",
                    "description": "City name, e.g. 'San Francisco'"
                },
                "units": {
                    "type": "string",
                    "enum": ["celsius", "fahrenheit"],
                    "description": "Temperature unit"
                }
            },
            "required": ["city"]
        }
    }
]

messages = [
    {"role": "user", "content": "What's the weather like in Tokyo right now?"}
]

# İlk çağrı — Claude bir araç ister
response = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=1024,
    tools=tools,
    messages=messages,
)

# Araç çağrılarını işle
if response.stop_reason == "tool_use":
    messages.append({"role": "assistant", "content": response.content})

    tool_results = []
    for block in response.content:
        if block.type == "tool_use":
            # Fonksiyonunuzu burada yürütün
            result = {"temperature": 22, "conditions": "Parçalı bulutlu", "humidity": 65}

            tool_results.append({
                "type": "tool_result",
                "tool_use_id": block.id,
                "content": json.dumps(result)
            })

    messages.append({"role": "user", "content": tool_results})

    # İkinci çağrı — Claude araç sonucunu kullanır
    final_response = client.messages.create(
        model="claude-opus-4-7",
        max_tokens=1024,
        tools=tools,
        messages=messages,
    )
    print(final_response.content[0].text)

Aracı Döngü Modeli

Ardışık olarak birden fazla araç çağrısı çalıştıran otonom aracılar için:

def run_agent(system_prompt: str, tools: list, user_message: str) -> str:
    messages = [{"role": "user", "content": user_message}]

    while True:
        response = client.messages.create(
            model="claude-opus-4-7",
            max_tokens=16384,
            system=system_prompt,
            tools=tools,
            thinking={"type": "adaptive"},
            output_config={"effort": "xhigh"},
            messages=messages,
        )

        messages.append({"role": "assistant", "content": response.content})

        if response.stop_reason != "tool_use":
            return "".join(
                block.text for block in response.content
                if hasattr(block, "text")
            )

        tool_results = []
        for block in response.content:
            if block.type == "tool_use":
                result = execute_tool(block.name, block.input)
                tool_results.append({
                    "type": "tool_result",
                    "tool_use_id": block.id,
                    "content": result,
                })

        messages.append({"role": "user", "content": tool_results})

Görev Bütçeleri (Beta)

Görev bütçeleri, Claude'a tüm bir aracı döngü için bir token tahsisi sağlar. Model, çalışan bir geri sayım görür ve bütçe tüketildikçe işi tamamlar.

response = client.beta.messages.create(
    model="claude-opus-4-7",
    max_tokens=128000,
    output_config={
        "effort": "high",
        "task_budget": {"type": "tokens", "total": 128000},
    },
    messages=[
        {"role": "user", "content": "Review the codebase and propose a refactor plan."}
    ],
    betas=["task-budgets-2026-03-13"],
)

Ana kısıtlamalar:

Yanıt Akışı

Sohbet arayüzlerinde gerçek zamanlı çıktı için yanıtları akış halinde alın.

Python:

with client.messages.stream(
    model="claude-opus-4-7",
    max_tokens=4096,
    messages=[
        {"role": "user", "content": "Write a Python function to parse CSV files with error handling."}
    ]
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

TypeScript:

const stream = await client.messages.stream({
  model: "claude-opus-4-7",
  max_tokens: 4096,
  messages: [
    { role: "user", content: "Write a Python function to parse CSV files with error handling." }
  ],
});

for await (const event of stream) {
  if (event.type === "content_block_delta" && event.delta.type === "text_delta") {
    process.stdout.write(event.delta.text);
  }
}

display: "summarized" ile adaptif düşünmeyi etkinleştirdiyseniz, önce düşünme blokları akış halinde gelir, ardından metin yanıtı gelir. display: "summarized" olmadan, kullanıcılar düşünme sırasında bir duraklama görür ve ardından metin çıktısı alır.

İstem Önbellekleme

Tekrarlanan bağlam (sistem istemleri, uzun belgeler) için maliyetleri önbelleğe alarak azaltın.

response = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=1024,
    system=[
        {
            "type": "text",
            "text": "Sen kıdemli bir kod incelemecisisin. Güvenlik açıkları, performans sorunları ve en iyi uygulamalar ihlalleri için kodu incele...",
            "cache_control": {"type": "ephemeral"}
        }
    ],
    messages=[
        {"role": "user", "content": "Bu fonksiyonu inceleyin:\n\ndef process_user_input(data):\n    return eval(data)"}
    ]
)

Opus 4.7 için önbellek fiyatlandırması:

İşlem Maliyet
5 dakikalık önbellek yazma $6.25 / MTok (1.25x temel)
1 saatlik önbellek yazma $10 / MTok (2x temel)
Önbellek okuma/isabeti $0.50 / MTok (0.1x temel)

Tek bir önbellek okuması, 5 dakikalık önbellek yazımının maliyetini karşılar. İki okuma ise 1 saatlik yazımın maliyetini karşılar.

Çok Turlu Konuşmalar

Mesaj dizisine ekleyerek turlar arasında bağlamı koruyun.

messages = []

# 1. Tur
messages.append({"role": "user", "content": "Bir yapılacaklar uygulaması için bir REST API oluşturmam gerekiyor."})

response = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=4096,
    messages=messages,
)

messages.append({"role": "assistant", "content": response.content})

# 2. Tur
messages.append({"role": "user", "content": "JWT belirteçleriyle kimlik doğrulaması ekleyin."})

response = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=4096,
    messages=messages,
)

API Çağrılarınızı Apidog ile Test Etme

Bir Claude API entegrasyonu oluşturmak, karmaşık yükler içerir: çok turlu mesajlar, araç tanımları, araç sonuçları, base64 görüntüleri ve akış yanıtları. Apidog gibi bir araç, hata ayıklama ve test etmeyi basitleştirir.

Ortamınızı kurun:

  1. Apidog'da yeni bir proje oluşturun ve Claude Mesajları API uç noktasını ekleyin
  2. ANTHROPIC_API_KEY'nizi ortam değişkenlerinde saklayın
  3. Gerekli başlıkları ayarlayın (x-api-key, anthropic-version, content-type)

Araç kullanım akışlarını test edin:

Apidog, istekleri zincirlemenizi sağlar, böylece eksiksiz bir araç kullanım döngüsünü simüle edebilirsiniz: ilk mesajı gönderin, Claude'un araç çağrısını inceleyin, araç sonucunu oluşturun ve geri gönderin. Görsel istek/yanıt denetleyicisi, her bir yükte tam olarak ne olduğunu gösterir.

Modelleri karşılaştırın:

Token sayılarını, yanıt kalitesini ve gecikmeyi karşılaştırmak için aynı istemleri claude-opus-4-6 ve claude-opus-4-7'ye karşı çalıştırın. Apidog'un test çalıştırıcısı, A/B karşılaştırmalarını tekrarlanabilir hale getirir.

Şemaları doğrulayın:

Beklenen yanıt formatınız için JSON şemaları tanımlayın ve Apidog'un Claude'un yanıtlarının eşleştiğini otomatik olarak doğrulamasını sağlayın. Bu, istemleri değiştirdiğinizde veya modelleri değiştirdiğinizde oluşan gerilemeleri yakalar.

Düğme

Yaygın Hatalar ve Düzeltmeler

Hata Neden Düzeltme
400: thinking.budget_tokens desteklenmiyor Genişletilmiş düşünme sözdizimi kullanılıyor thinking: {"type": "adaptive"}'ye geçin
400: temperature desteklenmiyor Varsayılan olmayan örnekleme parametreleri ayarlama temperature, top_p, top_k'yi kaldırın
400: max_tokens aşıldı Yeni tokenleştirici daha fazla belirteç üretir max_tokens'u artırın (128.000'e kadar)
429: Hız sınırlaması Çok fazla istek Üstel geri çekilme uygulayın; katman sınırlarınızı kontrol edin
Boş düşünme blokları Varsayılan düşünme gösterimi "omitted"'dır Düşünme yapılandırmasına display: "summarized" ekleyin

Fiyatlandırma Referansı

Kullanım Maliyet
Giriş belirteçleri $5 / MTok
Çıkış belirteçleri $25 / MTok
Toplu giriş $2.50 / MTok
Toplu çıkış $12.50 / MTok
Önbellek okumaları $0.50 / MTok
5 dakikalık önbellek yazma işlemleri $6.25 / MTok
1 saatlik önbellek yazma işlemleri $10 / MTok

Not: Opus 4.7'nin yeni tokenleştiricisi, aynı metin için Opus 4.6'ya kıyasla %35'e kadar daha fazla belirteç kullanabilir. Üretim dağıtımından önce maliyetleri tahmin etmek için /v1/messages/count_tokens uç noktasını kullanın.

Sonuç

Claude Opus 4.7, Claude ailesindeki en yetenekli modeldir. API, büyük ölçüde Opus 4.6 ile uyumludur, ancak genişletilmiş düşünme bütçelerinin ve örnekleme parametrelerinin kaldırılması kod değişiklikleri gerektirir. Yeni yetenekler — adaptif düşünme, xhigh efor, görev bütçeleri ve yüksek çözünürlüklü görme — modelin nasıl akıl yürüttüğü ve ne kadar maliyetli olduğu üzerinde size daha fazla kontrol sağlar.

Temel metin isteğiyle başlayın, karmaşık görevler için adaptif düşünmeyi ekleyin ve aracınız büyüdükçe araç kullanımını ve görev bütçelerini katmanlayın. Entegrasyonunuzu test etmek, yükleri doğrulamak ve model sürümleri arasında performansı karşılaştırmak için Apidog'u kullanın.

Düğme

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin