Instagramda nashrni avtomatlashtirishga qaror qildingiz: servis ulaysiz yoki dasturchidan integratsiya yozib berishni soʻraysiz. Shu yerda savollar boshlanadi, lendinglar esa hammasiga bir xil quvnoq «hammasini qoʻllab-quvvatlaymiz» bilan javob beradi: Stories chiqarsa boʻladimi? Reels’ga musiqa-chi? Shaffof fonli PNG? Nashrdan keyin matnni tuzatib boʻladimi?
Javoblar bor, lekin ular Meta’ning inglizcha hujjatlari boʻylab sochilgan va bir necha oyda bir oʻzgarib turadi. Quyida — 2026 yil uchun xulosa: Instagram Content Publishing API aslida nimani qila oladi, fayllarga aniq talablar, nashr «kaput ostida» qanday ishlaydi, nima umuman yoʻq va xatolarni qanday oʻqish kerak. Rasmiy API bilan parol soʻraydigan «kulrang» servislar farqini Instagramda avtoposting haqidagi asosiy maqolada koʻrib chiqqanmiz — bu yerda bir pogʻona chuqurroq.
API kimga ochiq va nimani ulash kerak
API orqali faqat professional akkauntlar — Business yoki Creator — nashr qila oladi. Shaxsiy profilni hech qanday yoʻl bilan ulab boʻlmaydi, bu Meta’ning cheklovi, biror servisniki emas.
Avtorizatsiya yoʻli ikkita:
- Instagram Login (2024 yilda paydo boʻlgan). Akkaunt toʻgʻridan-toʻgʻri ulanadi, Facebook sahifasi kerak emas. Kerakli ruxsatlar:
instagram_business_basicvainstagram_business_content_publish. - Facebook Login. Instagramni Facebook sahifasiga bogʻlash orqali klassik yoʻl. Ruxsatlar:
instagram_basic,instagram_content_publish, qoʻshimchapages_show_listvapages_read_engagement.
Oʻz integratsiyangiz uchun Meta for Developers’da ilova kerak. U ishlab chiqish rejimida turar ekan, faqat ilovada roli bor akkauntlar nashr qila oladi — Samarqanddagi bitta doʻkon yoki oʻquv markazi uchun shu yetadi, App Review shart emas. Mijozlar uchun servis esa Meta tekshiruvidan oʻtishi kerak: bu haftalab yozishma va skrinkast yozish degani.
Kirish tokenlari 60 kun yashaydi, keyin ularni yangilash kerak. Normal servis buni oʻzi qiladi; oʻzingiz yozgan integratsiya ikki oydan keyin «toʻsatdan post qoʻymay qoʻygan» boʻlsa — deyarli aniq token muddati tugagan.
Nashr qanday ishlaydi: avval konteyner, keyin nashr
API orqali post bitta soʻrov bilan «yuborilmaydi». Har doim ikki qadam:
- Konteyner yaratish.
POST /{ig-user-id}/mediasoʻrovi fayl havolasi, matn va parametrlar bilan. Javobda konteyner ID keladi. - Nashr.
POST /{ig-user-id}/media_publishsoʻrovi shu ID bilan. Post lentada faqat shundan keyin paydo boʻladi.
Foto uchun qadamlar ketma-ket ketadi, butun jarayon bir necha soniyaga sigʻadi. Video va Reels uchun orada qayta ishlash bor: konteyner IN_PROGRESS holatini oladi, uni faqat FINISHED dan keyin nashr qilsa boʻladi. Odatda bu 30–120 soniya, uzun Reels’da koʻproq. ERROR va EXPIRED holatlari nashr qiladigan narsa yoʻqligini bildiradi: konteyner 24 soat yashaydi, keyin uni qaytadan yaratish kerak.
Asosiy amaliy xulosa: faylni toʻgʻridan-toʻgʻri yuklab boʻlmaydi. API faqat ochiq havola qabul qiladi — rasm yoki video Instagram toʻgʻri URL orqali kirib oladigan serverda turishi shart. Google Drive’dagi «ulashish» havolasi toʻgʻri kelmaydi. Istisno bitta: Reels uchun resumable upload bor, fayl boʻlaklab uzatiladi. Aynan shuning uchun har qanday avtoposting servisi avval medialaringizni oʻz xotirasiga koʻchiradi va Instagramga oʻsha yerdan beradi. Fayllar qayerda turadi va qancha saqlanadi — soʻrang, bu normal savol.
Nimani nashr qilsa boʻladi va fayllarga aniq talablar
| Format | Fayl | Talablar |
|---|---|---|
| Lentaga foto | faqat JPEG | 8 MB gacha, tomonlar nisbati 4:5 dan 1.91:1 gacha, kenglik 320–1440 px, sRGB rang maydoni |
| Reels | MP4 yoki MOV | H.264 yoki HEVC kodek, AAC ovoz, 23–60 fps, 3 soniyadan 15 daqiqagacha, 1 GB gacha, tavsiya 9:16 |
| Karusel | 2–10 element | foto va videoni aralashtirsa boʻladi; karuseldagi video — 60 soniyagacha |
| Stories | foto yoki video | video 60 soniyagacha, vertikal 9:16 |
Koʻpchilik qoqiladigan ikki joy. Birinchisi: PNG va HEIC qabul qilinmaydi — iPhone’dan HEIC formatida kelgan fotoni konvertatsiya qilish kerak, buni yo servis, yo oʻzingiz qilasiz. Ikkinchisi: 1:1 kvadrat oʻtadi, vertikal 2:3 (fotokameraning standart nisbati) esa yoʻq, uni 4:5 ga kesishga toʻgʻri keladi.
Matn: 2200 belgigacha, 30 tagacha xeshteg, @ orqali 20 tagacha eslatma. Matndan tashqari API orqali uzatsa boʻladi:
- alt-matn fotoga (
alt_textmaydoni) — ham accessibility, ham qidiruv uchun foydali; - geobelgi
location_idorqali (bu Facebook’dagi joy sahifasining ID si, koordinata emas); - fotoda odamlarni belgilash x/y koordinatalari bilan (
user_tags); - hammualliflar (
collaborators, 3 tagacha akkaunt) — taklif ularga ilovaga boradi, tasdiqlagach post ularning profilida ham chiqadi; - Reels muqovasi — yo oʻz rasmingiz (
cover_url), yo kerakli soniyadagi kadr (thumb_offset), hamdashare_to_feedbayrogʻi — rolikni asosiy lentada koʻrsatish yoki yoʻq.
Servis lendingda «Reels’ni qoʻllab-quvvatlaymiz» deb yozsa-yu, muqova tanlab boʻlmasa — sinov davrida birinchi tekshiradigan narsa shu. Profildagi muqova rolikni bir oydan keyin bosishadimi-yoʻqmi, shuni hal qiladi.
Limitlar: 50 post va 200 chaqiruv
Bir akkauntga siljuvchi 24 soatda 50 ta nashr. Aynan siljuvchi: 10:00 dan 23:00 gacha 50 post chiqargan boʻlsangiz, limit «yarim tunda nolga tushmaydi», har bir postga 24 soat toʻlgan sari bittadan boʻshaydi. Karusel — bitta nashr. Stories ham shu limitga kiradi. Qoldiqni GET /{ig-user-id}/content_publishing_limit soʻrovi bilan tekshirsa boʻladi — u quota_usage qaytaradi.
Bitta akkaunt uchun kuniga 50 — nari borsa yangilik pabliklari yetib boradigan shift.
Chaqiruvlar limiti — har bir ulangan foydalanuvchiga soatiga taxminan 200 soʻrov. Nashr uchun bu deyarli ahamiyatsiz: bitta post 2–3 chaqiruv turadi (konteyner yaratish, holatni tekshirish, nashr). Analitika uchun esa muhim: har besh daqiqada 30 post boʻyicha statistikani yangilaydigan servis nashr limitidan oldin shu limitga tiraladi.
API orqali nima yoʻq, va buni hech bir servis aylanib oʻtolmaydi
2026 yil uchun halol roʻyxat. Servis shulardan birini «rasmiy API orqali» vaʼda qilsa — yo buni moderator qoʻlda qiladi, yo rasmiy API orqali emas.
- Stories’dagi interaktiv. Soʻrovnoma, test, slayder, havolali stiker, musiqali stiker, stiker orqali eslatma — bularning birortasi yoʻq. API orqali Story — shunchaki rasm yoki video. «Yuqoriga suring» matnini maketga bosib qoʻyishga toʻgʻri keladi.
- Instagram kutubxonasidagi musiqa Reels’da. Ovoz faylning ichida boʻlishi kerak, demak — foydalanish huquqi bilan.
- Filtrlar va effektlar. Videoni yuklashdan oldin ishlab oling.
- Tahrirlash va oʻchirish. API orqali chiqqan postni API orqali na tuzatib, na oʻchirib boʻladi — faqat ilovada qoʻlda. Matndagi xatoni nashrdan keyin emas, oldin tekshiring.
- Shaxsiy akkauntlar. Yuqorida aytildi.
- Jadvalning oʻzi. API «hozir» nashr qiladi. Kechiktirilgan nashr — servis tomonidagi navbat. Servis serveri 19:00 da yiqilsa, 19:00 dagi post chiqmaydi. Qayta urinishlar qanday ishlashini va sizga bildirishnoma kelish-kelmasligini soʻrang.
- Postni reklama qilish. Reklama — boshqa ruxsatlar va tekshiruvli alohida Marketing API.
Nima bor, lekin koʻpincha unutiladi: izohlarga javob berish va ularni yashirish, eslatmalarni hamda post va akkaunt statistikasini oʻqish. API ustida faqat nashr emas, moderatsiya va analitika ham quriladi — SMM avtomatlashtirish sharhidagi servislardagi kabi.
Odatiy xatolar va ular nimani anglatadi
Graph API xabarlari qisqa, shuning uchun eng koʻp uchraydiganlarining tarjimasi:
- «Media type is not supported» — PNG, HEIC, WebP yoki GIF berdingiz. JPEG (foto) yoki MP4 (video) ga konvertatsiya qiling.
- «The aspect ratio is not supported» — nisbat 4:5–1.91:1 oraligʻidan tashqarida. Kesing.
- «Media URL is not accessible» — havola ochiq emas yoki redirekt qiladi. Uni inkognito rejimda oching: rasm darhol yuklanmasa, Instagram ham koʻrmaydi.
EXPIREDholati — konteyner yaratish va nashr orasida 24 soatdan koʻp oʻtgan. Qaytadan yarating.- Videoda
ERRORholati — koʻpincha kodek (VP9, WebM), 60 dan yuqori kadr chastotasi yoki 25 Mbit/s dan yuqori bitreyt. H.264, 30 fps ga qayta kodlang. - «Application request limit reached» — sutkasiga 50 post yoki chaqiruv limitiga tiraldingiz.
content_publishing_limitga qarang va kuting. - «Invalid OAuth access token» — token muddati tugagan yoki ruxsat bekor qilingan. Akkauntni qayta ulang.
Amaliyotdan misol: Toshkentdagi gul doʻkoni uch hafta davomida har ikkinchi postni «yoʻqotib» yurdi. Sabab — fotolar iPhone’dan HEIC da yuklangan, servis esa konvertatsiya oʻrniga ularni indamay tashlab yuborgan. Servisni almashtirish muammoni bir kechada hal qildi: ikkinchisi «yaxshiroq» boʻlgani uchun emas, konvertatsiya qilgani va xatoni soʻz bilan koʻrsatgani uchun.
Avtoposting servisini tanlashda chek-list
Toʻlashdan oldin berish yoki bepul tarifda tekshirish kerak boʻlgan yettita savol:
- Ulanish OAuth orqali, Instagram parolsizmi? Parol soʻrashsa — bu API emas.
- Servis HEIC/PNG ni JPEG ga oʻzi konvertatsiya qiladimi va 4:5 ga oʻzi kesadimi?
- Reels muqovasini tanlab, lentada koʻrsatishni oʻchirib boʻladimi?
- Videoli karusel va Stories qoʻllab-quvvatlanadimi?
- Alt-matn, geobelgi va hammualliflar bormi?
- Nashr yiqilsa nima boʻladi: qayta urinish, bildirishnoma, u qayerga keladi?
- 50 post limitining qoldigʻi koʻrinadimi va servis oldindan ogohlantiradimi?
Rasmiy API da ham blokga tushmaslik — qanday checkpoint’lar bor, Instagram nimani shubhali deb biladi va yangi akkauntni qanday «isitish» kerak — alohida maqola: Instagramda bansiz avtoposting.
Repost21 Instagram bilan faqat rasmiy Graph API orqali ishlaydi: foto, video, muqovali Reels, karusel va Stories. Media servis tomonida konvertatsiya qilinadi va saqlanadi, nashr xatosida Telegram-botga bildirishnoma keladi, Luna yordamchisi esa matnni tuzatib boʻlmay qolishidan oldin unga yordam beradi. Har bir maydoncha uchun aynan nima qoʻllab-quvvatlanishi — hujjatlarda, sinab koʻrish esa bepul.