DeepSeek Vision and Grok Imagine models are now live on CometAPI →
guide/CometAPI araştırması

Tek Bir CometAPI Anahtarıyla Birden Fazla Yapay Zekâ Modeli n8n'e Nasıl Bağlanır?

Tek bir CometAPI anahtarı aracılığıyla elektronik tablo görevlerini birden çok yapay zeka sağlayıcısına yönlendiren, video görevlerinin durumlarını düzenli olarak sorgulayan ve tüm sonuçları depolayan düşük kodlu bir n8n iş akışı oluşturun.

CometAPI
AnnaAI model ve API araştırma ekibi
Güncellendi Aug 25, 2026 11 dk okuma
Tek Bir CometAPI Anahtarıyla Birden Fazla Yapay Zekâ Modeli n8n'e Nasıl Bağlanır?
Bu kalıbı kullanın

İlk API çağrısını yapın.

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_COMETAPI_KEY",
    base_url="https://api.cometapi.com/v1",
)

response = client.chat.completions.create(
    model="gpt-5-mini",
    messages=[{"role": "user", "content": "Build this workflow."}],
)

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

Tek Bir API ile Birden Fazla Yapay Zeka Modelini n8n'e Nasıl Bağlarsınız?

Yapay zeka modellerini bir sağlayıcıdan bir sağlayıcıya bağlamak bir prototip için işe yarayabilir, ancak kullanım arttıkça kırılgan hale gelir. Her sağlayıcı ayrı kimlik bilgileri, uç noktalar, istek formatları, hız limitleri, faturalandırma ve yanıt yapıları getirir. n8n'de bu, çoğunlukla yinelenen HTTP düğümleri ve sağlayıcıya özel dallar oluşturur; dolayısıyla bir model eklemek veya geri dönüş yolunu değiştirmek, iş akışının birkaç bölümünü düzenlemeyi gerektirir.

n8n ve CometAPI bu sorunun farklı katmanlarını çözer. n8n, bir işin ne zaman çalışacağını kontrol eder, girdileri doğrular, eşzamanlı ve eşzamansız görevleri yönlendirir, hataları yeniden dener ve sonuçları depolar. CometAPI ise model erişimini tek bir API anahtarı ve tek bir temel URL arkasında merkezileştirir. Birlikte, orkestrasyon katmanından sağlayıcı değişikliklerini uzak tutarlar: aynı sıra, yoklama, depolama ve izleme mantığını korurken bir model kimliğini değiştirebilirsiniz.

Bu kombinasyon, elektronik tablolar veya dahili araçlardan gelen karma görüntü ve video işleri için özellikle kullanışlıdır. İş akışı n8n'de görsel ve denetlenebilir kalırken, kimlik bilgileri, model kullanılabilirliği ve kullanım maliyetleri tek bir API katmanı üzerinden daha kolay yönetilir.

Birden fazla yapay zeka sağlayıcısını tek bir uygulamaya entegre etmenin en kolay yolu, orkestrasyonu model erişiminden ayırmaktır. Tetikleyicileri, dallanmayı, yeniden denemeleri ve depolamayı n8n yönetsin; CometAPI ise her dala tek bir API anahtarı ve tek bir temel URL versin. Model kimliği, her bir işte ayrı bir sağlayıcı hesabı, SDK ve faturalandırma kurulumu yerine bir alan haline gelir.

Bu kılavuzda, Google Sheets'ten görüntü ve video işleri okuyan, bunları CometAPI üzerinden OpenAI ve ByteDance modellerine gönderen, eşzamansız video görev kimliklerini kaydeden, tamamlanma için yoklayan ve nihai sonucu bir n8n Data Table'a upsert eden çalışan bir düşük kodlu hat oluşturacaksınız.

Ne İnşa Edeceksiniz

Bitmiş iş akışı şu yolu izler:

Google Sheets Trigger → Normalize Job → Ortam türüne göre Switch → CometAPI görüntü veya video isteği → Bekle ve video görevlerini yokla → Çıktıyı yükle veya referans ver → Data Table upsert.

Kaynak sayfada şu sütunları kullanın:

job_id | media_type | model | prompt | size | seconds | status

