আপনার কোড বা AI এজেন্ট থেকে Threads পোস্ট শিডিউল করুন: টেক্সট, ছবি, ভিডিও, সর্বোচ্চ ২০টি ছবির ক্যারোসেল এবং একাধিক পোস্টের চেইন, যা রিপ্লাই হিসেবে পাবলিশ হয়।
বেস URL https://api.so-me.studio/v1 · প্রমাণীকরণ X-API-Key · socialMedia: THREADS
এই মানগুলোর একটি postType হিসেবে পাঠান। প্রতিটি পোস্টে টেক্সট লাগবে, আর ছবি বা ভিডিও আপনার মিডিয়া লাইব্রেরি থেকে fileId দিয়ে যুক্ত করা হয়।
TEXT
শুধু টেক্সটের পোস্ট।
IMAGE
একটি ছবি।
VIDEO
একটি ভিডিও, সর্বোচ্চ ৫ মিনিট।
CAROUSEL
একটি পোস্টে ২ থেকে ২০টি ছবি।
মিডিয়া আপলোড করুন, তারপর পোস্ট তৈরি করুন। সঙ্গে সঙ্গে পাবলিশ করতে 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":"roadmap.jpg","mimetype":"image/jpeg","size":1048576}]}'
# → [{ "fileId": "…", "uploadUrl": "https://…", "fileSrc": "…", "s3Key": "…" }]আপনি যে Content-Type ঘোষণা করেছেন ঠিক সেটি দিয়ে uploadUrl-এ বাইটগুলো PUT করুন। URL-টি এক ঘণ্টা বৈধ থাকে।
curl -X PUT "$UPLOAD_URL" \
-H "Content-Type: image/jpeg" \
--upload-file ./roadmap.jpgfileId সহ 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": "THREADS",
"postType": "IMAGE",
"text": "আমাদের Q4 রোডম্যাপ এক ছবিতে। বিস্তারিত নিচে।",
"fileIds": ["<fileId>"],
"threadParts": [
{ "text": "অক্টোবর: দ্রুত এক্সপোর্ট ও নতুন ক্যালেন্ডার ভিউ।" },
{ "text": "নভেম্বর: মোবাইলে টিম অ্যাপ্রুভাল।" }
],
"scheduledAt": "2026-11-09T12:00:00Z"
}'ওয়ার্কস্পেসে একটিমাত্র Threads অ্যাকাউন্ট থাকলে accountId ঐচ্ছিক। না হলে GET /v1/accounts থেকে একটি id দিন।
fileIds দিয়ে যুক্ত ফাইলগুলো কিউতে যাওয়ার আগে নিচের Threads সীমার সাথে মিলিয়ে দেখা হয়। কোনো ফাইল নিয়ম ভাঙলে প্রতিটি ফাইলের রিপোর্টসহ 400 ফেরত আসে।
যেসব ফিল্ড Threads-এ পোস্ট কীভাবে পাবলিশ হবে তা বদলায়।
| ফিল্ড | এটি কী করে |
|---|---|
| threadParts | পরবর্তী পোস্টগুলো, প্রথমটির নিচে রিপ্লাই চেইন হিসেবে পাবলিশ হয়। সর্বোচ্চ ২৪টি অংশ, প্রতিটি ৫০০ অক্ষরের, প্রতিটিতে সর্বোচ্চ ২০টি fileId। |
| firstComment | পোস্ট লাইভ হওয়ার পর এর নিচে, অথবা চেইনের শেষ অংশের নিচে, দেওয়া একটি রিপ্লাই। সর্বোচ্চ ৫০০ অক্ষর। |
| accountId | যে Threads প্রোফাইল থেকে পোস্ট হবে। ওয়ার্কস্পেসে মাত্র একটি থাকলে ঐচ্ছিক। |
Social media studio পাবলিশ করার আগে প্রতিটি ফাইল এই সীমাগুলোর সাথে মিলিয়ে দেখে। এগুলো আমাদের কনফিগার করা সীমা, Threads-এর কোনো প্রতিশ্রুতি নয়: GET /v1/media/rules লাইভ টেবিলটি ফেরত দেয়, আর POST /v1/media/validate পোস্ট না করেই একটি ফাইল যাচাই করে।
পোস্টের ধরন TEXT
শুধু টেক্সট, মিডিয়া নেই
পোস্টের ধরন IMAGE
পোস্টের ধরন VIDEO
পোস্টের ধরন CAROUSEL
পাবলিশিং অ্যাসিনক্রোনাস। 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": "THREADS" }
}প্রতিটি ডেলিভারি X-Webhook-Signature-এ HMAC-SHA256 দিয়ে সাইন করা থাকে। post.failed শেষ রিট্রাইয়ের পরে ট্রিগার হয়; কারণটি ঠিক করে POST /v1/posts/:id/retry কল করুন। প্রথম কমেন্টের ফলাফল আলাদাভাবে post.first_comment_posted বা post.first_comment_failed দিয়ে জানানো হয়।
একই API কী ২০০+ টুলসহ একটি MCP সার্ভার এবং একটি CLI চালায়, তাই একটি এজেন্ট হাতে লেখা HTTP কল ছাড়াই Threads-এ পোস্ট করতে পারে।
আপনার API কী দিয়ে সার্ভারটি Claude, Cursor বা যেকোনো MCP ক্লায়েন্টে যোগ করুন। OAuth-ও কাজ করে। Threads-এর জন্য এজেন্ট 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 জব একটি কমান্ডেই Threads পোস্ট শিডিউল করতে পারে।
so-me posts:create --platform THREADS --post-type IMAGE \
-m ./roadmap.jpg \
-c "আমাদের Q4 রোডম্যাপ এক ছবিতে। বিস্তারিত নিচে।" \
--thread "অক্টোবর: দ্রুত এক্সপোর্ট ও নতুন ক্যালেন্ডার ভিউ।" \
-s 2026-11-09T12:00:00ZAPI, CLI ও MCP অ্যাক্সেস প্রতিটি পেইড প্ল্যানে অন্তর্ভুক্ত: Lite, Creator, Standard, Advanced ও Lifetime। প্ল্যান ও সীমা দেখুন
হ্যাঁ। প্রথম পোস্টটি text-এ আর বাকিগুলো threadParts-এ দিন। প্রতিটি অংশ আগেরটির রিপ্লাই হিসেবে পাবলিশ হয়, ফলে চেইনটি ক্রমানুসারে পড়া যায়।
২ থেকে ২০টি, প্রতিটি সর্বোচ্চ ৮ MB, সেগুলোর fileIds সহ postType CAROUSEL হিসেবে পাঠাতে হয়।
না। আপনি Social media studio ড্যাশবোর্ডে Threads-এ সাইন ইনের মাধ্যমে একবারই Threads অ্যাকাউন্ট যুক্ত করেন। এর টোকেন এনক্রিপ্ট করে সংরক্ষণ করা হয় এবং আমাদের দিকে রিফ্রেশ করা হয়, আর আপনার কোড কেবল 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 একবারের পেমেন্ট।
ট্যাব নিয়ে টানাহেঁচড়া বন্ধ করুন, একটিমাত্র ক্যালেন্ডার থেকেই ২০টি প্ল্যাটফর্মের জন্য লিখুন, সাজান ও প্রকাশ করুন।