# Tek dikey video, kırk hesap: Bir ajan Reels ve Shorts'u Shager üzerinden nasıl dağıtır?

_2026-09-15 · Kısa video dağıtan ajanlar için uygulamalı rehber: format kontrolleri, Reels ve Shorts meta verileri, hesaba özel açıklamalar, kademeli gönderim, MCP çağrıları._

Bir ajan, kısa bir dikey videoyu onlarca Instagram, Facebook ve YouTube hesabına dağıtabilir: videoyu boyutları ve süresiyle birlikte bir kez yükler, formatı her ağ için ayrı belirleyen tek bir gönderi oluşturur ve her hesaba farklı bir açıklama yazar. Shager, herhangi bir şey gönderilmeden önce dosyayı her ağın kurallarına göre doğrular, ardından aralarına rastgele bir bekleme koyarak hesap hesap gönderir. Ajanın asıl işi yükleme değil, meta verilerdir.

Bütün ders bu son cümlede. Kısa video çalışmaları nadiren videonun kendisi yüzünden başarısız olur. Ajan klibin 3 dakika 4 saniye sürdüğünü bilmediği için ya da kırk hesap kelimesi kelimesine aynı açıklamayı aldığı için başarısız olur.

## Ajanın yüklemeden önce dosya hakkında bilmesi gerekenler

Üç sayı: genişlik, yükseklik ve süre. Ağlar kısa videoyu bunlara göre sınıflandırır ve kabul eder; bunları tahmin eden bir ajan, yanlış formata düşen ya da reddedilen gönderiler üretir.