Tipik bir görüntü satırı image, gpt-image-2 ve 1024x1024 kullanır. Bir video satırı video, seedance-2-5, 1280x720 ve 4 ile 30 saniye arasında bir süre kullanır.

Başlamadan Önce

Bir n8n örneğine, bir Google Sheet'e, bir CometAPI API anahtarına ve ai_jobs adlı bir n8n Data Table'a ihtiyacınız var. Data Table'da şu sütunları oluşturun: job_id, media_type, model, status, task_id, result_url, error ve updated_at.

Kendi barındırdığınız n8n için, n8n işleminizin kullandığı ortama aşağıdaki değerleri ekleyin:

COMETAPI_BASE_URL=https://api.cometapi.com/v1COMETAPI_KEY=your_cometapi_key

Ortamı değiştirdikten sonra n8n'yi yeniden başlatın. n8n Cloud'da veya düğüm ifadelerinde ortam değişkenlerini açığa çıkarmak istemediğiniz durumlarda, CometAPI Bearer adlı bir HTTP Header Auth kimliği oluşturun. Başlık adını Authorization, değerini ise Bearer your_cometapi_key olarak ayarlayın. Aşağıdaki örnekler bu kimliği ve sabit OpenAI uyumlu temel URL'yi kullanır: https://api.cometapi.com/v1.

Güncel Model Kimliklerini Kullanın

İşSağlayıcı ve modelİstekSonuç
GörüntüOpenAI · gpt-image-2POST /v1/images/generationsSenkron base64 görüntü
VideoByteDance · seedance-2-5POST /v1/videosAsenkron görev, ardından yoklama

Hem kimlikler hem de yetenekler 11 Ağustos 2026 tarihinde canlı CometAPI model dizini API'sinde mevcuttu. Görüntü modeli metinden görüntü üretimini destekler. Seedance 2.5, metinden videoya ve görüntüden videoya üretimi, 4–30 saniyelik klipleri ve belgelenmiş 480p ve 720p boyutlarını destekler.

11 Ağustos 2026 itibarıyla fiyatlandırma: GPT Image 2 model sayfası milyon giriş tokenı başına 4$ ve milyon çıkış tokenı başına 24$ listeler. Seedance 2.5 model sayfası 480p için saniye başına 0,103$ ve 720p için saniye başına 0,231$ listeler. Fiyatlar değişebilir, bu nedenle çalışma zamanında gerçeğin kaynağı olarak canlı model dizinini veya model sayfasını kullanın.

Önemli mimari fark, görüntü üretiminin bir istek-yanıt işlemi olarak ele alınabilmesi, video üretiminin ise durumlu bir iş olarak ele alınması gerektiğidir. Yoklamadan önce video görev kimliğini kalıcı hale getirmek, bir n8n yürütmesinin yeniden başlaması durumunda işin kaybolmasını önler.

İş Akışını n8n'de Oluşturun

1. Google Sheets'ten Yeni İşleri Tetikleyin

Bir Google Sheets Trigger düğümü ekleyin ve Row added or updated'ı seçin. Bunu iş kuyruğunuzu içeren çalışma sayfasına yönlendirin. Tetikleyicinin hemen ardından bir IF düğümü ekleyin ve yalnızca status boş veya queued olduğunda devam edin. Bu, sayfa değiştiğinde tamamlanan satırların tekrar gönderilmesini önler.

2. Her Satırı Normalize Edin ve Doğrulayın

Normalize Job adlı bir Code düğümü ekleyin. Bu düğüm güvenli varsayılanlar uygular, iş akışını onaylanmış model kimlikleriyle sınırlar ve her iki dal için de aynı alanları üretir.

