# Satu Video Vertikal, Empat Puluh Akun: Cara Agen Mendistribusikan Reels dan Shorts Lewat Shager

_2026-09-15 · Panduan praktis distribusi video pendek oleh agen: cek format, metadata Reels dan Shorts, caption per akun, pengiriman bertahap, dan panggilan MCP sungguhan._

Agen bisa mendistribusikan satu video vertikal pendek ke puluhan akun Instagram, Facebook, dan YouTube dengan mengunggahnya sekali beserta dimensi dan durasinya, membuat satu postingan yang menetapkan format per platform, lalu menulis caption berbeda untuk setiap akun. Shager memvalidasi file terhadap aturan masing-masing platform sebelum apa pun dikirim, lalu mengirimkannya akun demi akun dengan jeda acak di antaranya. Pekerjaan utama agen ada di metadata, bukan di unggahan.

Kalimat terakhir itu adalah seluruh pelajarannya. Distribusi video pendek jarang gagal karena videonya sendiri. Kegagalan biasanya terjadi karena agen tidak tahu klipnya berdurasi 3 menit 4 detik, atau karena empat puluh akun menerima caption yang sama persis kata per kata.

## Apa yang perlu diketahui agen tentang file sebelum mengunggah?

Tiga angka: lebar, tinggi, dan durasi. Platform mengklasifikasikan dan menerima video pendek berdasarkan ketiganya, dan agen yang hanya menebak akan menghasilkan postingan dengan format keliru atau ditolak.

