API Belgeleri

Giriş

Zubnet API, programlı erişimle 408 yapay zekâ modelini metin, görüntü, video, müzik, ses ve kod üretimi için kullanımınıza sunar. OpenAI API belirtimiyle tamamen uyumludur — OpenAI kullanıyorsanız yalnızca temel URL'nizi ve API anahtarınızı değiştirerek Zubnet'e geçebilirsiniz.

Temel URL

https://api.zubnet.com/v1

Hızlı Başlangıç

# Using curl
curl https://api.zubnet.com/v1/chat/completions \
  -H "Authorization: Bearer $ZUBNET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'
# Using Python with OpenAI SDK
from openai import OpenAI

client = OpenAI(
    api_key="your-zubnet-api-key",
    base_url="https://api.zubnet.com/v1"
)

response = client.chat.completions.create(
    model="claude-sonnet-5",
    messages=[{"role": "user", "content": "Hello!"}]
)

print(response.choices[0].message.content)

Kimlik doğrulama

Tüm API istekleri, Authorization başlığındaki Bearer belirteci aracılığıyla kimlik doğrulaması gerektirir.

Authorization: Bearer YOUR_API_KEY

API anahtarlarını hesap ayarlarınızdan oluşturabilirsiniz. Anahtarlarınızı güvende tutun — hesabınıza tam erişim sağlarlar.

Kendi Sağlayıcı Anahtarlarınızı Kullanma (BYOK)

Desteklenen sağlayıcılardan kendi API anahtarlarınızı kullanabilirsiniz. Bunları çalışma alanı ayarlarınıza ekleyin; bu sağlayıcılara yapılan istekler için otomatik olarak kullanılacaklar — ek ücret olmadan kullanabilirsiniz. BYOK, bu özelliği destekleyen planlarda sunulur.

BYOK anahtarı bir sağlayıcı için yapılandırıldığında platform anahtarına göre önceliklidir. API isteklerinizde herhangi bir değişiklik yapılmasına gerek yoktur — hangi anahtarın kullanılacağı tamamen şeffaftır.

Desteklenen BYOK Sağlayıcıları

Anthropic Google Gemini DeepSeek Mistral Cohere AI21 Nvidia Alibaba Moonshot MiniMax Sambanova Zhipu ElevenLabs Speechify Hume Cartesia Resemble StabilityAI Black Forest Labs Ideogram HiDream PixVerse Vidu Kling Suno ByteDance

Modeller

GET /v1/models

Mevcut tüm modelleri listeleyin.

curl https://api.zubnet.com/v1/models \
  -H "Authorization: Bearer $ZUBNET_API_KEY"
Yanıt
{
  "object": "list",
  "data": [
    {
      "id": "claude-sonnet-5",
      "object": "model",
      "created": 1699900000,
      "owned_by": "anthropic"
    },
    {
      "id": "deepseek-chat",
      "object": "model",
      "created": 1699900000,
      "owned_by": "deepseek"
    },
    ...
  ]
}

Sohbet Tamamlamaları

POST /v1/chat/completions

Bir sohbet tamamlaması oluşturun. Bu, metin üretiminin ana uç noktasıdır ve OpenAI sohbet tamamlamaları biçimiyle uyumludur.

İstek Gövdesi

Parametre Tür Açıklama
modelgerekli string Kullanılacak model kimliği (ör. "claude-sonnet-5", "deepseek-chat", "gemini-2.5-pro")
messagesgerekli array Şunları içeren mesaj nesneleri dizisi: role ve content
temperatureisteğe bağlı number Örnekleme sıcaklığı (0-2). Varsayılan: 0.7
max_tokensisteğe bağlı integer Üretilecek en fazla token (1-128000). Varsayılan: 4096
streamisteğe bağlı boolean Yanıtları SSE üzerinden aktar. Varsayılan: true
top_pisteğe bağlı number Çekirdek örnekleme parametresi (0-1). Varsayılan: 1
frequency_penaltyisteğe bağlı number Frekans cezası (-2'den 2'ye). Varsayılan: 0
presence_penaltyisteğe bağlı number Mevcudiyet cezası (-2'den 2'ye). Varsayılan: 0
stopisteğe bağlı string/array Durdurma dizileri

Örnek İstek

curl https://api.zubnet.com/v1/chat/completions \
  -H "Authorization: Bearer $ZUBNET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "What is the capital of France?"}
    ],
    "temperature": 0.7,
    "max_tokens": 150
  }'
Yanıt
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1699900000,
  "model": "claude-sonnet-5",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "The capital of France is Paris."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 25,
    "completion_tokens": 8,
    "total_tokens": 33
  }
}

Akış

Eğer stream true ise yanıt Server-Sent Events (SSE) üzerinden iletilir. Her olayın adlandırılmış bir türü ve JSON yükü vardır:

Olay Açıklama
token Modelden bir metin belirteci/delta
reasoning-token Genişletilmiş bir düşünme belirteci (akıl yürütmeyi destekleyen modeller için)
call Adı ve parametreleriyle bir araç/fonksiyon çağrısı
message Akış tamamlandığında gönderilen son, eksiksiz mesaj nesnesi
error Akış başarısız olursa hata iletisi
// SSE event format
event: token
data: {"data": "Hello", "attributes": {}}

event: token
data: {"data": " world", "attributes": {}}

event: message
data: {"id": "msg-uuid", "content": "Hello world", ...}

Kod Oluşturma

POST /api/ai/completions/code

Doğal dilde bir istemden kod üretin. Yanıt, Server-Sent Events (SSE) üzerinden akış hâlinde döndürülür.

İstek Gövdesi

Parametre Tür Açıklama
promptgerekli string Oluşturulacak kodun doğal dil açıklaması
languagegerekli string Programlama dili (örn. "python", "javascript", "rust")
temperatureisteğe bağlı number Örnekleme sıcaklığı (0-2)
max_tokensisteğe bağlı integer Üretilecek en fazla token (1-128000)

Örnek İstek

curl https://zubnet.com/api/ai/completions/code \
  -H "Authorization: Bearer $ZUBNET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A function that checks if a number is prime",
    "language": "python"
  }'
Bu uç nokta SSE üzerinden akış sağlar. Önce artımlı içerik taşıyan chunk olaylarını, ardından da son document olayını alırsınız; bu olay üretilen kodun tamamını içerir.
Nihai Yanıt Nesnesi
{
  "object": "code_document",
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "model": "claude-sonnet-5",
  "cost": 1,
  "title": "Prime Number Checker",
  "content": "def is_prime(n): ..."
}

Görüntü Üretimi

POST /v1/images/generations