const row = $json;​const allowedModels = {  image: new Set(['gpt-image-2']),  video: new Set(['seedance-2-5']),};​const mediaType = String(row.media_type || '').trim().toLowerCase();if (!allowedModels[mediaType]) {  throw new Error(`media_type must be image or video; received: ${row.media_type}`);}​const defaultModel = mediaType === 'image' ? 'gpt-image-2' : 'seedance-2-5';const model = String(row.model || defaultModel).trim();if (!allowedModels[mediaType].has(model)) {  throw new Error(`Model ${model} is not allowed for ${mediaType} jobs`);}​const prompt = String(row.prompt || '').trim();if (!prompt) throw new Error('prompt is required');​const seconds = mediaType === 'video' ? Number(row.seconds || 4) : null;if (mediaType === 'video' && (!Number.isInteger(seconds) || seconds < 4 || seconds > 30)) {  throw new Error('Seedance 2.5 seconds must be an integer from 4 to 30');}​return [{  json: {    job_id: String(row.job_id || $execution.id),    media_type: mediaType,    model,    prompt,    size: String(row.size || (mediaType === 'image' ? '1024x1024' : '1280x720')),    seconds,    status: 'processing',    updated_at: new Date().toISOString(),  },}];

Normalize Job sonrasına bir Switch düğümü ekleyin. image dalını görüntü dalına, video dalını video dalına yönlendirin.

3. Tek Bir Uç Nokta Üzerinden Görüntüler Üretin

Create Image adlı bir HTTP Request düğümü ekleyin ve şu ayarları kullanın:

  • Method: POST
  • URL: https://api.cometapi.com/v1/images/generations
  • Authentication: CometAPI Bearer Header Auth kimliği
  • Body Content Type: JSON
{  "model": "={{ $('Normalize Job').item.json.model }}",  "prompt": "={{ $('Normalize Job').item.json.prompt }}",  "size": "={{ $('Normalize Job').item.json.size }}"}

GPT Image 2 base64 görüntü verisi döndürür. Bu veriyi bir n8n ikili öğesine dönüştürmek için Prepare Image File adlı bir Code düğümü ekleyin:

const job = $('Normalize Job').item.json;const b64 = $json.data?.[0]?.b64_json;if (!b64) throw new Error('CometAPI returned no image data');​return [{  json: {    ...job,    status: 'completed',    task_id: '',    result_url: '',    error: '',    updated_at: new Date().toISOString(),  },  binary: {    media: {      data: b64,      mimeType: 'image/png',      fileName: `${job.job_id}.png`,    },  },}];

Bu düğümü S3 veya Google Drive gibi tercih ettiğiniz nesne depolama düğümüne bağlayın. Döndürülen dosya URL'sini result_url alanında saklayın ve ardından satırı ai_jobs içine upsert edin. Büyük base64 yüklerini Data Table dışında tutun.

4. Eşzamansız Bir Video Görevi Oluşturun

Create Video adlı bir HTTP Request düğümü ekleyin:

  • Method: POST
  • URL: https://api.cometapi.com/v1/videos
  • Authentication: CometAPI Bearer
  • Body Content Type: Form-Data

Dört form alanı ekleyin: model, prompt, seconds ve size. Değerlerini Normalize Job'dan eşleyin.

Ardından Save Video Task adlı bir Code düğümü ekleyin:

const job = $('Normalize Job').item.json;const taskId = $json.id || $json.task_id;if (!taskId) throw new Error('Video task ID missing from create response');​return [{  json: {    ...job,    task_id: taskId,    status: $json.status || 'queued',    result_url: '',    error: '',    updated_at: new Date().toISOString(),  },}];

Yoklamadan önce bu öğeyi ai_jobs içine upsert edin. Görev kimliğini hemen kaydetmek, bir yeniden başlatma veya zaman aşımı durumunda işin kaybolmaması anlamına gelir.

5. Bekleyin, Yoklayın ve Video URL'sini Saklayın

15 saniyeye ayarlanmış bir Wait düğümü ekleyin. Ardından Get Video adlı bir HTTP Request düğümü ekleyin:

  • Method: GET
  • URL: =https://api.cometapi.com/v1/videos/{{ $json.task_id }}
  • Authentication: CometAPI Bearer

İstekten sonra, status üzerinde bir Switch düğümü kullanın:

  • queued veya in_progress: Wait düğümüne geri dönün.
  • completed: Finalize Video'ya devam edin.
  • failed veya error: hatayı ai_jobs içine yazın ve durdurun.

Tamamlanan dal için şu Code düğümünü ekleyin:

const prior = $('Save Video Task').item.json;const resultUrl = $json.video_url || $json.url || $json.data?.video_url;if (!resultUrl) throw new Error('Completed video response has no video URL');​return [{  json: {    ...prior,    status: 'completed',    result_url: resultUrl,    error: '',    updated_at: new Date().toISOString(),  },}];

