API দিয়ে Instagram-এ পোস্ট করুন Reels, ক্যারোসেল ও Stories

আপনার ব্যাকএন্ড বা AI এজেন্ট থেকে Instagram-এর ছবি, ক্যারোসেল, Reels ও Stories শিডিউল করুন। মিডিয়া আপলোড করুন, একটি POST /v1/posts পাঠান, আর লাইভ হলে একটি সাইনড ওয়েবহুক পান।

বেস URL https://api.so-me.studio/v1 · প্রমাণীকরণ X-API-Key · socialMedia: INSTAGRAM

Instagram-এ আপনি যা পাবলিশ করতে পারেন

এই মানগুলোর একটি postType হিসেবে পাঠান। প্রতিটি পোস্টে টেক্সট লাগবে, আর ছবি বা ভিডিও আপনার মিডিয়া লাইব্রেরি থেকে fileId দিয়ে যুক্ত করা হয়।

IMAGE

ফিডে একটিমাত্র ছবি।

CAROUSEL

একটি সোয়াইপযোগ্য পোস্টে ২ থেকে ১০টি ছবি। MULTIPLE_IMAGES-ও গ্রহণ করা হয়।

REEL

একটি ভিডিও, Reel হিসেবে পাবলিশ হয়।

VIDEO

একটি ভিডিও, যা Instagram Reel হিসেবেও পাবলিশ করে। এর সাইজ-সংক্রান্ত নিয়ম REEL-এর চেয়ে শিথিল।

STORY

একটি ছবি বা ভিডিও Story হিসেবে। Instagram Stories-এ কোনো ক্যাপশন দেখায় না।

Instagram পোস্ট শিডিউল করুন

মিডিয়া আপলোড করুন, তারপর পোস্ট তৈরি করুন। সঙ্গে সঙ্গে পাবলিশ করতে scheduledAt বাদ দিন।

  1. আপলোড URL রিজার্ভ করুন

    POST /v1/media/presign-upload ফাইলটি আপনার মিডিয়া লাইব্রেরিতে যোগ করে এবং একটি fileId ও একটি প্রি-সাইনড uploadUrl ফেরত দেয়।

    আপলোড URL রিজার্ভ করুন
    curl -X POST https://api.so-me.studio/v1/media/presign-upload \
      -H "X-API-Key: $SOME_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"files":[{"filename":"launch-reel.mp4","mimetype":"video/mp4","size":48211904}]}'
    
    # → [{ "fileId": "…", "uploadUrl": "https://…", "fileSrc": "…", "s3Key": "…" }]
  2. ফাইল আপলোড করুন

    আপনি যে Content-Type ঘোষণা করেছেন ঠিক সেটি দিয়ে uploadUrl-এ বাইটগুলো PUT করুন। URL-টি এক ঘণ্টা বৈধ থাকে।

    ফাইল আপলোড করুন
    curl -X PUT "$UPLOAD_URL" \
      -H "Content-Type: video/mp4" \
      --upload-file ./launch-reel.mp4
  3. পোস্ট তৈরি করুন

    fileId সহ POST /v1/posts করুন। রেসপন্স হলো SCHEDULED স্ট্যাটাসের পোস্টটি, আর এটি scheduledAt-এ একটি কিউয়ের মাধ্যমে পাবলিশ হয়, ব্যর্থ হলে কিউটি আবার চেষ্টা করে।

    পোস্ট তৈরি করুন
    curl -X POST https://api.so-me.studio/v1/posts \
      -H "X-API-Key: $SOME_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "socialMedia": "INSTAGRAM",
        "postType": "REEL",
        "text": "লঞ্চ সপ্তাহের পর্দার আড়ালে",
        "fileIds": ["<fileId>"],
        "scheduledAt": "2026-11-03T15:00:00Z",
        "firstComment": "#লঞ্চসপ্তাহ #buildinpublic"
      }'

ওয়ার্কস্পেসে একটিমাত্র Instagram অ্যাকাউন্ট থাকলে accountId ঐচ্ছিক। না হলে GET /v1/accounts থেকে একটি id দিন।

fileIds দিয়ে যুক্ত ফাইলগুলো কিউতে যাওয়ার আগে নিচের Instagram সীমার সাথে মিলিয়ে দেখা হয়। কোনো ফাইল নিয়ম ভাঙলে প্রতিটি ফাইলের রিপোর্টসহ 400 ফেরত আসে।

Instagram অপশন

যেসব ফিল্ড Instagram-এ পোস্ট কীভাবে পাবলিশ হবে তা বদলায়।