FLUX, Stable Diffusion, Ideogram ve diğer modellerle metin istemlerinden görüntüler üretin.

Mevcut Modeller

seedream-5.0-pro flux-pro-1.1-ultra gemini-2.5-flash-image grok-imagine-image qwen-image-2.0 ideogram-3.0 glm-image recraftv4

İstek Gövdesi

Parametre Tür Açıklama
modelgerekli string Kullanılacak resim modeli
promptgerekli string Oluşturulacak görüntünün metin açıklaması
nisteğe bağlı integer Oluşturulacak görüntü sayısı. Varsayılan: 1
sizeisteğe bağlı string Resim boyutu (ör. "1024x1024", "1792x1024")
response_formatisteğe bağlı string "url" veya "b64_json". Varsayılan: "url"

Örnek İstek

curl https://api.zubnet.com/v1/images/generations \
  -H "Authorization: Bearer $ZUBNET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "flux-pro-1.1-ultra",
    "prompt": "A serene mountain lake at sunset, photorealistic",
    "n": 1,
    "size": "1024x1024"
  }'
Yanıt
{
  "created": 1699900000,
  "data": [
    {
      "url": "https://zubnet.com/files/abc123.png",
      "revised_prompt": "A serene mountain lake..."
    }
  ]
}

Video Üretimi

POST /api/ai/videos

Metin istemlerinden veya görüntülerden video üretin. Metinden videoya, görüntüden videoya ve videodan videoya iş akışlarını destekler.

Mevcut Modeller

sora-2 seedance-2.0 kling-v3-pro veo-3.1-generate-001 grok-imagine-video-1.5 minimax/hailuo-2.3 pixverse-v6 vidu-q3-pro

İstek Gövdesi

Parametre Tür Açıklama
modelgerekli string Kullanılacak video modeli
promptgerekli* string Videonun metin açıklaması. *Dudak senkronizasyonu veya çözünürlük yükseltme modellerinde gerekli değildir
framesisteğe bağlı file[] Görüntüden videoya görüntü girişi. Her biri maksimum 10 MB (jpg, png, webp)
videoisteğe bağlı file Videodan videoya üretim için girdi videosu. En fazla 100 MB (mp4, webm, mov)
audioisteğe bağlı file Dudak senkronizasyonu modelleri için ses dosyası. En fazla 25 MB
aspect_ratioisteğe bağlı string En boy oranı (ör. "16:9", "9:16", "1:1")
durationisteğe bağlı integer Saniye cinsinden video süresi
negative_promptisteğe bağlı string Videoda kaçınılması gerekenler (modele bağlı)
resolutionisteğe bağlı string Çıkış çözünürlüğü, ör. "480p", "720p", "1080p", "4k" (modele bağlı)
qualityisteğe bağlı string Desteklendiğinde kalite/hız katmanı (ör. "speed" veya "quality")
audioisteğe bağlı string "on"/"off" — destekleyen modellerde yerel, senkronize ses (Seedance 2.0, Kling, PixVerse, CogVideoX…)
seedisteğe bağlı integer Desteklendiğinde tekrarlanabilirlik tohumu
styleisteğe bağlı string Desteklenen modellerde önceden ayarlanmış stil (ör. Vidu: "general"/"anime")
Modeller ayrıca kendilerine özgü seçenekleri (fps, multi_clip, mode, loop, motion_mode, en-boy oranları…) kabul eder; bunlar uygulamada ilgili model için gösterilen seçimlerle aynıdır. Bilinmeyen parametreler yok sayılır.

Örnek: Metinden Videoya

curl https://zubnet.com/api/ai/videos \
  -H "Authorization: Bearer $ZUBNET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "veo-3.1-generate-001",
    "prompt": "A drone shot flying over a coral reef at golden hour",
    "aspect_ratio": "16:9",
    "duration": 8
  }'

Örnek: Görüntüden Videoya

curl https://zubnet.com/api/ai/videos \
  -H "Authorization: Bearer $ZUBNET_API_KEY" \
  -F "model=kling-v2-5-turbo" \
  -F "prompt=Camera slowly zooms in" \
  -F "frames=@my-image.png"
Video üretimi eşzamansızdır. Yanıt, state alanını (“processing”, “completed”, “failed”) ve progress yüzdesini içerir. Tamamlanma durumunu denetlemek için kütüphane uç noktasını sorgulayın.
Yanıt
{
  "object": "video",
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "model": "veo-3.1-generate-001",
  "state": "processing",
  "progress": 0,
  "cost": 5,
  "output_file": null,
  "created_at": "2026-02-25T12:00:00Z"
}

Video Anlama

Video içeriğini yapay zekâyla analiz edin. Analiz için bir video URL'si gönderin ve sonuçlar hazır olana dek durumu sorgulayın. Birden fazla analiz türünü destekler.

POST /api/ai/video-understanding

Yapay zekâ analizi için bir video gönderin. Sonuçları sorgulamakta kullanabileceğiniz bir iş kimliği döndürür.

İstek Gövdesi

Parametre Tür Açıklama
video_urlgerekli string Analiz edilecek videonun herkese açık HTTPS URL'si
typeisteğe bağlı string Analiz türü: summary (varsayılan), topics, chaptersveya highlights

Örnek İstek

curl https://zubnet.com/api/ai/video-understanding \
  -H "Authorization: Bearer $ZUBNET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "video_url": "https://example.com/video.mp4",
    "type": "summary"
  }'
Yanıt
{
  "job_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "queued"
}
GET /api/ai/video-understanding/{jobId}

Bir video analiz işinin durumunu kontrol edin.

Yanıt (tamamlandı)
{
  "status": "completed",
  "result": {
    "type": "summary",
    "content": "The video shows a product demonstration..."
  }
}
Video URL'leri herkesin erişebileceği HTTPS bağlantıları olmalıdır. Özel veya dâhilî URL'ler güvenlik nedeniyle reddedilir. Sonuçlar 1 saat önbellekte tutulur.

Müzik Kompozisyonu

POST /api/ai/compositions

Metin açıklamalarından, şarkı sözlerinden veya stil etiketlerinden orijinal müzik oluşturun.

Mevcut Modeller

suno/v5 lyria-3-clip-preview minimax/music-2.0 stable-audio-2

İstek Gövdesi

Parametre Tür Açıklama
modelgerekli string Kullanılacak müzik modeli
promptisteğe bağlı string Ayarlanacak müziğin veya şarkı sözlerinin açıklaması
tagsisteğe bağlı string Tür ve stil etiketleri (ör. "lo-fi, chill, jazz")
instrumentalisteğe bağlı boolean Yalnızca enstrümantal üretin (vokal yok). Varsayılan: false

