আপনার কোড বা AI এজেন্ট থেকে আপনার ম্যানেজ করা Facebook Page-এ টেক্সট, ছবি, ভিডিও, Reels ও Stories শিডিউল করুন, একটিমাত্র API কী দিয়ে, নিজের কোনো Meta অ্যাপ ছাড়াই।
বেস URL https://api.so-me.studio/v1 · প্রমাণীকরণ X-API-Key · socialMedia: FACEBOOK
এই মানগুলোর একটি postType হিসেবে পাঠান। প্রতিটি পোস্টে টেক্সট লাগবে, আর ছবি বা ভিডিও আপনার মিডিয়া লাইব্রেরি থেকে fileId দিয়ে যুক্ত করা হয়।
TEXT
শুধু টেক্সটের Page পোস্ট।
IMAGE
একটি ছবি।
MULTIPLE_IMAGES
একটি পোস্টে ২ থেকে ১০টি ছবি। CAROUSEL-ও গ্রহণ করা হয়।
VIDEO
একটি ভিডিও, সর্বোচ্চ ৪ ঘণ্টা।
REEL
একটি ভার্টিকাল ভিডিও Reel হিসেবে, সর্বোচ্চ ৯০ সেকেন্ড।
STORY
একটি ছবি বা ভিডিও Page Story হিসেবে।
মিডিয়া আপলোড করুন, তারপর পোস্ট তৈরি করুন। সঙ্গে সঙ্গে পাবলিশ করতে scheduledAt বাদ দিন।
POST /v1/media/presign-upload ফাইলটি আপনার মিডিয়া লাইব্রেরিতে যোগ করে এবং একটি fileId ও একটি প্রি-সাইনড uploadUrl ফেরত দেয়।
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":"store-tour.mp4","mimetype":"video/mp4","size":26214400}]}'
# → [{ "fileId": "…", "uploadUrl": "https://…", "fileSrc": "…", "s3Key": "…" }]আপনি যে Content-Type ঘোষণা করেছেন ঠিক সেটি দিয়ে uploadUrl-এ বাইটগুলো PUT করুন। URL-টি এক ঘণ্টা বৈধ থাকে।
curl -X PUT "$UPLOAD_URL" \
-H "Content-Type: video/mp4" \
--upload-file ./store-tour.mp4fileId সহ 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": "FACEBOOK",
"postType": "REEL",
"text": "আমাদের নতুন দোকান শনিবার খুলছে। ভেতরের প্রথম ঝলক।",
"fileIds": ["<fileId>"],
"scheduledAt": "2026-11-07T10:00:00Z",
"firstComment": "দিকনির্দেশনা ও খোলার সময়: https://example.com/store"
}'ওয়ার্কস্পেসে একটিমাত্র Facebook অ্যাকাউন্ট থাকলে accountId ঐচ্ছিক। না হলে GET /v1/accounts থেকে একটি id দিন।
fileIds দিয়ে যুক্ত ফাইলগুলো কিউতে যাওয়ার আগে নিচের Facebook সীমার সাথে মিলিয়ে দেখা হয়। কোনো ফাইল নিয়ম ভাঙলে প্রতিটি ফাইলের রিপোর্টসহ 400 ফেরত আসে।
যেসব ফিল্ড Facebook-এ পোস্ট কীভাবে পাবলিশ হবে তা বদলায়।
| ফিল্ড | এটি কী করে |
|---|---|
| accountId | যে Page-এ পোস্ট হবে, যেভাবে GET /v1/accounts তালিকাভুক্ত করে। মাত্র একটি Page যুক্ত থাকলে ঐচ্ছিক। |
| firstComment | পোস্ট লাইভ হওয়ার পর এর নিচে করা একটি কমেন্ট, সর্বোচ্চ ৮,০০০ অক্ষর। ভিডিও ও Reels-এর ক্ষেত্রে Facebook প্রসেসিং শেষ না করা পর্যন্ত এটি অপেক্ষা করে। |
Social media studio পাবলিশ করার আগে প্রতিটি ফাইল এই সীমাগুলোর সাথে মিলিয়ে দেখে। এগুলো আমাদের কনফিগার করা সীমা, Facebook-এর কোনো প্রতিশ্রুতি নয়: GET /v1/media/rules লাইভ টেবিলটি ফেরত দেয়, আর POST /v1/media/validate পোস্ট না করেই একটি ফাইল যাচাই করে।
পোস্টের ধরন TEXT
শুধু টেক্সট, মিডিয়া নেই
পোস্টের ধরন IMAGE
পোস্টের ধরন MULTIPLE_IMAGES
পোস্টের ধরন VIDEO
পোস্টের ধরন REEL
পোস্টের ধরন STORY
পাবলিশিং অ্যাসিনক্রোনাস। 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": "FACEBOOK" }
}প্রতিটি ডেলিভারি X-Webhook-Signature-এ HMAC-SHA256 দিয়ে সাইন করা থাকে। post.failed শেষ রিট্রাইয়ের পরে ট্রিগার হয়; কারণটি ঠিক করে POST /v1/posts/:id/retry কল করুন। প্রথম কমেন্টের ফলাফল আলাদাভাবে post.first_comment_posted বা post.first_comment_failed দিয়ে জানানো হয়।
একই API কী ২০০+ টুলসহ একটি MCP সার্ভার এবং একটি CLI চালায়, তাই একটি এজেন্ট হাতে লেখা HTTP কল ছাড়াই Facebook-এ পোস্ট করতে পারে।
আপনার API কী দিয়ে সার্ভারটি Claude, Cursor বা যেকোনো MCP ক্লায়েন্টে যোগ করুন। OAuth-ও কাজ করে। Facebook-এর জন্য এজেন্ট REST রিকোয়েস্টের একই ফিল্ড দিয়ে এই টুলগুলো কল করে:
{
"mcpServers": {
"so-me-studio": {
"url": "https://api.so-me.studio/mcp",
"headers": { "X-API-Key": "sk_live_…" }
}
}
}npm i -g @social-media-scheduler/cli দিয়ে ইনস্টল করুন। এটি আপনার হয়ে লোকাল ফাইল আপলোড করে এবং JSON প্রিন্ট করে, তাই একটি স্ক্রিপ্ট বা CI জব একটি কমান্ডেই Facebook পোস্ট শিডিউল করতে পারে।
so-me posts:create --platform FACEBOOK --post-type REEL \
-m ./store-tour.mp4 \
-c "আমাদের নতুন দোকান শনিবার খুলছে। ভেতরের প্রথম ঝলক।" \
-s 2026-11-07T10:00:00ZAPI, CLI ও MCP অ্যাক্সেস প্রতিটি পেইড প্ল্যানে অন্তর্ভুক্ত: Lite, Creator, Standard, Advanced ও Lifetime। প্ল্যান ও সীমা দেখুন
না। Facebook API ব্যক্তিগত প্রোফাইলে নয়, Page-এ পাবলিশ করে, তাই Social media studio আপনার ম্যানেজ করা Page-এ পোস্ট করে।
কমপক্ষে ৫৪০ × ৯৬০ px আকারের এবং সর্বোচ্চ ৯০ সেকেন্ডের একটি ভার্টিকাল ৯:১৬ ভিডিও আপলোড করুন, তারপর সেটির fileId ও একটি scheduledAt সময়সহ postType REEL পাঠান।
না। আপনি Social media studio ড্যাশবোর্ডে Facebook-এ সাইন ইনের মাধ্যমে একবারই Facebook অ্যাকাউন্ট যুক্ত করেন। এর টোকেন এনক্রিপ্ট করে সংরক্ষণ করা হয় এবং আমাদের দিকে রিফ্রেশ করা হয়, আর আপনার কোড কেবল 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 একবারের পেমেন্ট।
ট্যাব নিয়ে টানাহেঁচড়া বন্ধ করুন, একটিমাত্র ক্যালেন্ডার থেকেই ২০টি প্ল্যাটফর্মের জন্য লিখুন, সাজান ও প্রকাশ করুন।