Videodan Makale Oluşturmayı Otomatikleştirmek için Vidiome API'si Nasıl Kullanılır?
Geliştiriciler için teknik eğitim: Videodan makaleye dönüştürme işlemini geniş ölçekte otomatikleştirmek için Vidiome'un POST /api/v1/articles uç noktasını kullanın. Curl + Node.js örnekleri dahil.
Vidiome'un herkese açık REST API'si, geliştiricilerin videodan makaleye ardışık düzenin tamamını programlı bir şekilde otomatikleştirmesine olanak tanır; tarayıcı gerekmez, manuel yükleme gerekmez. Tek bir "POST /api/v1/articles" isteği, herhangi bir YouTube URL'sinden veya video dosyasından yapılandırılmış, SEO açısından optimize edilmiş bir blog makalesi döndürür.
Bu eğitim, uç nokta spesifikasyonunu, kimlik doğrulamayı, curl ve Node.js'deki kod örneklerini, toplu işleme ve CMS entegrasyonu için kullanım senaryo modellerini ve bir otomasyon iş akışı diyagramını kapsar.
Bu Eğitim Kimler İçin?
- SaaS geliştiricileri istemciler veya dahili araçlar için içerik otomasyonu özellikleri geliştiriyor
- İçerik ajansları haftada 20'den fazla video işliyor ve manuel Vidiome kullanımını ortadan kaldırmaya ihtiyaç duyuyor
- Platform ekipleri, videodan makaleye dönüştürmeyi mevcut bir CMS veya içerik iş akışına entegre ediyor
- Startup'lar Vidiome'un içerik altyapısı katmanı olarak yeteneklerini geliştiriyor
Geliştirici yerine bireysel bir yaratıcıysanız, Vidiome web uygulaması daha hızlı yoldur. Bu eğitim özellikle programatik API kullanımına yöneliktir.
Vidiome
Turn your videos into SEO traffic machines
İlk makalemi oluşturKredi kartı gerekmez · 120 ücretsiz kredi
Önkoşullar
- En az Başlangıç planına sahip bir Vidiome hesabı (API erişimi ücretli veya deneme planı gerektirir)
- Vidiome API anahtarınız (Hesap Ayarları → API Anahtarları bölümünde bulunur)
- HTTP REST API'leri ve curl veya Node.js hakkında temel bilgi
Vidiome kayıt sırasında 120 ücretsiz kredi verir** — API entegrasyonunu taahhüt etmeden önce web uygulaması iş akışını test edebilirsiniz.
Uç Noktaya Genel Bakış: POST /api/v1/articles
Vidiome'un makale oluşturma uç noktası, bir video kaynağını ve oluşturma parametrelerini kabul eder, ardından tam bir makale nesnesini döndürür.
Talep
'''' POST https://vidiome.com/api/v1/articles İçerik Türü: application/json Yetkilendirme: Taşıyıcı YOUR_API_KEY ''''
İstek gövdesi
{
"kaynak": {
"type": "youtube_url",
"url": "https://www.youtube.com/watch?v=XXXXXXXXXXX"
},
"nesil": {
"dil": "tr",
"focus_keyword": "YouTube videosunu blog gönderisine nasıl dönüştürebilirim",
"output_format": "işaretleme"
}
}
''''
#### `kaynak' nesnesi
| Alan | Tür | Gerekli | Açıklama |
|---|---|---|---|
| 'tür' | dize | Evet | `"youtube_url"` veya `"file_upload"` |
| 'url' | dize | Tür = `youtube_url` ise gereklidir | Tam YouTube videosunun URL'si |
| 'dosya_kimliği' | dize | type = `file_upload"` ise gereklidir | Önceki bir `/api/v1/files` yüklemesine ait dosya kimliği |
#### `nesil' nesnesi
| Alan | Tür | Gerekli | Açıklama |
|---|---|---|---|
| 'dil' | dize | Evet | ISO 639-1 kodu. Desteklenen: `en`, `fr`, `es`, `pt`, `de`, `ru`, `hi`, `uk`, `id`, `tr` |
| 'odak_anahtar kelime' | dize | Hayır | SEO anahtar kelimesini hedefleyin — H1 ve meta hizalamasını iyileştirir |
| 'çıkış_biçimi' | dize | Hayır | `"markdown"` (varsayılan) veya `"html"` |
### Yanıt
```json
{
"id": "art_01HZXXX",
"durum": "tamamlandı",
"created_at": "2026-05-15T10:23:41Z",
"işleme_zamanı_saniye": 187,
"kullanılan kredi sayısı": 12,
"makale": {
"title": "YouTube Videosu 5 Dakikada Blog Gönderisine Nasıl Dönüştürülür",
"meta_description": "Vidiome, herhangi bir YouTube URL'sini 5 dakikadan kısa bir sürede yapılandırılmış bir SEO blog gönderisine dönüştürür. %95'in üzerinde doğrulukla Whisper transkripsiyonunu içeren adım adım eğitim.",
"content": "# Bir YouTube Videosu Nasıl Dönüştürülür...\n\n## İhtiyacınız Olanlar\n...",
"kelime_sayımı": 1247,
"dil": "tr",
"focus_keyword": "YouTube videosunu blog yayınına nasıl dönüştürebilirim"
},
"transkript": {
"text": "Merhaba millet, bugün size şunu göstermek istiyorum...",
"bölümler": [
{ "start": 0.0, "end": 4.2, "text": "Merhaba millet, bugün size göstermek istiyorum" },
...
]
}
}
''''
### Durum değerleri
| Durum | Anlamı |
|---|---|
| 'sıraya alındı' | İstek kabul edildi, işleme başlanmadı |
| 'işleniyor' | Transkripsiyon ve/veya makale oluşturma işlemi devam ediyor |
| 'tamamlandı' | Yanıt gövdesinde hazır makale |
| 'başarısız' | İşleme hatası — `hata' alanına bakın |
Eşzamansız yoklama için, döndürülen "id" ile "GET /api/v1/articles/{id}" komutunu kullanın.
---
## Kod Örnekleri
### kıvırmak
``` bash
curl -X POST https://vidiome.com/api/v1/articles \
-H "İçerik Türü: uygulama/json" \
-H "Yetkilendirme: Taşıyıcı YOUR_API_KEY" \
-d '{
"kaynak": {
"type": "youtube_url",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
},
"nesil": {
"dil": "tr",
"focus_keyword": "içerik yeniden kullanım stratejisi",
"output_format": "işaretleme"
}
}'
''''
**Tamamlanacak anket:**``` bash
# art_01HZXXX'i ilk yanıttaki kimlikle değiştirin
curl -H "Yetkilendirme: Taşıyıcı YOUR_API_KEY" \
https://vidiome.com/api/v1/articles/art_01HZXXX
''''
### Node.js (getir)
```javascript
const VIDIOME_API_KEY = proses.env.VIDIOME_API_KEY;
eşzamansız işlev createdArticle(youtubeUrl, focusKeyword, language = 'en') {
// Adım 1: Makale oluşturma isteğini gönderin
const yanıtı = wait fetch('https://vidiome.com/api/v1/articles', {
yöntem: 'POST',
başlıklar: {
'İçerik Türü': 'uygulama/json',
'Yetkilendirme': `Taşıyıcı ${VIDIOME_API_KEY}`,
},
gövde: JSON.stringify({
kaynak: {
şunu yazın: 'youtube_url',
url: youtubeUrl,
},
nesil: {
dil,
focus_keyword: focusAnahtar Kelime,
çıktı_format: 'işaretleme',
},
}),
});
const iş = yanıt bekliyor.json();
if (!yanıt.ok) {
throw new Error(`Vidiome API hatası: ${job.message}`);
}
// Adım 2: Tamamlanana kadar anket yapın
return wait pollUntilComplete(job.id);
}
eşzamansız işlev pollUntilComplete(articleId, maxAttempts = 30, intervalMs = 10000) {
for (let deneme = 0; deneme < maxAttempts; deneme++) {
wait new Promise(resolve => setTimeout(resolve, intervalMs));
const res = wait fetch(`https://vidiome.com/api/v1/articles/${articleId}`, {
başlıklar: { 'Yetkilendirme': `Taşıyıcı ${VIDIOME_API_KEY}` },
});
const makale = wait res.json();
if (article.status === 'tamamlandı') {
makaleyi iade et;
}
if (article.status === 'başarısız oldu') {
throw new Error(`Makale oluşturulamadı: ${article.error}`);
}
console.log(`[Vidiome] Durum: ${article.status} (deneme ${attempt + 1}/${maxAttempts})`);
}
throw new Error('Video: yoklama zaman aşımı aşıldı');
}
// Kullanım
const sonuç = wait createdArticle(
'https://www.youtube.com/watch?v=XXXXXXXXXXXX',
'video içeriği nasıl yeniden kullanılır'
);
console.log(sonuç.article.title);
console.log(`Kelime sayısı: ${result.article.word_count}`);
console.log(`Kullanılan kredi: ${result.credits_used}`);
// Dosyaya yaz, CMS'ye aktar, vb.
''''
---
## Otomasyon İş Akışı Şeması
Vidiome'u kullanan tipik bir toplu işleme hattının tam otomasyon mimarisi aşağıda verilmiştir:
''''
┌──────────────────────────── ─────────────────────────────┐
│ VİDEO KAYNAĞI KATMANI │
│ YouTube oynatma listesi / RSS beslemesi / CMS video kitaplığı │
└──────────────────────┬───── ─────────────────────────────┘
│ Video URL'leri / dosya referansları
▼
┌──────────────────────────── ─────────────────────────────┐
│ DÜZENLEME KATMANI │
│ Cron işi / web kancası tetikleyicisi / n8n / Make.com │
│ - Tekilleştirme (halihazırda işlenmiş URL'leri atlayın) │
│ - Hız sınırlaması (API kredi bütçesine uyun) │
│ - Kuyruk yönetimi │
└──────────────────────┬───── ─────────────────────────────┘
│ POST /api/v1/articles
▼
┌──────────────────────────── ─────────────────────────────┐
│ VIDIOME API'si │
│ 1. Fısıltı transkripsiyonu (60 saniyelik parçalar, %95+ acc.) │
│ 2. Yüksek Lisans makalesi oluşturma (yapı + SEO) │
│ 3. Şunu döndürür: başlık, meta, içerik (MD/HTML), transkript │
└──────────────────────┬───── ─────────────────────────────┘
│ Tamamlanan makale nesnesi
▼
┌──────────────────────────── ─────────────────────────────┐
│ İŞLEME SONRASI KATMAN │
│ - Gerçek kişi tarafından yapılan inceleme kuyruğu (isteğe bağlı ancak önerilir) │
│ - Dahili bağlantı enjeksiyonu (mevcut gönderilere bağlantılar ekleyin)│
│ - Öne çıkan görsel ataması │
│ - Şema işaretleme enjeksiyonu (JSON-LD Makalesi) │
└──────────────────────┬───── ─────────────────────────────┘
│ Yayınlanmaya hazır makale
▼
┌──────────────────────────── ─────────────────────────────┐
│ CMS / PLATFORM │
│ WordPress (REST API) / Ghost (Yönetici API'si) │
│ Webflow CMS / İçerikli / Akıl Sağlığı / Özel Veritabanı │
└──────────────────────────── ─────────────────────────────┘
''''
---
## Kullanım Durumları
### Bir YouTube kanalını toplu işleme
Bir YouTube kanalının arka kataloğunun tamamını tek seferde işleyin:```javascript
eşzamansız işlev süreçYouTubeChannel(channelVideoUrls, options = {}) {
sabit {
dil = 'tr',
eşzamanlılık = 3, // maksimum paralel Vidiome istekleri
gecikmeMs = 2000, // gruplar arasındaki gecikme (hız sınırlaması)
} = seçenekler;
const sonuçlar = [];
// 'eşzamanlılık' grupları halinde işlem
for (let i = 0; i < kanalVideoUrls.uzunluğu; i += eşzamanlılık) {
const toplu iş = kanalVideoUrls.slice(i, i + eşzamanlılık);
const BatchResults = wait Promise.allSettled(
Batch.map(url => createdArticle(url, '', dil))
);
results.push(...batchResults);
console.log(`İşlenen ${Math.min(i + concurrency,channelVideoUrls.length)}/${channelVideoUrls.length} video`);
if (i + eşzamanlılık < kanalVideoUrls.uzunluğu) {
wait new Promise(resolve => setTimeout(resolve, gecikmeMs));
}
}
sonuçları döndür;
}
''''
3 eşzamanlı istekte işlenen 100 videolu bir kanal: toplamda yaklaşık 100 dakika (video başına ortalama 3 dakika × 100 ÷ 3 eşzamanlı).
### CMS entegrasyonu (WordPress örneği)
Vidiome makaleyi döndürdükten sonra, REST API aracılığıyla doğrudan WordPress'e aktarın:
```javascript
eşzamansız işlev yayınlamaToWordPress(vidiomeArticle, wpConfig) {
const { siteUrl, kullanıcı adı, appPassword } = wpConfig;
const kimlik bilgileri = Buffer.from(`${username}:${appPassword}`).toString('base64');
const yanıt = wait fetch(`${siteUrl}/wp-json/wp/v2/posts`, {
yöntem: 'POST',
başlıklar: {
'İçerik Türü': 'uygulama/json',
'Yetkilendirme': `Temel ${kimlik bilgileri}`,
},
gövde: JSON.stringify({
başlık: vidiomeArticle.article.title,
içerik: vidiomeArticle.article.content, // WP için önerilen HTML formatı
alıntı: vidiomeArticle.article.meta_description,
durum: 'taslak', // İnsan incelemesi için her zaman önce taslak
}),
});
geri dönüş yanıtı bekliyor.json();
}
''''
### Çok dilli grup: bir video, 10 dil
Aynı makaleyi desteklenen 10 dilin tamamında aynı anda oluşturun:
```javascript
const DESTEKLENEN_DİLLER = ['tr', 'fr', 'es', 'pt', 'de', 'ru', 'merhaba', 'uk', 'id', 'tr'];
eşzamansız işlev createdMultilingual(youtubeUrl, focusKeywords = {}) {
const request = SUPPORTED_LANGUAGES.map(lang =>
createdArticle(
youtubeUrl'si,
odakAnahtar Kelimeler[dil] || focusAnahtar Kelimeler['en'] || '',
uzun
)
);
// 10 dilin tamamını paralel olarak çalıştır
const sonuçları = wait Promise.allSettled(requests);
return results.reduce((acc, sonuç, indeks) => {
const lang = SUPPORTED_LANGUAGES[dizin];
if (sonuç.status === 'yerine getirildi') {
acc[dil] = sonuç.değer;
} başka {
console.error(`${lang}:`, result.reason için başarısız oldu);
}
acc'yi iade edin;
}, {});
}
''''
Bu, tek bir videonun 10 dil versiyonunu yaklaşık 5-8 dakika içinde oluşturur (paralel işleme).
---
## Oran Limitleri ve Kredi Bütçeleme
| Planı | API hız sınırı | Kredi/ay |
|---|---|---|
| Ücretsiz (120 kredi) | 2 talep/dak | 120 (bir kerelik) |
| Başlangıç | 10 talep/dak | Plan başına |
| Profesyonel | 30 talep/dak | Plan başına |
| Ajans | 60 talep/dak | Plan başına |
**Kredi tüketimi**: Her makale üretimi, video uzunluğuna bağlı olarak 10-15 kredi kullanır. 10 dakikalık bir video yaklaşık 10 kredi kullanır; 60 dakikalık bir video yaklaşık 15 kredi kullanır.
**Toplu işleme için bütçe önerisi**: Muhafazakar bir bütçe olarak video başına tahmini `tavan(video_duration_dakika / 4) + 10` kredi.
---
## Hata İşleme
Vidiome API'si standart HTTP durum kodlarını kullanır:
| Kod | Anlamı | Eylem |
|---|---|---|
| '200' | Başarı | Süreç yanıtı |
| '400' | Geçersiz istek (hatalı URL, desteklenmeyen dil vb.) | İstek parametrelerini düzeltin |
| '401' | Geçersiz veya eksik API anahtarı | Yetkilendirme başlığını kontrol edin |
| '402' | Yetersiz kredi | Hesabı doldurun veya parti boyutunu azaltın |
| '429' | Oran sınırı aşıldı | Üstel geri çekilmeyi uygulayın |
| '500' | Sunucu hatası | Üstel geri çekilmeyle yeniden deneyin (en fazla 3 deneme) |
---
## Sıkça Sorulan Sorular
### Vidiome'un API'si dosya yüklemelerini mi yoksa yalnızca YouTube URL'lerini mi destekliyor?
Vidiome'un API'si hem YouTube URL'lerini hem de doğrudan dosya yüklemelerini destekler. Dosya yüklemeleri için, önce video dosyanızla (MP4, MOV veya WebM, 2 GB'a kadar) `POST /api/v1/files`ı arayın, bir `file_id` alın, ardından bu `file_id`yi ``type": "file_upload"` ile `POST /api/v1/articles`a iletin. Bu, YouTube'da barındırılmayan videoları (web semineri kayıtları, Loom videoları, dahili eğitim içeriği ve Vimeo tarafından barındırılan videolar) işlemek için kullanışlıdır.### Uzun videoları (60+ dakika) API aracılığıyla nasıl yönetirim?
Vidiome, API aracılığıyla videoları 4 saate kadar işler. 60 dakikanın üzerindeki videolar için API yanıtı varsayılan olarak eşzamansızdır; hemen bir iş "kimliği" alırsınız, ardından durum "tamamlanana" kadar her 15-30 saniyede bir "GET /api/v1/articles/{id}" yoklamasını yaparsınız. 90 dakikalık bir video genellikle 6-9 dakikada işlenir. Vidiome'un 60 saniyelik ses parçalama mimarisi, çok uzun videolarda bile zaman aşımı sorunları yaşanmaması anlamına gelir.
### Yoklama yerine web kancası seçeneği var mı?
Evet. Vidiome, makalenin tamamlanması için webhook geri aramalarını destekler. POST isteğinizin gövdesine uç noktanızı işaret eden bir "webhook_url" alanı ekleyin; Vidiome, işleme tamamlandığında tam makale nesnesini içeren bir "POST" isteği göndererek yoklama ihtiyacını ortadan kaldırır. Webhook verisi "GET /api/v1/articles/{id}" yanıt biçimiyle aynıdır.
---
## Sonraki Adımlar
- [YouTube videolarını web uygulaması aracılığıyla manuel olarak dönüştürün →](/en/blog/convert-youtube-to-blog-post)
- [Bir web seminerini 5 makaleye dönüştürün →](/tr/blog/retained-webinar-to-5-articles)
- [Vidiome'u ücretsiz deneyin — 120 kredi, kart gerekmez →](/)
Vidiome
Turn your videos into SEO traffic machines
İlk makalemi oluşturKredi kartı gerekmez · 120 ücretsiz kredi