Örnek İstek

curl https://zubnet.com/api/ai/compositions \
  -H "Authorization: Bearer $ZUBNET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "suno/v5",
    "prompt": "An upbeat synthwave track about coding at 3am",
    "tags": "synthwave, electronic, upbeat",
    "instrumental": true
  }'
Suno modelleri genellikle istek başına 2 bileşim çeşidi döndürür. Lyria, 48kHz'de 30 saniyelik tek bir klip döndürür.
Yanıt
[
  {
    "object": "composition",
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "model": "suno/v5",
    "title": "Midnight Code",
    "tags": "synthwave, electronic, upbeat",
    "cost": 2,
    "output_file": {
      "url": "https://zubnet.com/files/abc123.mp3"
    }
  },
  {
    "object": "composition",
    "id": "550e8400-e29b-41d4-a716-446655440001",
    // ... second variant
  }
]

Ses Efektleri

POST /api/ai/sound-effects

Metin açıklamalarından ses efektleri oluşturun.

İstek Gövdesi

Parametre Tür Açıklama
modelgerekli string Kullanılacak ses efekti modeli
promptgerekli string Oluşturulacak ses efektinin açıklaması

Örnek İstek

curl https://zubnet.com/api/ai/sound-effects \
  -H "Authorization: Bearer $ZUBNET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sound-effect-model",
    "prompt": "Thunder rumbling in the distance followed by heavy rain"
  }'
Yanıt
{
  "object": "sound_effect",
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "model": "sound-effect-model",
  "cost": 1,
  "output_file": {
    "url": "https://zubnet.com/files/abc123.mp3"
  }
}

Metinden Konuşmaya

POST /v1/audio/speech

ElevenLabs, Cartesia, Speechify ve diğer sağlayıcıların sesleriyle metni doğal konuşmaya dönüştürün.

Parametre Tür Açıklama
modelgerekli string TTS modeli (ör. "tts-1", "tts-1-hd", "elevenlabs")
inputgerekli string Konuşmaya dönüştürülecek metin (en fazla 5000 karakter)
voicegerekli string Kullanılacak ses kimliği (ör. "alloy", "echo", "nova" veya özel bir ses kimliği)
response_formatisteğe bağlı string Ses formatı: mp3, opus, aac, flac. Varsayılan: mp3

Örnek İstek

curl https://api.zubnet.com/v1/audio/speech \
  -H "Authorization: Bearer $ZUBNET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "tts-1-hd",
    "input": "Welcome to Zubnet, the future of AI.",
    "voice": "nova"
  }' --output speech.mp3

Transkripsiyon

POST /v1/audio/transcriptions

Sesi metne dönüştürün.

Parametre Tür Açıklama
modelgerekli string Transkripsiyon modeli (ör. "whisper-1")
filegerekli file Metne dönüştürülecek ses dosyası. En fazla 25 MB (mp3, mp4, wav, webm, ogg, flac)
languageisteğe bağlı string Dil kodu (ör. "en", "fr", "es")

Örnek İstek

curl https://api.zubnet.com/v1/audio/transcriptions \
  -H "Authorization: Bearer $ZUBNET_API_KEY" \
  -F "model=whisper-1" \
  -F "file=@recording.mp3"
Yanıt
{
  "object": "transcription",
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "model": "whisper-1",
  "content": "Hello, this is a test recording..."
}

Ses Yalıtımı

POST /api/ai/isolated-voices

Arka plan gürültüsünü ve müziği kaldırarak sesten temiz vokalleri çıkarın. ElevenLabs tarafından desteklenmektedir.

Parametre Tür Açıklama
filegerekli file Ses dosyası. En fazla 25 MB (mp3, mp4, wav, m4a, webm, ogg, flac)

Örnek İstek

curl https://zubnet.com/api/ai/isolated-voices \
  -H "Authorization: Bearer $ZUBNET_API_KEY" \
  -F "file=@noisy-recording.mp3"
Yanıt
{
  "object": "isolated_voice",
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "cost": 1,
  "input_file": {
    "url": "https://zubnet.com/files/input.mp3"
  },
  "output_file": {
    "url": "https://zubnet.com/files/isolated.mp3"
  }
}

Stem Ayırma

POST /api/ai/stem-separations

Sesi ayrı stem'lere ayırın (vokal, davul, bas, gitar, piyano ve diğerleri). ElevenLabs tarafından desteklenir.

Parametre Tür Açıklama
filegerekli file Ses dosyası. En fazla 25 MB (mp3, mp4, wav, m4a, webm, ogg, flac)
stem_variationisteğe bağlı string Ayırma modu. Varsayılan: "six_stems_v1" (vokal, davul, bas, gitar, piyano, diğer)

Örnek İstek

curl https://zubnet.com/api/ai/stem-separations \
  -H "Authorization: Bearer $ZUBNET_API_KEY" \
  -F "file=@song.mp3"
Yanıt
{
  "object": "stem_separation",
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "cost": 1,
  "input_file": {
    "url": "https://zubnet.com/files/song.mp3"
  },
  "output_file": {
    "url": "https://zubnet.com/files/stems.zip"
  }
}

Sesler

Metinden konuşmaya geçiş için özel sesler oluşturun ve yönetin.

POST /api/voices

Ses örneklerini yükleyerek özel bir ses oluşturun.

GET /api/voices

Oluşturduğunuz özel sesler dahil, çalışma alanınızda bulunan tüm sesleri listeleyin.

PUT /api/voices/{id}

Özel bir sesi (ad, ayarlar) güncelleyin.

DELETE /api/voices/{id}

Özel bir sesi silin.

Özel ses kimlikleri, Text-to-Speech uç noktasının voice parametresinde kullanılabilir.

Embedding'ler

POST /v1/embeddings

Anlamsal arama ve benzerlik karşılaştırması için metin embedding'leri oluşturun.

Parametre Tür Açıklama
modelgerekli string Embedding modeli (ör. "text-embedding-3-small")
inputgerekli string/array Embedding'e dönüştürülecek metin (dize veya dize dizisi)

Örnek İstek

curl https://api.zubnet.com/v1/embeddings \
  -H "Authorization: Bearer $ZUBNET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "text-embedding-3-small",
    "input": "The quick brown fox jumps over the lazy dog"
  }'

Bilgi Tabanları

Retrieval-augmented generation (RAG) için bilgi tabanları oluşturun ve yönetin. Belgeler (PDF, DOCX, TXT, Markdown), web URL'leri veya ham metin ekleyin; ardından sohbet tamamlamalarınızda bunları sorgulayın.

POST /api/knowledge-bases

