Hesabınızın günlük kullanım özetini aşağıda görebilirsiniz.
Base URL'nizi kopyalayın, dokümantasyona göz atın veya yeni bir anahtar oluşturarak birkaç saniye içinde entegrasyona başlayın.
Yükleniyor...
İsteklerinizde temel endpoint olarak bu adresi kullanın.
Tüm anahtarlar aynı günlük limiti paylaşır.
İsteklerinizde x-api-key header'ı ile kullanın.
| İsim | API Anahtarı | Oluşturulma | İşlemler |
|---|---|---|---|
| Yükleniyor... | |||
Claude modelleri ile test yapın veya sohbet edin.
Sohbetleriniz API limitlerinizden düşecektir.
Aktif paketlerinizi yönetin, ek paketleri görüntüleyin ve geçmiş satın alımlarınızı izleyin.
Aktif paketlerinizi yönetin veya farklı kategorilerde ek paket alın.
Netiva API, standart Anthropic API ile tam uyumludur. Aşağıdan dilinizi seçerek hemen başlayın.
pip install anthropic
from anthropic import Anthropic
client = Anthropic(
base_url="PROXY_URL_PLACEHOLDER",
api_key="YOUR_API_KEY"
)
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
system="Sen yardımsever bir asistansın.",
messages=[{"role": "user", "content": "Merhaba!"}]
)
print(response.content[0].text)
print(f"Kullanım: {response.usage.input_tokens} giriş, {response.usage.output_tokens} çıkış token")
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=4096,
messages=[
{"role": "user", "content": "JavaScript nedir?"},
{"role": "assistant", "content": "JavaScript, web geliştirme için..."},
{"role": "user", "content": "TypeScript ile farkları neler?"}
]
)
npm install @anthropic-ai/sdk
import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic({
baseURL: "PROXY_URL_PLACEHOLDER",
apiKey: "YOUR_API_KEY"
});
const response = await client.messages.create({
model: "claude-sonnet-4-6",
max_tokens: 1024,
system: "Sen yardımsever bir asistansın.",
messages: [{ role: "user", content: "Merhaba!" }]
});
console.log(response.content[0].text);
console.log(`Kullanım: ${response.usage.input_tokens} giriş, ${response.usage.output_tokens} çıkış token`);
const response = await client.messages.create({
model: "claude-sonnet-4-6",
max_tokens: 4096,
messages: [
{ role: "user", content: "JavaScript nedir?" },
{ role: "assistant", content: "JavaScript, web geliştirme için..." },
{ role: "user", content: "TypeScript ile farkları neler?" }
]
});
composer require guzzlehttp/guzzle
<?php
require 'vendor/autoload.php';
use GuzzleHttp\Client;
$client = new Client(['base_uri' => 'PROXY_URL_PLACEHOLDER']);
$response = $client->post('/v1/messages', [
'headers' => [
'Content-Type' => 'application/json',
'x-api-key' => 'YOUR_API_KEY',
'anthropic-version' => '2023-06-01'
],
'json' => [
'model' => 'claude-sonnet-4-6',
'max_tokens' => 1024,
'system' => 'Sen yardımsever bir asistansın.',
'messages' => [
['role' => 'user', 'content' => 'Merhaba!']
]
]
]);
$data = json_decode($response->getBody(), true);
echo $data['content'][0]['text'];
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
"io"
)
func main() {
body, _ := json.Marshal(map[string]interface{}{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"system": "Sen yardımsever bir asistansın.",
"messages": []map[string]string{
{"role": "user", "content": "Merhaba!"},
},
})
req, _ := http.NewRequest("POST", "PROXY_URL_PLACEHOLDER/v1/messages", bytes.NewBuffer(body))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("x-api-key", "YOUR_API_KEY")
req.Header.Set("anthropic-version", "2023-06-01")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
respBody, _ := io.ReadAll(resp.Body)
fmt.Println(string(respBody))
}
curl PROXY_URL_PLACEHOLDER/v1/messages \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"system": "Sen yardımsever bir asistansın.",
"messages": [
{"role": "user", "content": "Merhaba!"}
]
}'
curl PROXY_URL_PLACEHOLDER/v1/models \
-H "x-api-key: YOUR_API_KEY"
Uzun yanıtları gerçek zamanlı almak için streaming kullanabilirsiniz.
with client.messages.stream(
model="claude-sonnet-4-6",
max_tokens=4096,
messages=[{"role": "user", "content": "Uzun bir hikaye yaz"}]
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
const stream = client.messages.stream({
model: "claude-sonnet-4-6",
max_tokens: 4096,
messages: [{ role: "user", content: "Uzun bir hikaye yaz" }]
});
stream.on('text', (text) => {
process.stdout.write(text);
});
const finalMessage = await stream.finalMessage();
console.log('\nToplam token:', finalMessage.usage);
curl PROXY_URL_PLACEHOLDER/v1/messages \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-sonnet-4-6",
"max_tokens": 4096,
"stream": true,
"messages": [
{"role": "user", "content": "Uzun bir hikaye yaz"}
]
}'
Not: Streaming istekler de günlük limit sayacını etkiler.
Claude'a dış araçlar tanıtabilir, fonksiyon çağrımı yapabilirsiniz.
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
tools=[{
"name": "get_weather",
"description": "Hava durumunu getirir",
"input_schema": {
"type": "object",
"properties": {
"city": {"type": "string", "description": "Şehir adı"}
},
"required": ["city"]
}
}],
messages=[{"role": "user", "content": "İstanbul'da hava nasıl?"}]
)
# Tool kullanımı kontrolü
for block in response.content:
if block.type == "tool_use":
print(f"Araç: {block.name}, Girdi: {block.input}")
const response = await client.messages.create({
model: "claude-sonnet-4-6",
max_tokens: 1024,
tools: [{
name: "get_weather",
description: "Hava durumunu getirir",
input_schema: {
type: "object",
properties: {
city: { type: "string", description: "Şehir adı" }
},
required: ["city"]
}
}],
messages: [{ role: "user", content: "İstanbul'da hava nasıl?" }]
});
// Tool kullanımı kontrolü
response.content.forEach(block => {
if (block.type === "tool_use") {
console.log(`Araç: ${block.name}, Girdi:`, block.input);
}
});
curl PROXY_URL_PLACEHOLDER/v1/messages \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"tools": [{
"name": "get_weather",
"description": "Hava durumunu getirir",
"input_schema": {
"type": "object",
"properties": {
"city": {"type": "string", "description": "Şehir adı"}
},
"required": ["city"]
}
}],
"messages": [
{"role": "user", "content": "İstanbul'\''da hava nasıl?"}
]
}'
Güncel model listesini API Key'iniz ile GET /v1/models endpoint'inden alabilirsiniz.
| Model ID | Görünen Ad |
|---|---|
| Yükleniyor... | |
| HTTP Kodu | Hata Tipi | Açıklama |
|---|---|---|
400 |
invalid_request_error | Hatalı istek formatı |
401 |
authentication_error | Geçersiz API key |
403 |
permission_error | API key deaktif |
429 |
rate_limit_error | Günlük limit aşıldı |
500 |
api_error | Sunucu hatası |
502 |
api_error | Backend bağlantı hatası |
NetivaCode, AI destekli terminal kod asistanıdır. Projeleriniz üzerinde doğrudan terminalden yapay zeka ile çalışabilirsiniz.
İşletim sisteminize uygun kurulum komutunu çalıştırın. Bun runtime gereklidir, yoksa otomatik kurulur.
curl -fsSL https://netiva.com.tr/install.sh | bash
Kurulum dizini:
~/.netivacode | Komutlar: ~/.local/bin/
irm https://netiva.com.tr/install.ps1 | iex
Kurulum dizini:
%USERPROFILE%\.netivacode | Windows 10+ gereklidir.
⚠️ Not: PowerShell script çalıştırma politikası
engelliyorsa önce şu komutu çalıştırın:Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Netiva hesabınızla giriş yaparak API erişiminizi aktifleştirin.
netivacode login
Tarayıcınız açılacak ve Netiva hesabınızla giriş yapmanız istenecek. Oturum otomatik olarak CLI'ya aktarılır.
Herhangi bir proje klasöründe terminal açın ve başlatın:
# Tam komut
netivacode
# Kısa komutlar (alias)
netiva
ncode
| Komut | Açıklama |
|---|---|
netivacode |
Etkileşimli REPL modunu başlatır |
netivacode login |
Netiva hesabınızla giriş yapar |
netivacode logout |
Oturumu kapatır |
netivacode update |
En son sürüme günceller |
netivacode --version |
Sürüm bilgisini gösterir |
netivacode --help |
Yardım menüsünü gösterir |
netivacode reinstall |
Sıfırdan yeniden kurulum yapar |
netivacode reset |
Fabrika ayarlarına sıfırlar (ayarlar silinir, CLI korunur) |
netivacode uninstall |
CLI'yı kaldırır |
| Kısayol | İşlev |
|---|---|
/help |
Kullanılabilir komutları listeler |
/model |
Kullanılacak modeli değiştirir |
/clear |
Sohbet geçmişini temizler |
/config |
Yapılandırma ayarlarını gösterir |
/compact |
Sohbeti özetleyerek sıkıştırır |
Escape |
Mevcut işlemi iptal eder |
NetivaCode her başlatıldığında güncelleme kontrolü yapar. Manuel güncelleme:
# Güncelleme komutu
netivacode update
# veya kurulum scripti ile
curl -fsSL https://netiva.com.tr/install.sh | bash
# CLI'yı tamamen kaldırma
netivacode uninstall
# veya kurulum scripti ile
curl -fsSL https://netiva.com.tr/install.sh | bash -- --uninstall
💡 İpucu: NetivaCode, planınızdaki API limitlerini kullanır. Kalan kullanım hakkınızı CLI başlangıç ekranında ve Genel Bakış sekmesinde görebilirsiniz.
🖥️ Sistem Gereksinimleri:
Netiva API üzerinden Claude Code'u kullanmak için aşağıdaki adımları takip edin.
Claude Code'u kullanmak için tüm platformlarda Node.js ve Git gereklidir.
1. nodejs.org üzerinden en güncel LTS sürümünü
kurun
2. git-scm.com adresinden Git aracını indirip kurun
3. Kurulumlar
tamamlandıktan sonra komut satırını kapatıp yeniden başlatın
node --version
npm --version
git --version
macOS cihazlarda en kolay yöntem Homebrew kullanmaktır:
brew install node git
Eğer Homebrew kullanmıyorsanız bu sistem gereksinimlerini resmi indirme sitelerinden de kurabilirsiniz.
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs git
# DNF tabanlı dağıtımlar için:
sudo dnf install nodejs npm
sudo dnf install -y git
curl -fsSL https://claude.ai/install.sh | bash
irm https://claude.ai/install.ps1 | iex
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
Netiva API ayarlarını ~/.claude/settings.json
dosyasına otomatik yazan tek satırlık komut. Komutu çalıştırınca API keyiniz sorulur, girer girmez kurulum
tamamlanır.
⚠️ Önce yapın: Eğer Claude Code'da daha önce
Anthropic hesabıyla giriş yaptıysanız, terminale claude yazıp açıldıktan sonra
/logout komutuyla çıkış yapın. Ardından aşağıdaki kurulum komutunu çalıştırın.
irm https://netiva.com.tr/install/setup.ps1 | iex
PowerShell penceresine yapıştır → Enter → API key sorulduğunda yapıştır → kurulum biter.
curl -fsSL https://netiva.com.tr/install/setup.sh | bash
Terminale yapıştır → Enter → API key sorulduğunda yapıştır → kurulum biter. zsh, bash, ash shell'lerinde çalışır.
Aşağıdaki komutlardan kendi sisteminize uygun olanı kullanın:
cat >> ~/.zshrc << 'EOF'
export ANTHROPIC_BASE_URL="PROXY_URL_PLACEHOLDER"
export ANTHROPIC_AUTH_TOKEN="sk-your-api-key"
export API_TIMEOUT_MS="3000000"
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC="1"
EOF
source ~/.zshrc
cat >> ~/.bashrc << 'EOF'
export ANTHROPIC_BASE_URL="PROXY_URL_PLACEHOLDER"
export ANTHROPIC_AUTH_TOKEN="sk-your-api-key"
export API_TIMEOUT_MS="3000000"
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC="1"
EOF
source ~/.bashrc
[Environment]::SetEnvironmentVariable("ANTHROPIC_BASE_URL", "PROXY_URL_PLACEHOLDER", "User")
[Environment]::SetEnvironmentVariable("ANTHROPIC_AUTH_TOKEN", "sk-your-api-key", "User")
[Environment]::SetEnvironmentVariable("API_TIMEOUT_MS", "3000000", "User")
[Environment]::SetEnvironmentVariable("CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC", "1", "User")
setx ANTHROPIC_BASE_URL "PROXY_URL_PLACEHOLDER"
setx ANTHROPIC_AUTH_TOKEN "sk-your-api-key"
setx API_TIMEOUT_MS "3000000"
setx CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC "1"
Not: Manuel yöntemde değişkenleri kaydettikten sonra terminali yeniden başlatın.
Herhangi bir proje klasöründe terminal açın ve çalıştırın:
claude
Netiva API üzerinden OpenAI Codex CLI kullanmak için aşağıdaki adımları takip edin.
ℹ️ Bilgi: Codex CLI, OpenAI'nin Responses
API (/v1/responses) protokolünü kullanır. Netiva
API bu protokolü tam olarak desteklemektedir.
Codex CLI'nin çalışması için bilgisayarınızda Node.js yüklü olmalı.
1. nodejs.org adresine gidin
2. LTS sürümünü
indirin (ör. 20.x.x)
3. İndirilen .msi dosyasını çalıştırın
4. Kurulum sihirbazını takip edin
(Next → Next → Install)
5. Kurulum tamamlanınca yeni bir terminal açın
node --version
npm --version
Homebrew kullanıyorsanız:
brew install node
Alternatif olarak nodejs.org üzerinden .pkg indirip kurabilirsiniz.
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
# Fedora/CentOS için:
sudo dnf install nodejs npm
Terminal açın ve aşağıdaki komutu çalıştırın:
npm install -g @openai/codex
Windows: PowerShell
veya CMD'yi yönetici olarak çalıştırın.
macOS / Linux: İzin hatası alırsanız
sudo npm install -g @openai/codex kullanın.
~/.codex/config.toml ve ~/.codex/auth.json dosyalarını otomatik
oluşturan tek satırlık komut. Komutu çalıştırınca API keyiniz sorulur, girer girmez kurulum
tamamlanır.
ℹ️ Temiz yapılandırma — sohbetler korunur: Bu komut
yalnızca ~/.codex/config.toml ve ~/.codex/auth.json dosyalarını siler ve
Netiva ayarlarıyla yeniden oluşturur. Eski sohbet geçmişiniz
(sessions/, history/, log/ klasörleri) aynen
korunur. Script çalıştığında onayınız istenir, vazgeçmek için Ctrl+C ile çıkabilirsiniz.
irm https://netiva.com.tr/install/codex-setup.ps1 | iex
PowerShell'e yapıştır → Enter → Onay için Enter → API key'i yapıştır → kurulum biter.
curl -fsSL https://netiva.com.tr/install/codex-setup.sh | bash
Terminale yapıştır → Enter → Onay için Enter → API key'i yapıştır → kurulum biter. zsh, bash, ash shell'lerinde çalışır.
.codex klasörü oluşturmaCodex CLI, ayarlarını .codex klasöründen okur.
1. Dosya Gezgini'ni açın
2. Adres çubuğuna
%USERPROFILE% yazın ve Enter'a basın
3. Yeni klasör oluşturun: .codex
(noktayla başlar)
Not: Windows'ta
noktayla başlayan klasör oluşturmak için adı .codex. yazabilirsiniz; Windows
otomatik olarak .codex yapar.
mkdir -p ~/.codex
cd ~/.codex
config.toml oluşturma.codex klasörünün içine config.toml dosyasını oluşturun.
# Netiva API - Codex Configuration
model_provider = "netiva"
model = "gpt-5.4"
model_reasoning_effort = "medium"
[model_providers.netiva]
name = "netiva"
base_url = "PROXY_URL_PLACEHOLDER/v1"
wire_api = "responses"
cat > ~/.codex/config.toml << 'EOF'
# Netiva API - Codex Configuration
model_provider = "netiva"
model = "gpt-5.4"
model_reasoning_effort = "medium"
[model_providers.netiva]
name = "netiva"
base_url = "PROXY_URL_PLACEHOLDER/v1"
wire_api = "responses"
EOF
⚠️ Önemli:
base_url — Sunucu adresinizin sonuna /v1 eklemelisinizwire_api = "responses" — Bu ayar zorunludur. Codex CLI bu sayede
Responses API (/v1/responses) protokolünü kullanır.model — Kullanmak istediğiniz modeli yazabilirsiniz. Mevcut modelleri panelinizdeki
Modeller bölümünden görebilirsiniz.model_reasoning_effort — low, medium veya
high değerlerinden birini seçebilirsiniz.auth.json oluşturma.codex klasörünün içine auth.json dosyasını oluşturun.
{
"OPENAI_API_KEY": "sk-apianahtariniz"
}
cat > ~/.codex/auth.json << 'EOF'
{
"OPENAI_API_KEY": "sk-apianahtariniz"
}
EOF
Not:
"sk-apianahtariniz" yerine Netiva API panelinizden
oluşturduğunuz gerçek API anahtarınızı yazın.
Herhangi bir proje klasöründe terminal açın:
codex "Bu projedeki hataları bul ve düzelt"
Codex CLI farklı onay modlarıyla çalıştırılabilir:
# Varsayılan - dosya yazma ve komut çalıştırma öncesi onay ister
codex "Proje yapısını iyileştir"
# Auto-edit - dosya değişikliklerini otomatik uygular, komutlar için onay ister
codex --approval-mode auto-edit "README dosyasını güncelle"
# Full-auto - her şeyi otomatik çalıştırır (dikkatli kullanın!)
codex --approval-mode full-auto "Testleri çalıştır ve hataları düzelt"
❌ "connection refused" veya "timeout" hatası:
base_url değerinin doğru olduğundan emin olun (sonunda /v1 olmalı)❌ "authentication error" hatası:
auth.json dosyasındaki API anahtarının doğru olduğundan emin olun❌ "model not found" hatası:
config.toml dosyasındaki model değerinin paneldeki aktif model ismiyle
eşleştiğinden emin olunNetiva API üzerinden OpenCode CLI ile terminal tabanlı AI asistanını kullanmak için aşağıdaki adımları takip edin.
ℹ️ OpenCode Nedir? OpenCode, terminalden çalışan güçlü bir AI kodlama asistanıdır. Hem CLI hem de masaüstü (Desktop) versiyonu mevcuttur. Her ikisi de aynı yapılandırma dosyasını kullanır.
go install github.com/opencode-ai/opencode@latest
Go yüklü değilse:
brew install go veya go.dev adresinden indirin.
brew install opencode-ai/tap/opencode
OpenCode Desktop uygulamasını opencode.ai adresinden
indirin. Masaüstü uygulama da aynı opencode.json yapılandırma dosyasını kullanır.
Netiva'yı yeni provider olarak ekleyen, tüm modelleri (Claude
Opus/Sonnet/Haiku, GPT-5.x ailesi) ve resim üretimi (DALL-E 3, gpt-image-1) tanımlayan,
opencode.json + auth.json dosyalarını otomatik oluşturan tek satırlık komut.
ℹ️ Kurulum tipi seçtirir: Script çalıştığında
[1] Sade (sadece opencode.json + auth.json yenilenir,
sohbetler korunur) veya [2] Tam temiz (~/.config/opencode/ ve
~/.local/share/opencode/ tamamen silinir) arasından seçim yaparsın.
irm https://netiva.com.tr/install/opencode-setup.ps1 | iex
PowerShell'e yapıştır → Enter → Kurulum tipi seç (1 önerilen) → API key gir → tamam.
curl -fsSL https://netiva.com.tr/install/opencode-setup.sh | bash
Terminale yapıştır → Enter → Kurulum tipi seç → API key gir → tamam.
📦 Otomatik eklenen modeller:
claude-opus-4-7 (default, reasoning),
claude-opus-4-6, claude-sonnet-4-5/4-6,
claude-haiku-4-5, gpt-5.5 (reasoning), gpt-5.4,
gpt-5.4-mini, gpt-5.3-codex — hepsi tool-call ve attachment (vision)
destekli.
dall-e-3,
gpt-image-1.Proje klasörünüzde veya global olarak opencode.json dosyası oluşturun:
{
"provider": {
"anthropic": {
"options": {
"baseURL": "PROXY_URL_PLACEHOLDER"
}
}
}
}
{
"provider": {
"anthropic": {
"options": {
"baseURL": "PROXY_URL_PLACEHOLDER"
}
}
}
}
OpenCode TUI içinde /connect komutuyla anahtarınızı bağlayın veya elle yapılandırın:
# OpenCode'u başlatın
opencode
# TUI içinde /connect komutuyla
# Anthropic provider'ı seçip API anahtarını girin
export ANTHROPIC_API_KEY="sk-apianahtariniz"
{
"anthropic": "sk-apianahtariniz"
}
# Proje klasörünüzde çalıştırın
cd /path/to/proje
opencode
💡 Not: Proje bazlı opencode.json global
ayarları geçersiz kılar. Desktop versiyonu da aynı yapılandırmayı okur.
Netiva API üzerinden Cline VS Code eklentisini kullanmak için aşağıdaki adımları takip edin.
ℹ️ Cline Nedir? Cline, VS Code içinde çalışan otonom bir AI kodlama asistanıdır. Dosya okuma/yazma, terminal komutları çalıştırma ve tarayıcı kullanma gibi yeteneklere sahiptir.
VS Code Extensions panelinden veya komut satırından kurabilirsiniz:
Cline yazıncode --install-extension saoudrizwan.claude-dev
PROXY_URL_PLACEHOLDER
claude-sonnet-4-20250514)Cline panelinde mesaj alanına isteğinizi yazın:
Bu projedeki hataları analiz et ve düzelt
Login sayfasına dark mode desteği ekle
API endpoint'lerini test edecek unit testler yaz
⚠️ Önemli: Base URL alanına /v1
eklemeyin. Cline bunu otomatik olarak ekler. Yalnızca sunucu adresini girin.
❌ Bağlantı hatası:
❌ Model hatası:
Netiva API üzerinden Roo Code (eski adıyla Roo Cline) VS Code eklentisini kullanmak için aşağıdaki adımları takip edin.
ℹ️ Roo Code Nedir? Roo Code, Cline tabanlı geliştirilmiş bir AI kodlama asistanıdır. Çoklu profil desteği, gelişmiş tool calling ve dosya yönetimi özellikleriyle öne çıkar.
Roo Code aratıncode --install-extension rooveterinaryinc.roo-cline
Roo Code iki farklı yöntemle yapılandırılabilir:
Anthropic seçinPROXY_URL_PLACEHOLDER
OpenAI Compatible seçinPROXY_URL_PLACEHOLDER/v1
claude-sonnet-4-20250514 gibi model adını yazınRoo Code'un güçlü özelliklerinden biri profil desteğidir. Farklı modeller ve ayarlar arasında hızlıca geçiş yapabilirsiniz:
💡 İpucu: Farklı görevler için ayrı profiller
oluşturabilirsiniz — örneğin kod yazma için claude-opus-4-20250514, hızlı sohbet için
claude-haiku-4-20250414.
❌ Tool calling hatası:
❌ Bağlantı hatası:
/ (slash) olmadığından emin olunBu proxy, /v1/chat/completions endpoint'i ile OpenAI API formatını destekler. Mevcut OpenAI
SDK'nızı değiştirmeden kullanabilirsiniz.
POST PROXY_URL_PLACEHOLDER/v1/chat/completions
from openai import OpenAI
client = OpenAI(
base_url="PROXY_URL_PLACEHOLDER/v1",
api_key="YOUR_API_KEY"
)
response = client.chat.completions.create(
model="claude-sonnet-4-6",
messages=[
{"role": "system", "content": "Sen yardımsever bir asistansın."},
{"role": "user", "content": "Merhaba!"}
],
max_tokens=1024
)
print(response.choices[0].message.content)
import OpenAI from 'openai';
const client = new OpenAI({
baseURL: 'PROXY_URL_PLACEHOLDER/v1',
apiKey: 'YOUR_API_KEY',
});
const response = await client.chat.completions.create({
model: 'claude-sonnet-4-6',
messages: [
{ role: 'user', content: 'Merhaba!' }
],
stream: true
});
for await (const chunk of response) {
process.stdout.write(chunk.choices[0]?.delta?.content || '');
}
| Parametre | Açıklama |
|---|---|
model |
Kullanılacak model ismi |
messages |
Mesaj dizisi (system, user, assistant rolleri) |
max_tokens |
Maksimum çıktı token sayısı |
stream |
true için SSE streaming yanıt |
temperature |
Yaratıcılık seviyesi (0-1) |
top_p |
Nucleus sampling parametresi |
stop |
Durdurma dizileri |
Claude modelleri görsel içerikleri anlayabilir. Görselleri base64 veya URL
formatında gönderebilirsiniz.
import base64
from anthropic import Anthropic
client = Anthropic(
base_url="PROXY_URL_PLACEHOLDER",
api_key="YOUR_API_KEY"
)
# Görseli base64'e çevir
with open("image.png", "rb") as f:
image_data = base64.standard_b64encode(f.read()).decode("utf-8")
response = 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": "Bu görselde ne görüyorsun?"
}
]
}]
)
print(response.content[0].text)
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "url",
"url": "https://example.com/photo.jpg"
}
},
{"type": "text", "text": "Bu görseli açıkla."}
]
}]
)
Desteklenen görsel formatları: image/jpeg, image/png, image/gif,
image/webp. Maksimum dosya boyutu ~20MB (base64).
Netiva resim üretme API'si OpenAI gpt-image-1 modeliyle uyumludur. Prompt'tan resim üretir,
farklı boyut ve kalitelerde çıktı alabilirsiniz. Kredi sistemi kullanır — her resim, seçtiğiniz
boyut ve kaliteye göre belirli sayıda resim kredisi tüketir (text limitinden ayrı).
| Method | URL | Auth |
|---|---|---|
POST |
PROXY_URL_PLACEHOLDER/v1/images/generations |
Text → image (yeni resim üret) |
POST |
PROXY_URL_PLACEHOLDER/v1/images/edits |
Image + prompt → edited image (kaynak resim düzenleme) |
GET |
PROXY_URL_PLACEHOLDER/v1/images/credits |
Kalan kredi bakiyesi |
GET |
PROXY_URL_PLACEHOLDER/v1/images/history |
Geçmiş üretim kayıtları |
Tüm endpoint'ler x-api-key veya Authorization: Bearer header'ı ister.
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
prompt |
string | ✓ | Üretilecek resmin metinsel açıklaması |
size |
string | — | 1024x1024 (kare), 1024x1536 (dikey), 1536x1024 (yatay).
Varsayılan: 1024x1024 |
quality |
string | — | low, medium, high, auto. Varsayılan:
auto. Yüksek kalite daha fazla kredi tüketir. |
n |
integer | — | Üretilecek resim sayısı (1-10 arası). Varsayılan: 1 |
from openai import OpenAI
client = OpenAI(
base_url="PROXY_URL_PLACEHOLDER/v1",
api_key="YOUR_API_KEY"
)
response = client.images.generate(
model="gpt-image-1",
prompt="Ay üzerinde sevimli bir kedi, dijital sanat",
size="1024x1024",
quality="high",
n=1
)
# Resmin URL'sine eriş
print(response.data[0].url)
# Veya base64 verisine
# print(response.data[0].b64_json)
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "PROXY_URL_PLACEHOLDER/v1",
apiKey: "YOUR_API_KEY"
});
const response = await client.images.generate({
model: "gpt-image-1",
prompt: "Ay üzerinde sevimli bir kedi, dijital sanat",
size: "1024x1024",
quality: "high",
n: 1
});
console.log(response.data[0].url);
// veya response.data[0].b64_json
<?php
$ch = curl_init("PROXY_URL_PLACEHOLDER/v1/images/generations");
$payload = [
"model" => "gpt-image-1",
"prompt" => "Ay üzerinde sevimli bir kedi, dijital sanat",
"size" => "1024x1024",
"quality" => "high",
"n" => 1,
];
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: YOUR_API_KEY",
],
CURLOPT_POSTFIELDS => json_encode($payload),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
echo $response["data"][0]["url"];
curl PROXY_URL_PLACEHOLDER/v1/images/generations \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"model": "gpt-image-1",
"prompt": "Ay üzerinde sevimli bir kedi, dijital sanat",
"size": "1024x1024",
"quality": "high",
"n": 1
}'
{
"created": 1735394820,
"data": [
{
"url": "https://netiva.com.tr/uploads/images/a3f5e2b9c1d8.png",
"b64_json": "iVBORw0KGgoAAAANSUhEUgAA...",
"revised_prompt": "A cute cat sitting on the moon's surface, digital art style..."
}
]
}
url — sunucumuzda saklanan kalıcı dosya yolu (kullanışlı). b64_json — resmin
base64 hali (anında işlemek için). revised_prompt — modelin promptu nasıl yorumladığı
(varsa).
Her resim üretimi seçilen boyut ve kaliteye göre belli sayıda resim kredisi tüketir.
Yüksek kalite ve büyük boyut daha çok kredi yer. Kalan krediyi
GET /v1/images/credits ile sorgulayabilirsin. Güncel fiyat matrisini
Paketler → Resim Kredisi sekmesinde her paketin info butonu
altında görebilirsin.
curl PROXY_URL_PLACEHOLDER/v1/images/credits \
-H "x-api-key: YOUR_API_KEY"
{
"data": {
"total_remaining": 847,
"total_initial": 1000,
"active_packages": [
{
"id": 42,
"package_name": "1000 Kredi (Aylık)",
"credits_remaining": 847,
"credits_initial": 1000,
"expires_at": "2026-05-28T00:00:00Z"
}
]
}
}
curl "PROXY_URL_PLACEHOLDER/v1/images/history?limit=20&offset=0" \
-H "x-api-key: YOUR_API_KEY"
Yanıt: id, prompt size/quality, n, harcanan kredi, oluşturulma zamanı. Pagination için
limit (max 100) ve offset kullan.
Mevcut bir resmi kaynak olarak vererek, prompt ile yeni bir versiyonunu üretebilirsin. Endpoint:
POST /v1/images/edits. Hem multipart/form-data (dosya yükleme) hem de JSON
(base64) destekler. Generation ile aynı kredi düşer.
curl PROXY_URL_PLACEHOLDER/v1/images/edits \
-H "x-api-key: YOUR_API_KEY" \
-F "image=@kaynak.png" \
-F "prompt=Arka planı uzaya çevir, yıldızlar ekle" \
-F "size=1024x1024" \
-F "quality=high"
import base64, requests
with open("kaynak.png", "rb") as f:
image_b64 = base64.b64encode(f.read()).decode()
response = requests.post(
"PROXY_URL_PLACEHOLDER/v1/images/edits",
headers={"x-api-key": "YOUR_API_KEY"},
json={
"prompt": "Arka planı uzaya çevir",
"image": image_b64,
"size": "1024x1024",
"quality": "high",
},
)
result = response.json()
print(result["data"][0]["url"])
import fs from "fs";
const imageB64 = fs.readFileSync("kaynak.png").toString("base64");
const res = await fetch("PROXY_URL_PLACEHOLDER/v1/images/edits", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": "YOUR_API_KEY",
},
body: JSON.stringify({
prompt: "Arka planı uzaya çevir",
image: imageB64,
size: "1024x1024",
quality: "high",
}),
});
const data = await res.json();
console.log(data.data[0].url);
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
prompt |
string | ✓ | Edit talimatı (örn. "arka planı uzaya çevir") |
image |
file/base64 | ✓ | Kaynak resim — multipart için file, JSON için base64. Max 8 MB. |
mask |
file/base64 | — | Opsiyonel maske (sadece maskelenmiş alanı edit eder) |
size, quality, n, output_format, background |
— | — | Generation ile aynı (yukarıdaki parametre tablosuna bak) |
missing_image ve image_too_large da geçerlidir.
| HTTP | Kod | Sebep |
|---|---|---|
| 400 | missing_prompt / invalid_size / invalid_quality /
invalid_n / missing_image / image_too_large |
Geçersiz veya eksik parametre (edit'te image zorunlu, max 8 MB) |
| 402 | insufficient_credits |
Yetersiz resim kredisi — paket satın al |
| 403 | image_not_allowed |
API anahtarı resim yetkisine sahip değil (allowed_services) |
| 503 | image_system_disabled |
Resim sistemi geçici olarak devre dışı |
| 502 | upstream_5xx / upstream_timeout |
Upstream servis hatası — krediniz otomatik iade edilir |
credits_charged ve
credits_refunded alanları geçmiş kayıtlarında görünür.
API istekleriniz günlük limit ile sınırlandırılmıştır. Limitler planınıza göre değişir.
429 Too Many Requests yanıtı döner{
"type": "error",
"error": {
"type": "rate_limit_error",
"message": "Rate limit exceeded: 100/100 requests used today."
}
}
Retry-After header'ına göre yeniden deneyebilirsinizExtended Thinking, Claude'un karmaşık problemlerde daha derinlemesine düşünmesini sağlar. Bu özellik, model yanıtının öncesinde bir "düşünme" aşaması ekler.
from anthropic import Anthropic
client = Anthropic(
base_url="PROXY_URL_PLACEHOLDER",
api_key="YOUR_API_KEY"
)
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=16000,
thinking={
"type": "enabled",
"budget_tokens": 10000
},
messages=[{
"role": "user",
"content": "Bu denklemi çöz: 3x² + 5x - 2 = 0"
}]
)
# Düşünme çıktısı + yanıt
for block in response.content:
if block.type == "thinking":
print("🧠 Düşünce:", block.thinking)
elif block.type == "text":
print("📝 Yanıt:", block.text)
| Parametre | Açıklama |
|---|---|
thinking.type |
"enabled" olarak ayarlayın |
thinking.budget_tokens |
Düşünme için ayrılacak max token (1024-100000) |
max_tokens |
Toplam max token (budget_tokens'dan büyük olmalı) |
thinking blokları ayrı event olarak gelirtemperature parametresi thinking modunda desteklenmezStreaming yanıtlar SSE (Server-Sent Events) protokolü ile gönderilir. Her event event: ve
data: alanlarından oluşur.
// Stream başlangıcı
event: message_start
data: {"type":"message_start","message":{"id":"msg_...","model":"claude-sonnet-4-6","usage":{"input_tokens":25}}}
// İçerik bloğu başlangıcı
event: content_block_start
data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""}}
// Metin parçaları (ana içerik)
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Merhaba"}}
// İçerik bloğu sonu
event: content_block_stop
data: {"type":"content_block_stop","index":0}
// Mesaj sonu (kullanım bilgisi)
event: message_delta
data: {"type":"message_delta","delta":{"stop_reason":"end_turn"},"usage":{"output_tokens":42}}
// Stream sonu
event: message_stop
data: {"type":"message_stop"}
/v1/chat/completions endpoint'inde SSE formatı OpenAI uyumludur:
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"Merhaba"}}]}
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}
data: [DONE]
const response = await fetch('PROXY_URL_PLACEHOLDER/v1/messages', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'YOUR_API_KEY',
'anthropic-version': '2023-06-01'
},
body: JSON.stringify({
model: 'claude-sonnet-4-6',
max_tokens: 1024,
stream: true,
messages: [{ role: 'user', content: 'Merhaba!' }]
})
});
const reader = response.body.getReader();
const decoder = new TextDecoder();
while (true) {
const { done, value } = await reader.read();
if (done) break;
const text = decoder.decode(value);
// Her satırı parse et
text.split('\n').forEach(line => {
if (line.startsWith('data: ')) {
const data = JSON.parse(line.slice(6));
// content_block_delta event'lerini yakala
if (data.delta?.text) process.stdout.write(data.delta.text);
}
});
}
❓ API anahtarımı nasıl alabilirim?
Paneldeki "API Anahtarları" sekmesinden yeni anahtar oluşturabilirsiniz. Oluşturulan anahtar bir kez gösterilir, güvenli bir yerde saklayın.
❓ Hangi modelleri kullanabilirim?
Kullanılabilir modeller planınıza bağlıdır. "Modeller" sekmesinden tüm aktif modelleri görebilirsiniz. Bazı planlar belirli modellerle sınırlıdır.
❓ Günlük limitim doldu, ne yapmalıyım?
Limitler her gün gece 00:00'da (UTC+3) sıfırlanır. Daha yüksek limit için plan yükseltmeyi değerlendirin veya sıfırlanma saatini bekleyin.
❓ OpenAI SDK kullanabilir miyim?
Evet! /v1/chat/completions
endpoint'i OpenAI format ile tam uyumludur. OpenAI SDK'da base_url'i proxy adresinize
yönlendirmeniz yeterlidir.
❓ Planım sona erdiğinde ne olur?
Premium plan süresi dolduğunda hesabınız otomatik olarak ücretsiz plana geçer. Mevcut API anahtarlarınız aktif kalır, ancak günlük limit ücretsiz seviyeye düşer.
❓ Birden fazla API anahtarı oluşturabilir miyim?
Evet. Tüm anahtarlar aynı günlük limiti paylaşır. Farklı projeler için ayrı anahtarlar oluşturup kullanımı takip edebilirsiniz.
❓ API anahtarım çalışmıyor, ne yapmalıyım?
Anahtarınızın aktif olduğundan emin
olun. Header'da x-api-key: YOUR_KEY veya Authorization: Bearer YOUR_KEY
formatını kullanın. Sorun devam ederse destek talebi oluşturun.
Bayilik panelinize giderek kupon kodu oluşturabilir, API ile satış yapabilir ve bakiyenizi yönetebilirsiniz.
Kendi müşterilerinize Netiva hizmetlerini sunun. İndirimli fiyatlarla kupon kodu oluşturun veya API ile entegre edin.
Tüm planlarda varsayılan %50 bayi indirimi ile rekabetçi fiyatlar sunun.
Müşterilerinize özel kupon kodları oluşturun. Süre ve kullanım limiti belirleyin.
Bayilik API'si ile otomatik plan satışı ve API anahtarı oluşturma imkanı.
Bakiye yükleyin, harcamalarınızı takip edin. PayTR ile güvenli ödeme.
Aşağıdaki formu doldurun, ekibimiz başvurunuzu değerlendirsin.
Başvurunuz onaylandığında bayilik paneliniz aktif olur.
Kupon kodları veya API ile müşterilerinize hizmet sunun.
Aşağıdaki formu doldurun, ekibimiz en kısa sürede sizinle iletişime geçecektir.
Arkadaşlarınızı davet edin, her kayıt olandan 5 ₺, her plan alandan 50 ₺ bakiye kazanın!
| Kullanıcı | Olay | Bakiye | Durum | Tarih |
|---|---|---|---|---|
| Henüz referans kaydı yok | ||||
Yardıma mı ihtiyacınız var? Bir destek talebi oluşturun.
Hesap bilgilerinizi güncelleyin
Güvenliğiniz için şifrenizi düzenli güncelleyin
* Modellerin yanında yazan çarpan (örn. 2x), her isteğin limitinizden o katsayıda düşeceği anlamına gelir. Örneğin 2x olan bir modele attığınız 1 istek, günlük limitinizden 2 eksiltir.
Bu modeller planın genel günlük istek limiti yerine, kendi hizalarında belirtilen özel limitlerini (istek sayılarını) kullanırlar. Ayriyeten belirlenen x çarpanları bu limiti eksiltirken hesaplanır.
Boyut ve kalite seçerek bir resmin yaklaşık TL maliyetini ve bu paketle kaç resim üretebileceğini görebilirsin.
Her resim üretimi seçtiğiniz boyut ve kaliteye göre belli sayıda kredi harcar. Aşağıdaki tablo, bu paketle her kombinasyonda kaç resim üretebileceğinizi gösterir. Yüksek kalite ve büyük boyut daha fazla kredi tüketir.