Son öğeyi job_id üzerinden ai_jobs içine upsert edin. CometAPI video URL'leri imzalı ve geçici olabilir; bu nedenle üretim iş akışları dosyayı kaydetmeden önce indirip yeniden barındırmalıdır. Uygulamanız gelen istekleri alabiliyorsa, seçili model geri çağrıları desteklediğinde yoklama yerine bir webhook kullanın.

Tam Düğüm Haritası

Tam iş akışı aşağıdaki düğümlerle birleştirilebilir:

  1. Google Sheets Trigger — Row added or updated
  2. IF — Yalnızca yeni veya kuyruktaki satırları işle
  3. Code — Normalize Job
  4. Switch — Image veya video
  5. Görüntü dalı: HTTP Request → Prepare Image File → Object Storage → Data Table Upsert
  6. Video dalı: HTTP Request → Save Video Task → Data Table Upsert → Wait → HTTP Request → Status Switch
  7. Tamamlanan video: Finalize Video → Object Storage veya kalıcı URL → Data Table Upsert
  8. Başarısız video: Set Error → Data Table Upsert

Bir hata dalı için, bir Edit Fields düğümünde şu ifadeyi kullanın:

{  "job_id": "={{ $('Save Video Task').item.json.job_id }}",  "status": "failed",  "task_id": "={{ $('Save Video Task').item.json.task_id }}",  "result_url": "",  "error": "={{ $json.error?.message || $json.message || 'Video generation failed' }}",  "updated_at": "={{ $now.toISO() }}"}

İş Akışını Test Edin

Kaynak sayfaya şu iki satırı ekleyin:

img-001 | image | gpt-image-2 | A cinematic product photo of a glass robot on a dark desk | 1024x1024 | | queuedvid-001 | video | seedance-2-5 | A paper airplane flies through a sunlit studio, smooth tracking shot | 1280x720 | 4 | queued

Görüntü isteği aşağıdakine benzer bir yapı döndürmelidir:

{  "created": 1786400000,  "data": [    { "b64_json": "iVBORw0KGgoAAA..." }  ]}

Video oluşturma isteği aşağıdakine benzer bir görev yapısı döndürmelidir:

{  "id": "video_task_abc123",  "object": "video",  "status": "queued",  "progress": 0}

Yoklamadan sonra, tamamlanan bir yanıt aynı görev kimliğini, status: completed değerini ve bir video_url içerir. Tam alanlar modele göre değişebilir; bu nedenle normalleştirme kodu, sağlayıcı yanıtının tamamını veritabanınıza kopyalamak yerine kararlı görev durumunu ve sonuç URL'sini okur.

Yaygın Hatalar ve Çözümleri

HataÇözüm
401 UnauthorizedHeader Auth değerinin Bearer ile başladığını ve anahtarın aktif olduğunu doğrulayın.
404 model or task not foundCanlı model dizinini kontrol edin ve GET /v1/videos/{id} içinde depolanan görev kimliğinin kullanıldığını doğrulayın.
400 invalid size or secondsDesteklenen bir boyut kullanın ve Seedance 2.5 süresini 4 ile 30 saniye arasında tutun.
429 rate limitedn8n eşzamanlılığını azaltın ve üstel geri çekilme ve jitter ile yeniden deneyin.
Polling never endsDeneme sayısını kalıcı hale getirin ve tanımlı bir zaman aşımından sonra durdurun; failed ve error'u son durum olarak ele alın.
Image payload is too largeBase64'ü ikiliye dönüştürün, yükleyin ve yalnızca kalıcı URL'yi saklayın.

Üretim Kontrol Listesi

Kimlik bilgilerini koruyun. API anahtarını n8n kimlik bilgilerinde veya sunucu tarafı ortam değişkenlerinde tutun. Onu asla elektronik tabloya koymayın veya bir tarayıcıya geri döndürmeyin.

Her işi idempotent yapın. job_id'yi Data Table upsert anahtarı olarak kullanın. Yeni bir görev oluşturmadan önce, zaten processing veya completed olarak işaretlenmiş satırları atlayın.