Yeni bir bilgi tabanı oluşturun.

İstek Gövdesi

Parametre Tür Açıklama
namegerekli string Bilgi tabanının adı
descriptionisteğe bağlı string Bilgi tabanının açıklaması

Örnek: Bilgi Tabanı Oluşturma

curl https://zubnet.com/api/knowledge-bases \
  -H "Authorization: Bearer $ZUBNET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My KB",
    "description": "Optional description"
  }'
Yanıt
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "name": "My KB",
  "description": "Optional description",
  "status": "active"
}
GET /api/knowledge-bases

Çalışma alanınızdaki tüm bilgi tabanlarını listeleyin.

Yanıt
[
  {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "My KB",
    "description": "Optional description",
    "status": "active"
  },
  ...
]
GET /api/knowledge-bases/{id}

Belgeleri de dahil olmak üzere belirli bir bilgi tabanının ayrıntılarını alın.

DELETE /api/knowledge-bases/{id}

Bir bilgi tabanını ve tüm belgelerini silin.

POST /api/knowledge-bases/{id}/documents

Bir belgeyi bilgi tabanına ekleyin. Dosya yüklemelerini, URL'leri ve ham metni destekler.

İstek Gövdesi

Parametre Tür Açıklama
fileseçenek 1 file Çok parçalı dosya yükleme (PDF, DOCX, TXT, MD — maksimum 10 MB)
titlegerekli string Belge başlığı (URL ve metin türleri için gereklidir)
typeseçenek 2/3 string "url" veya "text" (dosya dışı ekleme için)
urlseçenek 2 string Alınıp eklenecek URL (tür "url" olduğunda)
contentseçenek 3 string Alınacak ham metin içeriği (tür "text" olduğunda)

Örnek: Dosya Ekleme

curl https://zubnet.com/api/knowledge-bases/550e8400-.../documents \
  -H "Authorization: Bearer $ZUBNET_API_KEY" \
  -F "file=@report.pdf"

Örnek: URL Ekleme

curl https://zubnet.com/api/knowledge-bases/550e8400-.../documents \
  -H "Authorization: Bearer $ZUBNET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Zubnet Docs",
    "type": "url",
    "url": "https://zubnet.com/developers.html"
  }'

Örnek: Ham Metin Ekleme

curl https://zubnet.com/api/knowledge-bases/550e8400-.../documents \
  -H "Authorization: Bearer $ZUBNET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Company Policy",
    "type": "text",
    "content": "All employees must complete security training annually..."
  }'
GET /api/knowledge-bases/{id}/documents

Bir bilgi tabanındaki tüm belgeleri listeleyin.

DELETE /api/knowledge-bases/{id}/documents/{docId}

Belirli bir belgeyi bilgi tabanından silin.

GET /api/knowledge-bases/{id}/documents/{docId}/content

Belirli bir belgenin çıkarılan metin içeriğini okuyun.

Yeniden sıralama

POST /v1/reranking

Bir belge listesini sorguyla ilgisine göre yeniden sıralayın. Arama sonuçlarını, RAG işlem hatlarını ve öneri sistemlerini iyileştirmek için kullanışlıdır.

Mevcut Modeller

rerank-2.5 rerank-2.5-lite jina-reranker-v3 jina-reranker-m0

İstek Gövdesi

Parametre Tür Açıklama
modelgerekli string Kullanılacak yeniden sıralama modeli
querygerekli string Belgelerin sıralanacağı arama sorgusu
documentsgerekli array Yeniden sıralanacak belge dizelerinden oluşan dizi
top_nisteğe bağlı integer Döndürülecek en iyi sonuçların sayısı. Varsayılan: hepsi

Örnek İstek

curl https://api.zubnet.com/v1/reranking \
  -H "Authorization: Bearer $ZUBNET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "rerank-v4.0-pro",
    "query": "How do I reset my password?",
    "documents": [
      "To reset your password, go to Settings > Security > Change Password.",
      "Our pricing plans start at $9/month for individuals.",
      "Password requirements: minimum 8 characters, one uppercase letter.",
      "Contact support at help@example.com for account issues."
    ],
    "top_n": 3
  }'
Yanıt
{
  "object": "list",
  "results": [
    {
      "index": 0,
      "relevance_score": 0.953
    },
    {
      "index": 2,
      "relevance_score": 0.714
    },
    {
      "index": 3,
      "relevance_score": 0.389
    }
  ],
  "model": "rerank-v4.0-pro"
}
Sonuçlar ilgililik puanına göre azalan sırada sıralanır. index alanı, her belgenin özgün girdi dizisindeki konumunu belirtir.

Kütüphane

Üretilen tüm içerikler kütüphanede tutulur — resimler, videolar, kompozisyonlar, kod belgeleri, transkripsiyonlar ve daha fazlası. Öğeleri listelemek, eşzamansız oluşturma durumunu kontrol etmek, meta verileri güncellemek ve içeriğinizi yönetmek için bunu kullanın.

GET /api/library/{type}

Kitaplığınızdaki öğeleri içerik türüne göre listeleyin.

İçerik Türleri

images videos compositions sound-effects documents code-documents speeches transcriptions isolated-voices stem-separations conversations

Sorgu Parametreleri

Parametre Tür Açıklama
limitisteğe bağlı integer Sayfa başına sonuçlar (maks. 100)
starting_afteristeğe bağlı string İleri sayfalandırma imleci (öğe UUID)
ending_beforeisteğe bağlı string Geriye doğru sayfalandırma imleci (öğe UUID)
sortisteğe bağlı string Sıralama alanı ve yönü (ör. "created_at:desc")
queryisteğe bağlı string Tam metin araması (maks. 255 karakter)
modelisteğe bağlı string Üretimde kullanılan modele göre filtrele
Yanıt
{
  "object": "list",
  "data": [
    {
      "id": "550e8400-...",
      "object": "video",
      "model": "veo-3.1-generate-001",
      "title": "Coral reef drone shot",
      "state": 3,
      "progress": 100,
      "cost": 5,
      "output_file": {
        "url": "https://zubnet.com/files/abc123.mp4",
        "size": 8421376,
        "extension": "mp4"
      },
      "created_at": "2026-03-01T12:00:00Z"
    },
    ...
  ]
}
GET /api/library/{type}/{id}

Kimliğine göre tek bir kütüphane öğesi alın. Bu, şu içeriklerin ana uç noktasıdır: eşzamansız oluşturma durumunu yoklama.

Üretim Durumları

Durum Değer Açıklama
draft 0 Henüz gönderilmedi
queued 1 İşlenmeyi bekleyen
processing 2 Şu anda oluşturuluyor
completed 3 Bitti — output_file mevcut
failed 4 Oluşturma başarısız oldu