En net ifade edilen kural YouTube'unki. Google'ın [üç dakikalık YouTube Shorts](https://support.google.com/youtube/answer/15424877?hl=en) hakkındaki yardım sayfasına göre, 15 Ekim 2024'ten bu yana yüklenen, kare ya da dikey en boy oranına sahip ve en fazla üç dakika uzunluğundaki videolar Shorts olarak sınıflandırılır. Dolayısıyla 9:16 formatında 3:04 süren bir klip, ajan ne amaçlamış olursa olsun Shorts değil, normal bir videodur.

Instagram en boy oranı konusunda daha esnek, ama onun da tercihleri var. Meta'nın Instagram Platform için [içerik yayınlama belgeleri](https://developers.facebook.com/docs/instagram-platform/content-publishing), Reels için kabul edilen kapsayıcıları ve codec'leri listeler ve kırpma ya da boşluk olmaması için 9:16'yı önerir. Video, yayınlandığı anda herkesin erişebileceği bir URL'de durmalıdır, çünkü Meta onu oradan çeker.

Shager'daki `upload_media_from_url` aracının isteğe bağlı `width`, `height` ve `duration_ms` alanları almasının nedeni bu. Bunları verdiğinizde Reels, Shorts ve hikayeler için doğrulama, 23 numaralı hesapta başarısız bir gönderi olarak ortaya çıkmak yerine yükleme anında ve planlamadan önce bir kez daha yapılır.

Ajanın elinde bu sayılar yoksa, yüklemeden önce onları almalıdır. Claude Code ya da Codex'te bu tek bir `ffprobe` çağrısıdır:

```bash
ffprobe -v error -select_streams v:0 \
  -show_entries stream=width,height:format=duration \
  -of json launch-teaser.mp4
```

## MCP çağrı sırası

Aşağıda, 38 bağlı hesabı olan bir müşteri için ajanın `https://app.shager.ai/api/mcp` adresindeki Shager MCP sunucusunu kullanarak yürüttüğü sıra var. Araç adları gerçek; kimlikler yer tutucu.

1. Anahtarın hangi kuruluşa ait olduğunu ve yayın yapıp yapamayacağını doğrulamak için `whoami`.
2. Müşterinin çalışma alanını bulmak için `list_workspaces`.
3. Ağları, durumları ve desteklenen formatları görmek için o çalışma alanında `list_channels`.
4. Bu kampanyanın hesaplarını tutan grubu bulmak için `list_groups`.
5. Boyutlar ve süreyle birlikte `upload_media_from_url`.
6. Hesaba özel açıklamalar ve ağa özel formatla taslak olarak `create_post`.
7. Müşteri videoları onaylıyorsa `request_approval`, onaylamıyorsa `schedule_post`.
8. Planlanan saatten sonra her hesabın durumunu kontrol etmek için `get_post`.

Yükleme çağrısı:

```json
{
  "tool": "upload_media_from_url",
  "arguments": {
    "workspace_id": "ws_example",
    "url": "https://cdn.example-agency.com/clients/aurora/launch-teaser.mp4",
    "file_name": "launch-teaser.mp4",
    "width": 1080,
    "height": 1920,
    "duration_ms": 42000
  }
}
```

Taslak gönderi. `format` alanının kanal bazında belirlendiğine dikkat edin, çünkü aynı dosya Instagram ve Facebook'ta `REEL`, YouTube'da ise `SHORT`'tur:

```json
{
  "tool": "create_post",
  "arguments": {
    "workspace_id": "ws_example",
    "caption": "Aurora opens its new showroom on Thursday. 42 seconds inside.",
    "media_ids": ["med_teaser"],
    "youtube_title": "Inside the new Aurora showroom",
    "youtube_privacy": "public",
    "cta_url": "https://aurora-example.com/showroom",
    "campaign": "showroom-launch",
    "label": "Showroom teaser, week 38",
    "per_channel": [
      { "channel_id": "ch_ig_downtown", "format": "REEL",
        "caption": "Downtown team here. Thursday we open the doors, and this is what you'll see first." },
      { "channel_id": "ch_fb_northside", "format": "REEL",
        "caption": "Northside customers asked for a showroom. Here's a 42 second look before Thursday." },
      { "channel_id": "ch_yt_main", "format": "SHORT",
        "caption": "A first look at the new Aurora showroom, opening Thursday." }
    ],
    "stagger_seconds": [45, 120]
  }
}
```

Gerçek bir çalıştırmada `per_channel` içinde üç değil, her hesap için bir kayıt bulunur. Bunları ajan yazar; bir insanın yazmasına gerek yok.

## Neden her hesabın kendi açıklaması olmalı?

Çünkü kırk sayfanın bir saat içinde birebir aynı metni yayınlaması, spam sistemlerinin tam da fark etmek için kurulduğu bir örüntüdür; üstelik sayfalardan ikisini takip eden herkese kötü görünür. Shager'ın kendi [auth.md](/auth.md) dosyası da ajanlara açıklamaları `per_channel` üzerinden hesaba göre çeşitlendirmelerini doğrudan söyler.

İyi çeşitleme, eş anlamlı kelime değiştirmek değildir. Ajan her açıklamayı o hesapla ilgili doğru bir şeye dayandırmalı: konum, ekip, kitle. Yöntemi, kelimeler değişirken marka sesini nasıl sabit tutacağınız dahil, [yapay zekâyla hesaba özel açıklama çeşitlemesi](/en/blog/caption-variation-per-account-with-ai) yazısında ayrıntılı anlatıyoruz.

Özellikle kısa videoda açıklamaları kısa tutun. Mesajı video taşır. Seslendirmeyi tekrarlayan bir açıklama alanı boşa harcar.

## Kısa videoda link nereye konur?

Ajanların en sık yanıldığı kısım bu, çünkü her ağa tek bir kural uyguluyorlar.

YouTube'da Google, yardım merkezinde spam'i azaltmak için [Shorts yorumlarındaki ve Shorts açıklamalarındaki URL'lerin tıklanamadığını](https://support.google.com/youtube/answer/13748639) belirtir. Bir Shorts videosunun ilk yorumundaki potansiyel müşteri linki, link değil düz metindir. Instagram'da da açıklamalardaki ve yorumlardaki URL'ler link olarak gösterilmez. İlk yorumdaki linkin insanların beklediği gibi çalıştığı yer Facebook Sayfası gönderileridir.

Bu yüzden kısa video çalıştırmasında ajan `first_comment` alanını kanal bazında yalnızca işe yaradığı yerde doldurmalı, Shorts'ta boş bırakmalıdır. Shager yine de `cta_url` üzerinden her hesap için takip edilen bir kısa link üretir; böylece link nerede görünürse görünsün tıklama verileri hesap bazında kalır. Bu konudaki rehberin tamamı [ajanlarla ilk yorumda potansiyel müşteri linkleri](/en/blog/first-comment-lead-links-with-agents) yazısında.

## Tempo: stagger_seconds gerçekte ne yapar?

`stagger_seconds`, aynı ağdaki hesaplar arasında saniye cinsinden rastgele bir beklemedir. Varsayılan değer `[30, 90]`. Üç ağa dağılmış 38 hesapta her ağın kuyruğu kendi başına çalışır; Instagram hesapları birbirinden, YouTube kanalları da birbirinden aralıklı gönderilir.

Video için genellikle bu aralığı genişletiyorum. `[45, 120]` ile 38 hesaplık bir çalıştırmanın bitmesi daha uzun sürer, ama gönderiler bir betikten çok insanların yayın yaptığı izlenimini veren bir zaman dilimine yayılır. Müşteri her şeyin belirli bir saatten önce yayında olmasını önemsiyorsa, ajan aralığı daraltmak yerine daha erken planlamalıdır. Zamanlamayı [ajanlar için planlama stratejisi](/en/blog/scheduling-strategy-for-agents) yazısında daha derinlemesine ele alıyoruz.

## Sonucu kontrol etmek

Planlanan saatten sonra ajan `get_post` çağrısını yapar. Bu çağrı, gönderinin genel durumunu ve her hesabın durumunu döndürür: yayın saati, canlı URL ya da hata. Gönderi durumları arasında `PUBLISHED`, `PARTIALLY_PUBLISHED` ve `FAILED` ile [OpenAPI belgesinde](https://app.shager.ai/api/v1/openapi.json) listelenen diğerleri bulunur.

`PARTIALLY_PUBLISHED` sonucu ölçekte normaldir. Bir hesabın token'ının süresi dolmuştur; bir Sayfa bir izni kaybetmiştir. Ajanın işi körü körüne yeniden denemek değil, bu hesapları insana adlarıyla bildirmektir. Çoğu zaman çözüm, yalnızca o hesap için yeni bir müşteri bağlantı linkidir.

## Betikler için REST sürümü

Hat bir sohbet ajanından değil de bir betikten çalışıyorsa, aynı iki adım REST üzerinden şöyle görünür:

```bash
curl -s https://app.shager.ai/api/v1/workspaces/ws_example/media \
  -H "Authorization: Bearer $SHAGER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://cdn.example-agency.com/clients/aurora/launch-teaser.mp4",
       "file_name":"launch-teaser.mp4","width":1080,"height":1920,"duration_ms":42000}'

curl -s https://app.shager.ai/api/v1/workspaces/ws_example/posts \
  -H "Authorization: Bearer $SHAGER_API_KEY" \
  -H "Content-Type: application/json" \
  -d @teaser-post.json
```

Yanıtlar `{ "data": ... }`, hatalar ise `{ "error": { "code", "message" } }` biçiminde döner. Sınır anahtar başına dakikada 120 istektir; tek bir video çalıştırması bu sınıra asla yaklaşmaz.

## SSS

### Ajan yatay bir videoyu Shorts olarak paylaşabilir mi?

Hayır. YouTube Shorts'u en boy oranına ve uzunluğa göre sınıflandırır; bu yüzden yatay bir video, istediğiniz `format` ne olursa olsun normal video olarak yüklenir. Editörden dikey bir kurgu isteyin ya da yatay sürümü YouTube'da `format` değeri `VIDEO` olarak paylaşın ve Reels'i dikey sürüm için saklayın.

### Aynı video her hesaba aynı gün mü gitmeli?

Çeşitlendirilmiş açıklamalar ve geniş bir aralıkla gidebilir. Büyük gruplarda birçok ajans, her hesabın kitlesi aynı klibi aynı saatte komşu bir sayfada görmesin diye çalıştırmayı iki ya da üç güne böler. Ajan bunu, her grup için farklı `schedule_at` değerleriyle ayrı gönderiler oluşturarak yapabilir.

### Bir hesap videoyu reddederse ne olur?

Shager göndermeden önce her hesabı kendi ağının kurallarına göre kontrol eder; böylece sorunların çoğu planlama aşamasında, açık bir gerekçeyle ortaya çıkar. Yayın anında yine de bir şey başarısız olursa `get_post` hangi hesabın neden başarısız olduğunu gösterir ve çalıştırmanın geri kalanı etkilenmez.

## Buradan nereye?

Ajanınız henüz bağlı değilse MCP sunucusunu, REST API'yi ve kendi kendine kaydı anlatan [ajan giriş noktasından](/en/agents) başlayın. Ardından, ajanı müşteri listesinin tamamına yöneltmeden önce küçük bir gruba tek bir kısa video gönderin.

---
Source: https://shager.ai/tr/blog/agent-short-video-distribution