Yoklamayı ve eşzamanlılığı kontrol edin. Video işleri için 10–20 saniyede bir yoklama yapın, deneme sayısını sınırlandırın ve eşzamanlı yürütmeleri sınırlayın. 429, 500 ve 503 yanıtlarında geri çekilin; yinelenen görevler oluşturmayın.

Her isteğin öncesinde model politikasını doğrulayın. Ortam türüne göre bir izin listesi tutun. Model kullanılabilirliğini ve fiyatlarını düzenli olarak canlı dizinden güncelleyin, ancak model değişikliklerini, elektronik tablo kullanıcılarının rastgele kimlikler göndermesine izin vermek yerine inceleme yoluyla dağıtın.

İş başına maliyeti izleyin. Her sonuçla birlikte modeli, çözünürlüğü, süreyi ve kullanım alanlarını saklayın. 11 Ağustos 2026 listelenen oranına göre 720p'de dört saniyelik bir Seedance 2.5 işi yaklaşık 0,924$; aynı dört saniye 480p'de yaklaşık 0,412$'dır. İsteği göndermeden önce maksimum süreyi ve çözünürlüğü zorunlu kılın.

Üretilen medyayı yeniden barındırın. İmzalı sağlayıcı URL'lerini dağıtım bağlantıları olarak, kalıcı depolama olarak değil, ele alın. Tamamlanan medyayı indirin, kontrol ettiğiniz bir kovaya yükleyin ve kalıcı URL ile birlikte sağlama toplamını kaydedin.

Bir denetim izi tutun. İstek modelini, sterilize edilmiş parametreleri, görev kimliğini, durum geçişlerini, yeniden deneme sayısını, yanıt süresini ve nihai varlık konumunu saklayın. API anahtarlarını veya tam özel komut istemlerini günlüğe kaydetmeyin.

Bu Model Neden Ölçeklenir

İş akışı basit kalır çünkü her yeni sağlayıcı veya model, yeni bir hesap entegrasyonu değil, bir yönlendirme kararıdır. Elektronik tablo iş kuyruğu olmaya devam eder, n8n orkestrasyon katmanı olarak kalır ve CometAPI tek erişim katmanı olmayı sürdürür. Bir modeli, izin listesini ve dal yapılandırmasını genişleterek ekleyin; tetikleyici, görev kalıcılığı, yoklama, depolama ve izleme mantığı değişmeden kalır.

Bu, çok sağlayıcılı yapay zeka entegrasyonuna pratik yanıttır: tek bir kontrollü uç nokta ve anahtar, açık model yönlendirme, ayrı eşzamanlı ve eşzamansız yollar ve her iş için kalıcı bir kayıt.

SSS

n8n, tek bir API üzerinden birden fazla yapay zeka sağlayıcısını çağırabilir mi?

Evet. CometAPI gibi birleşik bir API katmanıyla, n8n sağlayıcı kimlik bilgisini ve HTTP entegrasyonunu merkezileştirirken farklı desteklenen modellere istek gönderebilir.

n8n'in HTTP Request düğümüyle CometAPI'yi kullanabilir miyim?

Evet. HTTP Request düğümü, CometAPI'nin API uç noktasına gerekli kimlik doğrulama ve model özelinde parametrelerle istek gönderebilir.

n8n, biri başarısız olduğunda yapay zeka modellerini otomatik olarak değiştirebilir mi?

Evet. API isteğinin ardından bir IF/Switch dalı kullanın ve yeniden denenebilir veya modele özel hataları bir geri dönüş modeline yönlendirin. Geri dönüş modeli aynı modaliteyi ve gerekli yetenekleri desteklemelidir.

Öğrenmeye devam et

Bu makaleyi sonraki karara bağlayın.

Tüm konuları gör
Yayınlanma tarihi Aug 25, 2026
Son güncelleme Aug 25, 2026
0 görüntülenme
Netlik, kaynak ataması ve güncel API terminolojisi açısından gözden geçirildi.

Yapay zeka geliştirme maliyetlerinizi %20 azaltmaya hazır mısınız?

Dakikalar içinde ücretsiz başlayın. Ücretsiz deneme kredileri dahildir. Kredi kartı gerekmez.

Devamını Oku