Durum Sorgulama Modeli

# 1. Start async generation
curl -X POST https://zubnet.com/api/ai/videos \
  -H "Authorization: Bearer $ZUBNET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "veo-3.1-generate-001", "prompt": "A coral reef"}'
# Returns: {"id": "550e8400-...", "state": 1, ...}

# 2. Poll for completion
curl https://zubnet.com/api/library/videos/550e8400-... \
  -H "Authorization: Bearer $ZUBNET_API_KEY"
# Returns: {"state": 2, "progress": 45, ...}  (still processing)
# Returns: {"state": 3, "progress": 100, "output_file": {"url": "..."}}  (done!)
Sayfalandırma imleç tabanlıdır. Son öğenin id değerini starting_after alanında kullanarak sonraki sayfayı alın. offset/page parametreleri yoktur.
POST /api/library/{type}/{id}

Bir kitaplık öğesinin meta verilerini güncelleyin.

Parametre Tür Açıklama
titleisteğe bağlı string Öğe başlığı
visibilityisteğe bağlı integer 0 (özel) veya 1 (genel)
is_favoritedisteğe bağlı boolean Favorilere ekle veya favorilerden kaldır
metaisteğe bağlı object Özel meta veriler (tür, ruh hali, etiketler, açıklama, yazar vb.)
DELETE /api/library/{type}/{id}

Bir kitaplık öğesini ve onunla ilişkili dosyaları silin.

GET /api/library/{type}/count

Bir içerik türündeki toplam öğe sayısını alın. Liste uç noktasındaki query ve model filtreleri desteklenir.

Asistanlar

Asistanlar; özel ad, model, sistem istemi ve ayarlarla yeniden kullanılabilen sohbet yapılandırmalarıdır. Farklı görevler için uzmanlaşmış yapay zekâ kişilikleri oluşturmanızı sağlar.

POST /api/assistants

Yeni bir asistan oluşturun.

GET /api/assistants

Çalışma alanınızdaki tüm asistanları listeleyin.

PUT /api/assistants/{id}

Asistanın yapılandırmasını güncelleyin (ad, model, sistem istemi, ayarlar).

DELETE /api/assistants/{id}

Bir asistanı silin.

MCP Mağazası

Ajanlarınıza daha kapsamlı araç yetenekleri kazandırmak için MCP (Model Context Protocol) sunucularını keşfedin ve etkinleştirin — web araması ve veri erişiminden kod yürütme ve üçüncü taraf entegrasyonlarına kadar.

GET /api/mcp-store/servers

MCP sunucu kataloğuna göz atın.

Sorgu Parametreleri

Parametre Tür Açıklama
categoryisteğe bağlı string Kategoriye göre filtrele (arama, veri, geliştirici, altyapı, iletişim, ticaret, yaratıcı, üretkenlik, sosyal, yardımcı araçlar)
queryisteğe bağlı string Ada veya açıklamaya göre arayın
Yanıt
{
  "object": "list",
  "data": [
    {
      "id": "550e8400-...",
      "name": "GitHub",
      "description": "Access GitHub repositories, issues, and pull requests",
      "category": "developer",
      "config_schema": [
        {"name": "api_key", "type": "secret", "label": "API Key", "required": true}
      ],
      "tools": ["list_repos", "create_issue", "search_code"],
      "is_official": true
    },
    ...
  ]
}
POST /api/mcp-store/activations

Çalışma alanınız için bir MCP sunucusunu etkinleştirin. Yapılandırma değerlerini (API anahtarları vb.) sunucu şemasına göre sağlayın: config_schema.

İstek Gövdesi

Parametre Tür Açıklama
server_idgerekli string Etkinleştirmek için MCP sunucusunun UUID'si
configisteğe bağlı object Sunucunun config_schema alanıyla eşleşen yapılandırma değerleri

Örnek İstek

curl https://zubnet.com/api/mcp-store/activations \
  -H "Authorization: Bearer $ZUBNET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "server_id": "550e8400-e29b-41d4-a716-446655440000",
    "config": {
      "api_key": "ghp_xxxxxxxxxxxx"
    }
  }'
Yanıt (201 Created)
{
  "id": "act-uuid-...",
  "server_id": "550e8400-...",
  "status": 1,
  "config": {
    "api_key": "••••••••"
  },
  "server": {
    "name": "GitHub",
    ...
  },
  "created_at": "2026-03-01T12:00:00Z"
}
Yapılandırmadaki gizli alanlar API yanıtlarında maskelenir. Her çalışma alanı belirli bir sunucuyu yalnızca bir kez etkinleştirebilir. Döndürülen id, MCP sunucularını ajanlara bağlarken kullandığınız activation_id değeridir.
GET /api/mcp-store/activations

Çalışma alanınızda etkinleştirilen tüm MCP sunucularını listeleyin.

PUT /api/mcp-store/activations/{id}

Bir etkinleştirmenin yapılandırmasını veya durumunu güncelleyin.

DELETE /api/mcp-store/activations/{id}

MCP sunucusunu çalışma alanınızdan devre dışı bırakın.

Ajanlar

İletişim kanallarında çalışan otonom yapay zekâ ajanları oluşturun ve yönetin. Ajanlar Telegram ve Discord mesajlarını yanıtlayabilir, zamanlanmış tetikleyicilerle çalışabilir ve daha kapsamlı yetenekler için bilgi tabanlarıyla MCP sunucularından yararlanabilir.

POST /api/agents

Yeni bir ajan oluşturun.

İstek Gövdesi

Parametre Tür Açıklama
namegerekli string Ajan adı (en fazla 64 karakter)
modelgerekli string Kullanılacak model kimliği (ör. "claude-sonnet-5", "deepseek-chat")
system_promptisteğe bağlı string Ajanın davranışını ve kişiliğini tanımlayan özel sistem istemi
modeisteğe bağlı string "quick" veya "advanced". Varsayılan: "quick"
avataristeğe bağlı string Avatar URL (maks. 512 karakter)

Örnek İstek

curl https://zubnet.com/api/agents \
  -H "Authorization: Bearer $ZUBNET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Support Bot",
    "model": "claude-sonnet-5",
    "system_prompt": "You are a friendly support agent. Answer questions clearly and concisely.",
    "mode": "advanced"
  }'