Aturan YouTube paling mudah dijelaskan. Menurut halaman bantuan Google sendiri tentang [YouTube Shorts tiga menit](https://support.google.com/youtube/answer/15424877?hl=en), video yang diunggah sejak 15 Oktober 2024 dengan rasio aspek persegi atau vertikal dan durasi hingga tiga menit dikategorikan sebagai Shorts. Artinya, klip 3:04 dalam rasio 9:16 adalah video biasa, bukan Short, apa pun niat agennya.

Instagram lebih longgar soal rasio aspek, tetapi tetap punya preferensi. [Dokumentasi content publishing](https://developers.facebook.com/docs/instagram-platform/content-publishing) Meta untuk Instagram Platform mencantumkan container dan codec yang diterima untuk Reels, serta menyarankan 9:16 agar tidak ada bagian yang terpotong atau ruang kosong. Video harus berada di URL yang bisa diakses publik saat dipublikasikan, karena Meta mengambilnya langsung dari sana.

Itulah sebabnya `upload_media_from_url` di Shager menerima field opsional `width`, `height`, dan `duration_ms`. Isi field tersebut, maka validasi untuk Reels, Shorts, dan Story berjalan saat unggah dan sekali lagi sebelum penjadwalan, alih-alih baru ketahuan sebagai postingan gagal di akun ke-23.

Jika agen belum punya angka-angka itu, ia harus mendapatkannya sebelum mengunggah. Di Claude Code atau Codex, cukup satu panggilan `ffprobe`:

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

## Urutan panggilan MCP

Berikut urutan yang dijalankan agen untuk klien dengan 38 akun terhubung, memakai server MCP Shager di `https://app.shager.ai/api/mcp`. Nama tool-nya asli; ID-nya hanya contoh.

1. `whoami` untuk memastikan kunci milik organisasi mana dan apakah kunci itu boleh memublikasikan.
2. `list_workspaces` untuk menemukan workspace klien.
3. `list_channels` untuk workspace tersebut, guna melihat platform, status, dan format yang didukung.
4. `list_groups` untuk menemukan grup yang berisi akun-akun kampanye ini.
5. `upload_media_from_url` dengan dimensi dan durasi.
6. `create_post` sebagai draf, dengan caption per akun dan format per platform.
7. `request_approval` jika klien perlu menyetujui video, atau `schedule_post` jika tidak.
8. `get_post` setelah waktu terjadwal, untuk memeriksa status setiap akun.

Panggilan unggah:

```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
  }
}
```

Draf postingannya. Perhatikan bahwa `format` ditetapkan per channel, karena file yang sama menjadi `REEL` di Instagram dan Facebook, dan `SHORT` di YouTube:

```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]
  }
}
```

Dalam proses nyata, `per_channel` berisi satu entri untuk setiap akun, bukan hanya tiga. Agen yang menulisnya, bukan manusia.

## Kenapa setiap akun butuh caption sendiri?

Karena empat puluh halaman yang memublikasikan teks identik dalam satu jam adalah pola yang justru ingin ditangkap sistem antispam, dan karena hasilnya terasa janggal bagi siapa pun yang mengikuti dua halaman sekaligus. [auth.md](/auth.md) milik Shager sendiri secara langsung meminta agen membuat caption berbeda per akun lewat `per_channel`.

Variasi yang baik bukan sekadar mengganti sinonim. Agen sebaiknya menambatkan setiap caption pada sesuatu yang benar tentang akun tersebut: lokasinya, timnya, audiensnya. Metodenya kami bahas lengkap di [variasi caption per akun dengan AI](/en/blog/caption-variation-per-account-with-ai), termasuk cara menjaga suara brand tetap konsisten sementara susunan katanya berubah.

Khusus untuk video pendek, buat caption tetap singkat. Videonya sudah membawa pesan. Caption yang mengulang voiceover hanya membuang ruang.

## Di mana tautan diletakkan pada video pendek?

Di bagian inilah agen paling sering keliru, karena menerapkan satu aturan untuk semua platform.

Untuk YouTube, Google menyatakan di pusat bantuannya bahwa [URL di komentar dan deskripsi Shorts tidak bisa diklik](https://support.google.com/youtube/answer/13748639) demi mengurangi spam. Tautan prospek di komentar pertama sebuah Short hanyalah teks, bukan tautan. Di Instagram, URL di caption dan komentar juga tidak ditampilkan sebagai tautan. Postingan Halaman Facebook adalah tempat tautan di komentar pertama berfungsi seperti yang diharapkan orang.

Jadi untuk distribusi video pendek, agen sebaiknya mengisi `first_comment` per channel hanya di tempat yang bermanfaat, dan mengosongkannya di Shorts. Shager tetap membuat tautan pendek terlacak per akun dari `cta_url`, sehingga data klik tetap tercatat per akun di mana pun tautan itu muncul. Panduan lengkapnya ada di [tautan prospek di komentar pertama dengan agen](/en/blog/first-comment-lead-links-with-agents).

## Pengaturan tempo: apa sebenarnya fungsi stagger_seconds

`stagger_seconds` adalah jeda acak, dalam detik, di antara akun-akun pada platform yang sama. Default-nya `[30, 90]`. Dengan 38 akun yang tersebar di tiga platform, antrean tiap platform berjalan sendiri-sendiri, sehingga akun Instagram diberi jarak satu sama lain, begitu pula channel YouTube.

Untuk video, saya biasanya melebarkannya. Proses 38 akun dengan `[45, 120]` memang lebih lama selesai, tetapi postingan tersebar dalam rentang waktu yang terlihat seperti orang yang memublikasikan, bukan skrip. Jika klien ingin semuanya sudah tayang sebelum jam tertentu, agen sebaiknya menjadwalkan lebih awal, bukan memperketat jedanya. Soal waktu kami bahas lebih dalam di [strategi penjadwalan untuk agen](/en/blog/scheduling-strategy-for-agents).

## Memeriksa hasilnya

Setelah waktu terjadwal, agen memanggil `get_post`. Panggilan ini mengembalikan status keseluruhan postingan dan status setiap akun: waktu publikasi, URL yang sudah tayang, atau error-nya. Status postingan mencakup `PUBLISHED`, `PARTIALLY_PUBLISHED`, dan `FAILED`, serta status lain yang tercantum di [dokumen OpenAPI](https://app.shager.ai/api/v1/openapi.json).

Hasil `PARTIALLY_PUBLISHED` itu wajar dalam skala besar. Token satu akun kedaluwarsa; satu Halaman kehilangan izin. Tugas agen adalah melaporkan akun-akun itu dengan namanya kepada manusia, bukan mencoba ulang secara membabi buta. Sering kali solusinya cukup tautan koneksi klien yang baru untuk satu akun tersebut.

## Versi REST untuk skrip

Jika pipeline dijalankan dari skrip, bukan dari agen chat, dua langkah yang sama lewat REST terlihat seperti ini:

```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
```

Respons dikembalikan sebagai `{ "data": ... }`, error sebagai `{ "error": { "code", "message" } }`. Batasnya 120 request per menit per kunci, angka yang tidak akan pernah didekati oleh satu kali distribusi video.

## FAQ

### Bisakah agen memposting video horizontal sebagai Short?

Tidak. YouTube mengklasifikasikan Shorts berdasarkan rasio aspek dan durasi, jadi video horizontal akan terunggah sebagai video biasa, apa pun `format` yang Anda minta. Mintalah versi vertikal kepada editor, atau posting versi horizontal dengan `format` diatur ke `VIDEO` di YouTube dan simpan Reels untuk versi vertikalnya.

### Haruskah video yang sama dikirim ke semua akun di hari yang sama?

Boleh, asalkan captionnya bervariasi dan jedanya lebar. Untuk grup besar, banyak agensi membagi distribusinya ke dua atau tiga hari, supaya audiens tiap akun tidak melihat klip yang sama dibagikan oleh halaman tetangga di jam yang sama. Agen bisa melakukannya dengan membuat postingan terpisah per grup dengan nilai `schedule_at` yang berbeda.

### Apa yang terjadi jika satu akun menolak videonya?

Shager memeriksa setiap akun terhadap aturan platformnya sebelum mengirim, sehingga sebagian besar masalah sudah muncul saat penjadwalan dengan alasan yang jelas. Jika masih ada yang gagal saat publikasi, `get_post` menunjukkan akun mana yang gagal dan sebabnya, dan sisa distribusi tidak terpengaruh.

## Langkah selanjutnya

Jika agen Anda belum terhubung, mulailah dari [titik masuk agen](/en/agents), yang membahas server MCP, REST API, dan pendaftaran mandiri. Lalu uji satu video pendek ke grup kecil sebelum mengarahkannya ke seluruh daftar klien.

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