ফিল্ডএটি কী করে
firstCommentপোস্ট লাইভ হওয়ার ঠিক পরে এর নিচে করা একটি কমেন্ট, সর্বোচ্চ ২,২০০ অক্ষর। হ্যাশট্যাগ বা লিংকের জন্য ভালো।
metaData.taggedPeopleছবি, ক্যারোসেলের ছবি ও Reels-এ ট্যাগ করার জন্য পাবলিক Instagram ইউজারনেমের একটি অ্যারে। ট্যাগিং সাধ্যমতো করা হয়: ভুল ইউজারনেম কখনো পোস্ট আটকায় না।
accountIdযে Instagram অ্যাকাউন্ট থেকে পোস্ট হবে, যেভাবে GET /v1/accounts তালিকাভুক্ত করে। ওয়ার্কস্পেসে মাত্র একটি থাকলে ঐচ্ছিক।

Instagram মিডিয়া সীমা

Social media studio পাবলিশ করার আগে প্রতিটি ফাইল এই সীমাগুলোর সাথে মিলিয়ে দেখে। এগুলো আমাদের কনফিগার করা সীমা, Instagram-এর কোনো প্রতিশ্রুতি নয়: GET /v1/media/rules লাইভ টেবিলটি ফেরত দেয়, আর POST /v1/media/validate পোস্ট না করেই একটি ফাইল যাচাই করে।

পোস্টের ধরন IMAGE

ফরম্যাট
JPEG, PNG, WebP
সর্বোচ্চ ফাইল সাইজ
8 MB
প্রতি পোস্টে ফাইল
1
ডাইমেনশন
≥ 320 px চওড়া
অ্যাসপেক্ট রেশিও
4:5 থেকে 1.91:1

পোস্টের ধরন CAROUSEL

ফরম্যাট
JPEG, PNG, WebP
সর্বোচ্চ ফাইল সাইজ
প্রতিটি 8 MB
প্রতি পোস্টে ফাইল
2–10
ডাইমেনশন
≥ 320 px চওড়া
অ্যাসপেক্ট রেশিও
4:5 থেকে 1.91:1

পোস্টের ধরন REEL

ফরম্যাট
MP4, MOV
সর্বোচ্চ ফাইল সাইজ
300 MB
প্রতি পোস্টে ফাইল
1
সর্বোচ্চ সময়কাল
15 মিনিট
ডাইমেনশন
≥ 540 × 960 px, ≤ 1920 px চওড়া
ভিডিও কোডেক
H.264, H.265
ফ্রেম রেট
≤ 60 fps

পোস্টের ধরন VIDEO

ফরম্যাট
MP4, MOV
সর্বোচ্চ ফাইল সাইজ
300 MB
প্রতি পোস্টে ফাইল
1
সর্বোচ্চ সময়কাল
15 মিনিট
ডাইমেনশন
320–1920 px চওড়া
ভিডিও কোডেক
H.264, H.265
ফ্রেম রেট
≤ 60 fps

পোস্টের ধরন STORY

ফরম্যাট
JPEG, PNG, MP4, MOV
সর্বোচ্চ ফাইল সাইজ
100 MB
প্রতি পোস্টে ফাইল
1
সর্বোচ্চ সময়কাল
60 সেকেন্ড
ডাইমেনশন
≥ 320 px চওড়া
অ্যাসপেক্ট রেশিও
1:2 থেকে 1.91:1

কখন লাইভ হলো তা জানুন

পাবলিশিং অ্যাসিনক্রোনাস। post.published ও post.failed-এ সাবস্ক্রাইব করুন, অথবা postStatus POSTED বা FAILED না হওয়া পর্যন্ত GET /v1/posts/:id পোল করুন।

একবার সাবস্ক্রাইব করুন
curl -X POST https://api.so-me.studio/v1/webhooks/subscriptions \
  -H "X-API-Key: $SOME_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/hooks/social",
    "categories": ["post"],
    "events": ["post.published", "post.failed"]
  }'

# The response includes the secret that signs every delivery.
প্রতিটি ডেলিভারি দেখতে যেমন
POST /hooks/social
X-Webhook-Event: post.published
X-Webhook-Signature: <hex HMAC-SHA256 of the raw body>

{
  "event": "post.published",
  "category": "post",
  "timestamp": "2026-11-03T15:00:07.412Z",
  "data": { "postId": "…", "platform": "INSTAGRAM" }
}

প্রতিটি ডেলিভারি X-Webhook-Signature-এ HMAC-SHA256 দিয়ে সাইন করা থাকে। post.failed শেষ রিট্রাইয়ের পরে ট্রিগার হয়; কারণটি ঠিক করে POST /v1/posts/:id/retry কল করুন। প্রথম কমেন্টের ফলাফল আলাদাভাবে post.first_comment_posted বা post.first_comment_failed দিয়ে জানানো হয়।