Yanıt (201 Created)
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "name": "Support Bot",
  "slug": "support-bot",
  "avatar": null,
  "model": "claude-sonnet-5",
  "system_prompt": "You are a friendly support agent...",
  "status": 1,
  "mode": "advanced",
  "permissions": {
    "time_windows": [],
    "frequency_cap": {
      "max_messages_per_hour": 60,
      "max_messages_per_day": 500
    },
    "channel_preferences": {},
    "allowed_actions": {
      "can_use_tools": true,
      "can_access_kb": true,
      "max_tool_calls_per_message": 5
    }
  },
  "cost": 0,
  "last_active_at": null,
  "created_at": 1709136000,
  "updated_at": null,
  "user": {
    "id": "a1b2c3d4-...",
    "first_name": "Jane",
    "last_name": "Doe",
    "avatar": "https://zubnet.com/files/avatar.jpg"
  },
  "channels": []
}
GET /api/agents

Çalışma alanındaki tüm ajanları listeleyin. Sayfalandırma ve filtrelemeyi destekler.

Parametre Tür Açıklama
limitquery integer Sayfa başına sonuçlar. Varsayılan: 25
cursorquery string Sayfalandırma imleci
sortquery string "name", "created_at" veya "last_active_at". Varsayılan: "created_at"
directionquery string "asc" veya "desc"
statusquery integer Duruma göre filtrele: 0 (etkin değil), 1 (etkin), 2 (duraklatıldı)
Yanıt
{
  "object": "list",
  "data": [
    {
      "id": "550e8400-...",
      "name": "Support Bot",
      "slug": "support-bot",
      "model": "claude-sonnet-5",
      "status": 1,
      "mode": "advanced",
      "cost": 12.50,
      "last_active_at": 1709222400,
      "created_at": 1709136000,
      ...
    }
  ]
}
GET /api/agents/{id}

Belirli bir ajanın kanalları, bağlı MCP sunucuları ve bilgi tabanları dâhil tüm ayrıntılarını alın.

PUT /api/agents/{id}

Bir ajanı güncelleyin. Tüm alanlar isteğe bağlıdır — yalnızca sağlanan alanlar değiştirilir.

İstek Gövdesi

Parametre Tür Açıklama
nameisteğe bağlı string Ajan adı (en fazla 64 karakter)
modelisteğe bağlı string Model Kimliği
system_promptisteğe bağlı string|null Sistem istemi (temizlemek için null olarak ayarlayın)
statusisteğe bağlı integer 0 (etkin değil), 1 (etkin) veya 2 (duraklatıldı)
modeisteğe bağlı string "quick" veya "advanced"
permissionsisteğe bağlı object Ajan izinleri (aşağıya bakın)

İzin Nesnesi

{
  "permissions": {
    "time_windows": [
      {
        "days": [1, 2, 3, 4, 5],  // 0=Sun, 6=Sat
        "timezone": "America/New_York",
        "start_hour": 9,            // 0-23
        "end_hour": 17              // 1-24
      }
    ],
    "frequency_cap": {
      "max_messages_per_hour": 60,    // 1-1000
      "max_messages_per_day": 500     // 1-10000
    },
    "channel_preferences": {
      "default_channel": "telegram",
      "proactive_channels": ["telegram", "discord"]
    },
    "allowed_actions": {
      "can_use_tools": true,
      "can_access_kb": true,
      "max_tool_calls_per_message": 5  // 0-50
    }
  }
}
DELETE /api/agents/{id}

Bir ajanı silin. Bu işlem ajanın tüm kanallarını, tetikleyicilerini, mesajlarını ve entegrasyonlarını da kaldırır.

Entegrasyonlar

POST /api/agents/{id}/knowledge-bases

RAG destekli yanıtlar için bir bilgi tabanını ajana bağlayın. Gövde: { "knowledge_base_id": "uuid" }

DELETE /api/agents/{id}/knowledge-bases/{kid}

Bir bilgi tabanının ajanla bağlantısını kaldırın.

POST /api/agents/{id}/mcp-servers

Daha kapsamlı araç kullanımı için bir MCP sunucusunu ajana bağlayın. Gövde: { "activation_id": "uuid" }

DELETE /api/agents/{id}/mcp-servers/{activationId}

Bir MCP sunucusunun ajanla bağlantısını kaldırın.

GET /api/agents/{id}/messages

Bir ajanın konuşma geçmişini alın.

Parametre Tür Açıklama
limitquery integer Döndürülecek mesaj sayısı. Varsayılan: 25, en fazla: 100
Yanıt
{
  "object": "list",
  "data": [
    {
      "id": "msg-uuid-...",
      "direction": "inbound",
      "content": "How do I reset my password?",
      "external_user_name": "john_doe",
      "cost": 0,
      "model": null,
      "created_at": 1709222400
    },
    {
      "id": "msg-uuid-...",
      "direction": "outbound",
      "content": "Go to Settings > Security > Change Password...",
      "cost": 0.25,
      "model": "claude-sonnet-5",
      "created_at": 1709222401
    }
  ]
}
Planınızda Ajanlar özelliğinin etkin olması gerekir. Plan sınırları ajan sayısına, ajan başına kanal sayısına ve ajan başına tetikleyici sayısına uygulanır.

Ajan Kanalları

Ajanları iletişim platformlarına bağlayın. Her ajan tür başına bir kanalı destekler (bir Telegram botu, bir Discord botu).

POST /api/agents/{id}/channels

Bir ajana iletişim kanalı ekleyin.

İstek Gövdesi

Parametre Tür Açıklama
typegerekli string "telegram" veya "discord"
tokengerekli string Telegram BotFather veya Discord Developer Portal'dan alınan bot token'ı (en fazla 256 karakter)

Örnek İstek

curl https://zubnet.com/api/agents/550e8400-.../channels \
  -H "Authorization: Bearer $ZUBNET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "telegram",
    "token": "7123456789:AAH..."
  }'
Yanıt (201 Created)
{
  "id": "ch-uuid-...",
  "type": "telegram",
  "status": 1,
  "metadata": {},
  "last_error": null,
  "last_message_at": null,
  "created_at": 1709136000
}
Bot token'ları etkinleştirmeden önce platform API'siyle doğrulanır ve depolama sırasında şifrelenir. Telegram için webhook otomatik olarak yapılandırılır. Kanal durumu: 0 = etkin değil, 1 = etkin, 2 = hata.
GET /api/agents/{id}/channels

Bir ajana bağlı tüm kanalları listeleyin.

DELETE /api/agents/{id}/channels/{channelId}

Bir ajandan kanalı kaldırın.

Ajan Tetikleyicileri

Ajan eylemlerini tetikleyicilerle otomatikleştirin. Zamanlanmış tetikleyiciler belirli saatlerde çalışmak için cron ifadelerini kullanır; olay tetikleyicileri ise dış olaylara yanıt verir.

POST /api/agents/{id}/triggers

