Instagram paylaşımlarını neden API ile otomatikleştirmeli
Instagram uygulamasından elle paylaşım yaptıysanız süreci bilirsiniz: uygulamayı açarsınız, dosyayı seçersiniz, açıklamayı yazarsınız, hashtag eklersiniz, kişileri etiketlersiniz, kapak görselini seçersiniz ve sonunda paylaş’a basarsınız. Şimdi bunu birden fazla müşteri hesabında günde beş gönderiyle çarpın.
Instagram platform sayfası, Upload-Post’un Instagram için neleri desteklediğini ayrıntılı anlatıyor. Kısaca: Reels, tekli fotoğraf, karusel (çok görselli gönderi) ve Hikayeleri tek bir sosyal medya API’si uç noktasından paylaşabilirsiniz. Facebook uygulama incelemesi yok, token yenileme yok, Graph API karmaşası yok.
Upload-Post, hesap başına kayan 24 saatte en fazla 50 Instagram gönderisine izin verir; bu, çoğu kullanım için fazlasıyla yeterli. Aynı anda başka platformlarda da paylaşım yapmanız gerekiyorsa tüm platformlara aynı anda paylaşım kılavuzuna bakın.
API ile Instagram Reel paylaşma
Reels, Instagram’ın ana içerik biçimi. Bir videoyu Reel olarak paylaşmak için yükleme uç noktasına media_type değeri REELS olan bir POST isteği gönderin. Reel’in akışta nasıl görüneceğini share_mode ile belirleyebilirsiniz.
curl -X POST https://api.upload-post.com/api/upload \
-H "Authorization: Apikey your-api-key-here" \
-F "[email protected]" \
-F "user=mybrand" \
-F "title=Yeni ürün lansmanımızın kamera arkası" \
-F "platform[]=instagram" \
-F "media_type=REELS" \
-F "share_mode=FEED_AND_REELS" \
-F "audio_name=Original Audio" \
-F "cover_url=https://example.com/cover.jpg" Instagram’a özel parametrelerin her biri şunu yapar:
media_type=REELS, Instagram’a bunun normal bir akış videosu değil Reel olduğunu söyler.share_mode=FEED_AND_REELS, videoyu hem Reels sekmesinde hem ana akışta yayınlar. Profil ızgarasında görünmesin istiyorsanızREELS_ONLYkullanın.audio_name, izleyicilerin Reel’de gördüğü ses kaydının adını belirler.cover_url, özel bir kapak görseli verir. Verilmezse Instagram videodan bir kare seçer.
Başarılı bir yükleme, iş kimliğini ve platform durumunu döndürür:
{
"success": true,
"job_id": "job_reel_abc123",
"platforms": {
"instagram": {
"status": "processing",
"user": "mybrand"
}
}
} share_mode yerine share_to_feed=true veya share_to_feed=false da kullanabilirsiniz; ikisi aynı işi görür. Videodan belirli bir kareyi küçük resim yapmak için thumb_offset kullanın (değer milisaniye cinsinden).
Fotoğraf ve karusel paylaşma
Tekli fotoğraf veya karusel (çok görselli) gönderiler için /api/upload_photos uç noktasını kullanın. photos[] parametresiyle birden fazla dosya yüklediğinizde karusel kendiliğinden oluşur.
curl -X POST https://api.upload-post.com/api/upload_photos \
-H "Authorization: Apikey your-api-key-here" \
-F "photos[][email protected]" \
-F "photos[][email protected]" \
-F "photos[][email protected]" \
-F "user=mybrand" \
-F "title=Bu ayın en sevdiğimiz 3 ürünü" \
-F "platform[]=instagram" \
-F "instagram_first_comment=#productpicks #trending #shopnow" photos[] içinde birden fazla dosya gönderdiğinizde Instagram bir karusel gönderisi oluşturur. Kullanıcılar görselleri yüklediğiniz sırayla kaydırarak görür. Tek dosya ise standart bir fotoğraf gönderisi olur. Instagram karusel başına en fazla 10 görseli destekler.
Aynı içeriği birden fazla platformda paylaşırken Instagram’a özel bir açıklama yazmak için instagram_title kullanabilirsiniz. Instagram açıklamanızda diğer platformlardan farklı hashtag veya etiketler kullanıyorsanız işinize yarar.
İlk yorumu otomatik paylaşma
instagram_first_comment parametresi, gönderi yayına girer girmez altına otomatik bir yorum ekler. Instagram’da en yaygın taktiklerden biri budur: açıklamayı sade tutup tüm hashtag’leri ilk yoruma taşımak.
curl -X POST https://api.upload-post.com/api/upload \
-H "Authorization: Apikey your-api-key-here" \
-F "[email protected]" \
-F "user=mybrand" \
-F "title=Kısa eğitim: uygulamamız nasıl kullanılır" \
-F "platform[]=instagram" \
-F "media_type=REELS" \
-F "instagram_first_comment=#tutorial #howto #apptips #tech #productdemo" Hashtag’leri neden açıklama yerine ilk yoruma koymalı? Instagram’ın algoritması keşfedilebilirlik açısından ilk yorumdaki hashtag’lere açıklamadakiler gibi davranır, ama açıklamanız daha temiz görünür. Birçok marka ve içerik üreticisi, gönderinin bir hashtag yığınına değil mesaja odaklanması için bu yolu tercih eder.
Ortak çalışanlar ve kullanıcı etiketleri
Instagram Collab gönderileri iki hesabın tek bir içeriği birlikte yayınlamasını sağlar. Gönderi iki profilde de görünür ve etkileşim (beğeni, yorum, paylaşım) ortak sayılır. Ortak çalışan davet etmek için collaborators parametresini kullanın.
curl -X POST https://api.upload-post.com/api/upload \
-H "Authorization: Apikey your-api-key-here" \
-F "[email protected]" \
-F "user=mybrand" \
-F "title=@partneraccount ile iş birliğimizi duyurmaktan mutluluk duyuyoruz" \
-F "platform[]=instagram" \
-F "media_type=REELS" \
-F "collaborators=partneraccount,otheraccount" \
-F "user_tags=partneraccount,photographer_jane" \
-F "location_id=123456789" collaborators, virgülle ayrılmış Instagram kullanıcı adları alır. Davet edilen kullanıcılara iş birliğini kabul etmeleri için bildirim gider.user_tags, uygulamada bir fotoğrafta kişi etiketler gibi gönderinin içinde kullanıcıları etiketler.location_id, gönderiye konum ekler. Konum kimliklerini Instagram konum aramasından veya Facebook Places API’sinden bulabilirsiniz.
Instagram gönderilerini zamanlama
İleri bir tarihte yayınlamak için herhangi bir yükleme isteğine scheduled_date ekleyin. Tarih ISO-8601 biçiminde olmalı; isterseniz timezone ile saat dilimi de belirtebilirsiniz.
curl -X POST https://api.upload-post.com/api/upload \
-H "Authorization: Apikey your-api-key-here" \
-F "[email protected]" \
-F "user=mybrand" \
-F "title=Günaydın! Yeni içerik bugün yayında." \
-F "platform[]=instagram" \
-F "media_type=REELS" \
-F "scheduled_date=2025-09-15T09:00:00Z" \
-F "timezone=America/New_York"
Belirli bir tarih yerine add_to_queue=true da kullanabilirsiniz. Kuyruk sistemi, ayarladığınız takvime göre bir sonraki boş zaman aralığını seçer; saatleri tek tek seçmeden toplu içerik yüklemek için idealdir. Kuyruk kurulumu, zamanlanmış gönderileri düzenleme ve içerik takviminizi yönetme için zamanlama kılavuzunun tamamına bakın.
Python ile otomatikleştirme
Resmi Python SDK’sıyla otomasyon betikleri yazmak kolaydır. pip install upload-post ile kurun, ardından API ile çalışmak için UploadPostClient kullanın. Adım adım anlatım için Python otomasyon kılavuzuna göz atın.
Aşağıdaki betik bir Reel paylaşır, bir fotoğraf karuseli yükler ve haftanın içeriğini zamanlar:
from upload_post import UploadPostClient
from datetime import datetime, timedelta
client = UploadPostClient(api_key="your-api-key-here")
# 1. Bir Reel'i hemen paylaş
reel_response = client.upload_video(
video_path="/path/to/reel.mp4",
title="Yeni ürün tanıtımı",
user="mybrand",
platforms=["instagram"],
media_type="REELS",
share_mode="FEED_AND_REELS",
instagram_first_comment="#newproduct #walkthrough #tech"
)
print(f"Reel yüklendi: {reel_response['job_id']}")
# 2. Fotoğraflardan bir karusel paylaş
carousel_response = client.upload_photos(
photo_paths=[
"/path/to/photo1.jpg",
"/path/to/photo2.jpg",
"/path/to/photo3.jpg"
],
title="Üç açı, tek ürün.",
user="mybrand",
platforms=["instagram"],
collaborators="partneraccount"
)
print(f"Karusel yüklendi: {carousel_response['job_id']}")
# 3. Önümüzdeki 7 gün için Reels zamanla
videos = [
"monday.mp4", "tuesday.mp4", "wednesday.mp4",
"thursday.mp4", "friday.mp4", "saturday.mp4", "sunday.mp4"
]
for i, video in enumerate(videos):
publish_date = (datetime.now() + timedelta(days=i + 1)).replace(
hour=10, minute=0, second=0, microsecond=0
)
response = client.upload_video(
video_path=f"/path/to/{video}",
title=f"Lansman haftası serimizin {i + 1}. günü",
user="mybrand",
platforms=["instagram"],
media_type="REELS",
scheduled_date=publish_date.isoformat(),
timezone="Europe/Istanbul"
)
print(f"{video} için zamanlandı: {publish_date} ({response['job_id']})")
Bu betik bir hafta boyunca her gün İstanbul saatiyle 10.00’da bir Reel zamanlar. hour, timezone ve dosya yollarını kendi akışınıza göre değiştirin. Toplu yükleme senaryolarında video yollarını bir klasörden veya CSV dosyasından okuyup aynı şekilde döngüye alabilirsiniz.
Kodsuz otomasyon: n8n ve Make.com
Kod yazmak yerine görsel iş akışlarını tercih ediyorsanız hem n8n hem Make.com Upload-Post ile doğrudan çalışır.
n8n
n8n açık kaynaklı bir iş akışı otomasyon aracıdır. Upload-Post API’sini çağırmak için HTTP Request düğümünü kullanabilirsiniz. Google Drive’dan video dosyalarını okuyan, açıklamaları bir Google Sheet’ten alan ve bunları otomatik olarak Reels olarak paylaşan hazır bir Instagram Reels n8n şablonumuz var. Başka kurulumlar için tüm n8n şablonlarına göz atın.
Make.com
Make.com (eski adıyla Integromat) senaryo tabanlı çalışır. Bir HTTP modülü ekleyin, Upload-Post uç noktası ve API anahtarınızla ayarlayın, sonra herhangi bir tetikleyiciye bağlayın: Google Sheets’te yeni satır, Dropbox’ta yeni dosya, zamanlanmış bir sayaç ve benzeri. Sonuç kod yazmakla aynıdır, sadece sürükle bırak arayüzüyle.
İki araç da zamanlama parametrelerini (scheduled_date, add_to_queue) destekler; böylece terminale hiç dokunmadan eksiksiz bir Instagram içerik takvimi kurabilirsiniz.
Instagram içerik gereksinimleri
Upload-Post, yerleşik FFmpeg API’si ile içeriğinizi mümkün olduğunca otomatik uyarlar, ama kaliteyi en iyi hale getirmek için Instagram’ın ne beklediğini bilmek işinize yarar.
| Biçim | Özellik | Ayrıntı |
|---|---|---|
| Video (Reels) | Maksimum dosya boyutu | 1 GB |
| Biçimler | MP4, MOV | |
| En boy oranı | 9:16 önerilir, 1:1 ve 4:5 desteklenir | |
| Süre | 3 saniye ile 15 dakika arası | |
| Çözünürlük | 1080x1920 önerilir | |
| Fotoğraf | Maksimum dosya boyutu | 8 MB |
| Biçimler | JPEG, PNG | |
| En boy oranı | 1:1, 4:5, 1,91:1 | |
| Maksimum boyutlar | 1440x1440 (kare), 1080x1350 (dikey) | |
| Karusel | Maksimum görsel | Gönderi başına 10 |
| Karışık medya | Fotoğraf ve video bir arada kullanılabilir |
Sıkça sorulan sorular
Instagram paylaşımlarını nasıl otomatikleştiririm?
Instagram İşletme veya İçerik Üreticisi hesabınızı Upload-Post’a bağlayın, ardından /api/upload uç noktasına platform[]=instagram ile bir POST isteği gönderin. Reels (media_type=REELS), fotoğraf karuselleri ve tekli fotoğraflar paylaşabilir, scheduled_date ile zamanlayabilir, Hikaye (media_type=STORIES) yayınlayabilir ve otomatik ilk yorum ekleyebilirsiniz. Hepsi tek API çağrısıyla, Meta uygulama incelemesi ya da Graph API kurulumu olmadan. Yukarıdaki cURL ve Python örnekleri nasıl yapılacağını adım adım gösteriyor.
Reels ve fotoğrafları otomatik paylaşmak için bir Instagram API’si var mı?
Evet. Upload-Post, Instagram’ın resmi Content Publishing API’sini tek ve basit bir uç nokta üzerinden sunar. Videonuzu veya fotoğraflarınızı platform[]=instagram ile gönderin; API; Reels, karusel ve akış fotoğrafları için konteyner oluşturmayı, durum kontrolünü ve yayınlamayı üstlenir. Diğer yetkili zamanlama araçlarının kullandığı resmi API’nin aynısıdır; bot ya da tarayıcı otomasyonu değildir.
Kişisel Instagram hesaplarıyla çalışır mı?
Hayır. Instagram’ın API’si yalnızca İşletme ve İçerik Üreticisi hesaplarını destekler. Kişisel hesaplara hiçbir resmi API ile erişilemez. İyi haber şu: İşletme veya İçerik Üreticisi hesabına geçmek ücretsizdir ve Instagram uygulamasının ayarlarından yaklaşık 30 saniye sürer. Upload-Post, Instagram ile Giriş (Instagram Login) üzerinden bağlandığı için bağlı bir Facebook Sayfası gerekmez.
API ile Instagram Hikayesi paylaşabilir miyim?
Evet. Video uç noktasına (/api/upload) veya fotoğraf uç noktasına (/api/upload_photos) platform[]=instagram ile birlikte media_type=STORIES gönderin. Hikayelerde açıklama kullanılmaz ve konum etiketi eklenemez; en iyi sonucu dikey 9:16 medya verir.
Otomatik gönderiler hesabımın shadowban yemesine neden olur mu?
Upload-Post, diğer yetkili zamanlama araçlarının kullandığı yolla, Instagram’ın resmi Content Publishing API’si üzerinden paylaşım yapar; bu yüzden gönderileriniz tarayıcı botları gibi otomasyon olarak işaretlenmez. Instagram’ın gönderiyi kimlere göstereceği yine içeriğin kendisine bağlıdır. Upload-Post ayrıca Instagram’ın yayın sınırlarının rahatça altında kalmak için her hesabı kayan 24 saatte 50 gönderiyle sınırlar. Şu anda Hootsuite veya Later gibi bir araç kullanıyorsanız Upload-Post, aynı resmi erişimi kullanan ve geliştiricilere uygun bir alternatiftir.
Ücretsiz plan var mı?
Evet. Her Upload-Post hesabında ayda 10 ücretsiz yükleme vardır, kredi kartı gerekmez. Bu, API’yi denemek, iş akışınızı doğrulamak ve ücretli plana geçmeden önce her şeyin çalıştığından emin olmak için yeterlidir. İlk gönderilerinizi yaklaşan günlere göre planlamak için sosyal medya tatil takvimine bakın ya da Instagram fotoğraf bölme aracıyla bir afişi parçalara ayırıp sırayla zamanlayın.