AI এজেন্ট বানাচ্ছেন?

একই API কী ২০০+ টুলসহ একটি MCP সার্ভার এবং একটি CLI চালায়, তাই একটি এজেন্ট হাতে লেখা HTTP কল ছাড়াই Instagram-এ পোস্ট করতে পারে।

MCP সার্ভার

আপনার API কী দিয়ে সার্ভারটি Claude, Cursor বা যেকোনো MCP ক্লায়েন্টে যোগ করুন। OAuth-ও কাজ করে। Instagram-এর জন্য এজেন্ট REST রিকোয়েস্টের একই ফিল্ড দিয়ে এই টুলগুলো কল করে:

  • presign_media_upload
  • validate_post_media
  • create_post
mcp.json
{
  "mcpServers": {
    "so-me-studio": {
      "url": "https://api.so-me.studio/mcp",
      "headers": { "X-API-Key": "sk_live_…" }
    }
  }
}

CLI

npm i -g @social-media-scheduler/cli দিয়ে ইনস্টল করুন। এটি আপনার হয়ে লোকাল ফাইল আপলোড করে এবং JSON প্রিন্ট করে, তাই একটি স্ক্রিপ্ট বা CI জব একটি কমান্ডেই Instagram পোস্ট শিডিউল করতে পারে।

so-me
so-me posts:create --platform INSTAGRAM --post-type REEL \
  -m ./launch-reel.mp4 \
  -c "লঞ্চ সপ্তাহের পর্দার আড়ালে" \
  -s 2026-11-03T15:00:00Z \
  --first-comment "#লঞ্চসপ্তাহ #buildinpublic"

API, CLI ও MCP অ্যাক্সেস প্রতিটি পেইড প্ল্যানে অন্তর্ভুক্ত: Lite, Creator, Standard, Advanced ও Lifetime। প্ল্যান ও সীমা দেখুন

আরও পড়ুন

অন্যান্য প্ল্যাটফর্মের গাইড

একটি Instagram প্রফেশনাল অ্যাকাউন্ট, Business বা Creator। Instagram অ্যাপকে পার্সোনাল অ্যাকাউন্টে পাবলিশ করতে দেয় না। অ্যাকাউন্টটি আপনি Social media studio ড্যাশবোর্ডে একবার যুক্ত করেন।

না। Instagram-এ প্রতিটি পোস্টে একটি ছবি বা ভিডিও লাগে, তাই শুধু টেক্সটের Instagram পোস্ট ব্যর্থ হয়। fileIds দিয়ে মিডিয়া যুক্ত করুন; পোস্ট কিউতে যাওয়ার আগেই মিডিয়া যাচাই হয়।

হ্যাঁ। একটি ছবি বা ভিডিও এবং একটি scheduledAt সময়সহ postType STORY পাঠান। API এখনো টেক্সট চায়, কিন্তু Instagram Stories-এ ক্যাপশন দেখায় না।

না। আপনি Social media studio ড্যাশবোর্ডে Instagram-এ সাইন ইনের মাধ্যমে একবারই Instagram অ্যাকাউন্ট যুক্ত করেন। এর টোকেন এনক্রিপ্ট করে সংরক্ষণ করা হয় এবং আমাদের দিকে রিফ্রেশ করা হয়, আর আপনার কোড কেবল X-API-Key হেডারে আপনার Social media studio API কী পাঠায়।

না। পোস্ট কিউতে ঢোকামাত্রই এটি ফেরত আসে। পাবলিশিং এমন একটি ওয়ার্কারে চলে যা ব্যর্থ হলে আবার চেষ্টা করে, তাই post.published ও post.failed শুনুন, অথবা GET /v1/posts/:id পোল করুন।

REST API, CLI ও MCP সার্ভার প্রতিটি পেইড প্ল্যানে অন্তর্ভুক্ত: Lite, Creator, Standard, Advanced ও Lifetime। Lite, Creator, Standard ও Advanced ৭ দিনের ট্রায়াল দিয়ে শুরু হয় (কার্ড প্রয়োজন), আর Lifetime একবারের পেমেন্ট।

একবার শিডিউল করুন।
সবখানে পোস্ট করুন।

ট্যাব নিয়ে টানাহেঁচড়া বন্ধ করুন, একটিমাত্র ক্যালেন্ডার থেকেই ২০টি প্ল্যাটফর্মের জন্য লিখুন, সাজান ও প্রকাশ করুন।

API দিয়ে Instagram-এ পোস্ট: Reels, ক্যারোসেল ও Stories