Bir ajan için otomatik tetikleyici oluşturun.

İstek Gövdesi

Parametre Tür Açıklama
namegerekli string Tetikleyici adı (maks. 128)
typegerekli string "scheduled" veya "event"
promptgerekli string Tetikleyici çalıştığında ajana gönderilecek istem
cron_expressionisteğe bağlı string Cron programı (örneğin, hafta içi sabah 9'da "0 9 * * 1-5")
timezoneisteğe bağlı string Cron değerlendirmesi için IANA zaman dilimi. Varsayılan: "UTC"
channel_idisteğe bağlı string Tetikleyici çıkışının gönderileceği kanal

Örnek: Günlük Özet Tetikleyicisi

curl https://zubnet.com/api/agents/550e8400-.../triggers \
  -H "Authorization: Bearer $ZUBNET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Daily Summary",
    "type": "scheduled",
    "prompt": "Summarize the key metrics for today and send them to the team.",
    "cron_expression": "0 18 * * 1-5",
    "timezone": "America/New_York"
  }'
Yanıt (201 Created)
{
  "id": "tr-uuid-...",
  "name": "Daily Summary",
  "type": "scheduled",
  "status": 1,
  "cron_expression": "0 18 * * 1-5",
  "timezone": "America/New_York",
  "prompt": "Summarize the key metrics for today...",
  "channel_id": null,
  "last_run_at": null,
  "next_run_at": 1709236800,
  "run_count": 0,
  "created_at": 1709136000
}
GET /api/agents/{id}/triggers

Bir ajanın tüm tetikleyicilerini listeleyin.

PUT /api/agents/{id}/triggers/{triggerId}

Bir tetikleyiciyi güncelleyin. Tüm alanlar isteğe bağlıdır. status alanını devre dışı bırakmak için 0, etkinleştirmek için 1 olarak ayarlayın.

DELETE /api/agents/{id}/triggers/{triggerId}

Bir tetikleyiciyi silin.

Zamanlanmış tetikleyiciler mesaj kuyruğu üzerinden eşzamansız yürütülür. Her yürütmede, işleme başlamadan önce ajanın etkin ve çalışma alanındaki kredinin yeterli olduğu denetlenir.

Çalışma alanları

Çalışma alanları ekibinizin organizasyon birimidir. Her çalışma alanının kendi kredi bakiyesi, aboneliği, API anahtarları ve üyeleri vardır. Çalışma alanlarını yönetin, ekip üyelerini davet edin ve kullanımı izleyin.

POST /api/workspaces

Yeni bir çalışma alanı oluşturun.

Parametre Tür Açıklama
namegerekli string Çalışma alanı adı (en fazla 50 karakter)
Yanıt (201 Created)
{
  "id": "550e8400-...",
  "name": "My Team",
  "subscription": null,
  "api_spending_limit": null,
  "api_spending_current": 0,
  "owner": { "id": "...", "email": "..." },
  "created_at": "2026-03-01T12:00:00Z"
}
POST /api/workspaces/{id}

Bir çalışma alanının ayarlarını güncelleyin. Çalışma alanı yönetimi izni gerektirir.

Parametre Tür Açıklama
nameisteğe bağlı string Çalışma alanı adı (en fazla 50 karakter)
api_spending_limitisteğe bağlı number Aylık API harcama sınırı (sınırsız için null)
{provider}_api_keyisteğe bağlı string Bir sağlayıcıya ait BYOK API anahtarı (ör. openai_api_key, anthropic_api_key)
DELETE /api/workspaces/{id}

Bir çalışma alanını silin. Çalışma alanı yönetimi izni gerektirir.

POST /api/workspaces/{id}/invitations

Bir kullanıcıyı e-postayla çalışma alanına katılmaya davet edin. Çalışma alanı başına maksimum 20 bekleyen davetiye.

Parametre Tür Açıklama
emailgerekli string Davet edilecek kullanıcının e-posta adresi
DELETE /api/workspaces/{id}/invitations/{invitationId}

Bekleyen bir daveti iptal edin.

DELETE /api/workspaces/{id}/users/{userId}

Bir üyeyi çalışma alanından kaldırın veya kendi kullanıcı kimliğinizi kullanarak çalışma alanından ayrılın.

GET /api/workspaces/{id}/logs/usage

Çalışma alanına ilişkin toplu kullanım istatistiklerini listeleyin. İmleç tabanlı sayfalandırmayı destekler.

GET /api/workspaces/{id}/logs/usage/items

Ayrıntılı kullanım kayıtlarını listeleyin (maliyetiyle birlikte tamamlanmış kütüphane öğeleri, > 0). Her girişte tür, model, başlık, maliyet ve zaman damgası bulunur.

GET /api/workspaces/{id}/logs/usage/items/count

Kullanım öğelerinin toplam sayısını alın.

Kullanım ve çalışma alanı yönetimi uç noktaları, çalışma alanı manage izni gerektirir (çalışma alanı sahibi veya yöneticisi).

Konuşmalar

Konuşmalar, sohbet mesajlarını oturumlar hâlinde gruplar. Önce bir konuşma oluşturun, ardından konuşmaya mesaj gönderin. Konuşmalar ayrıca Kütüphane API'sinde conversations içerik türü kullanılarak yönetilebilir.

POST /api/ai/conversations

Yeni bir konuşma oluşturun. Konuşma nesnesini boş bir ileti listesiyle döndürür.

Yanıt
{
  "object": "conversation",
  "id": "550e8400-...",
  "title": null,
  "cost": 0,
  "messages": [],
  "created_at": "2026-03-01T12:00:00Z"
}
POST /api/ai/conversations/{id}/messages

Bir konuşmaya mesaj gönderin ve Server-Sent Events (SSE) üzerinden yapay zekâ yanıtı alın. SSE olay biçiminin ayrıntıları için Sohbet Tamamlamaları bölümüne bakın.

İstek Gövdesi

Parametre Tür Açıklama
modelgerekli string Yanıtta kullanılacak model
contentisteğe bağlı string Mesaj metni
assistant_idisteğe bağlı string Bu mesaj için kullanılacak bir asistanın UUID'si
parent_idisteğe bağlı string Bir ana mesajın UUID'si (konuşmaları dallara ayırmak için)
fileisteğe bağlı file Ek (görüntüler, belgeler, ses/video — maksimum 25 MB)
recordingisteğe bağlı file Ses kaydı (mp3, wav, webm, ogg — maksimum 10 MB)

Örnek İstek

curl https://zubnet.com/api/ai/conversations/550e8400-.../messages \
  -H "Authorization: Bearer $ZUBNET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4.1",
    "content": "Explain quantum computing in simple terms"
  }'
Mesajlar SSE üzerinden aktarılır. Dosya yüklerken multipart/form-data kullanın. Konuşmaları listelemek veya silmek için Kütüphane API'sini şu türle kullanın: conversations.

Hesap

Kullanıcı profilinizi yönetin ve API anahtarlarını programlı olarak oluşturun.

PUT /api/account

Profil bilgilerinizi güncelleyin.

Parametre Tür Açıklama
first_nameisteğe bağlı string Ad (en fazla 50 karakter)
last_nameisteğe bağlı string Soyadı (en fazla 50 karakter)
languageisteğe bağlı string Tercih edilen dil kodu (ör. "en", "fr")
preferencesisteğe bağlı object Kullanıcı tercihi ayarları
POST /api/account/rest-api-keys

Yeni bir API anahtarı oluşturun. Güvenlik için parola doğrulaması gerekir. API anahtarının tamamı yalnızca bu yanıtta bir kez gösterilir — güvenli biçimde saklayın.

Parametre Tür Açıklama
current_passwordgerekli string Mevcut hesabınızın şifresi
Yanıt
{
  "id": "550e8400-...",
  "first_name": "Jane",
  "last_name": "Doe",
  "email": "jane@example.com",
  "api_key": "zub_live_a1b2c3d4e5f6..."
}
Bu api_key değeri yalnızca bu yanıtta tam olarak gösterilir. Sonraki API çağrıları maskelenmiş bir sürüm döndürür. Bu değeri parola gibi koruyun.

Faturalandırma

Mevcut planlara göz atın, sipariş geçmişini görüntüleyin, ödemeyi başlatın ve abonelikleri yönetin.

GET /api/billing/plans

Mevcut abonelik planlarını listeleyin.

Parametre Tür Açıklama
billing_cycleisteğe bağlı string Faturalandırma dönemine göre filtrele
GET /api/billing/orders

Geçerli çalışma alanına ilişkin siparişleri listeleyin. İmleç tabanlı sayfalandırmayı destekler.

Parametre Tür Açıklama
statusisteğe bağlı string Sipariş durumuna göre filtrele
billing_cycleisteğe bağlı string Faturalandırma dönemine göre filtrele
POST /api/billing/checkout

Bir abonelik planı veya kredi satın alımı için ödeme işlemini başlatın. Çalışma alanı yönetimi izni gerektirir.

Parametre Tür Açıklama
idisteğe bağlı string Abone olunacak planın UUID'si (yoksa gereklidir) amount)
amountisteğe bağlı integer Sent cinsinden kredi satın alma tutarı (en az 1000; şu alan yoksa zorunludur: id)
gatewayisteğe bağlı string Ödeme ağ geçidi: stripe veya paypal
DELETE /api/billing/subscription

Mevcut çalışma alanı aboneliğini iptal edin. Çalışma alanı yönetimi izni gerektirir.

İçerik Raporları

Halk kütüphanesindeki uygunsuz veya politikayı ihlal eden içeriği bildirin.

POST /api/content-reports

Bir içerik raporu gönderin. Her kullanıcı belirli bir öğeyi yalnızca bir kez bildirebilir.

Parametre Tür Açıklama
item_idgerekli string Raporlanacak kitaplık öğesinin UUID'si
reasongerekli integer Sebep kodu: 0 (spam), 1 (taciz), 2 (şiddet), 3 (cinsel içerik), 4 (diğer)
descriptionisteğe bağlı string Ek ayrıntılar (maks. 2000 karakter)
Yanıt (201 Created)
{
  "id": "550e8400-e29b-41d4-a716-446655440000"
}
Yinelenen bildirimler (aynı kullanıcı ve aynı öğe) şu hatayı döndürür: 409 Conflict hatasını.

Diğer Uç Noktalar

API'nin kapsamı yukarıdaki bölümlerden daha geniştir. Aşağıdaki uç noktalar kullanıma açıktır ve aynı kimlik doğrulamasını kullanır:

POST /api/ai/three-d3 boyutlu model oluşturma (Tripo, Meshy…)
POST /api/ai/tts  ·  POST /api/ai/speechesMetinden konuşmaya (yerel API kapsamı ve hazır ayarlar)
POST /api/ai/transcriptionsToplu ses transkripsiyon (model seçici)
GET /api/ai/transcriptions/realtime/token  ·  POST /api/ai/transcriptions/realtime/saveCanlı mikrofon transkripsiyonu (oturum belirteci + kaydetme)
POST /api/ai/translations  ·  GET /api/ai/translation-languagesMetin çevirisi + desteklenen diller
POST /api/ai/document-extractionsBelge metni çıkarma (OCR)
GET /api/ai/video-understanding/{jobId}Video anlama işi durumu
/api/library-stacksKütüphane koleksiyonları — tam CRUD desteği
/api/chatroomEkip sohbet odaları (paylaşılan AI konuşmaları)
POST /api/graphql  ·  GET /api/graphql/subscriptionsGraphQL API (sorgular + abonelikler)
/api/automationOtomasyon iş akışları (derleme + çalıştırma)

Hatalar

API, standart HTTP durum kodlarını kullanır ve ayrıntılı hata mesajları verir.

Kod Açıklama
400 Hatalı İstek — Geçersiz parametreler
401 Yetkisiz — Geçersiz veya eksik API anahtarı
403 Erişim Yasak — Yetersiz kredi veya model planınızda mevcut değil
404 Bulunamadı — Model veya kaynak bulunamadı
413 İstek Gövdesi Çok Büyük — Dosya boyut sınırını aşıyor
429 Çok Fazla İstek — İstek sınırı aşıldı
500 Sunucu İç Hatası
503 Hizmet Kullanılamıyor — Geçici aşırı yük
Hata Yanıtı Biçimi
{
  "error": {
    "message": "Invalid API key provided",
    "type": "authentication_error",
    "code": "invalid_api_key"
  }
}

İstek Sınırları

İstek sınırları plana göre değişir. Her yanıtta şu üstbilgiler yer alır:

Üstbilgi Açıklama
X-RateLimit-Limit Dakika başına izin verilen istekler
X-RateLimit-Remaining Geçerli pencerede kalan istekler
X-RateLimit-Reset Limit sıfırlandığında Unix zaman damgası

İstek sınırına ulaşırsanız sıfırlanma zamanına kadar bekleyin veya sınırlarınızı artırmak için bizimle iletişime geçin.

Yardıma mı ihtiyacınız var?

Sizin İçin Buradayız

API hakkında sorunuz mu var? SSS bölümüne bakın veya doğrudan bize ulaşın.