আপনার কোড বা AI এজেন্ট থেকে TikTok ভিডিও ও ফটো ক্যারোসেল আপলোড ও শিডিউল করুন, সঙ্গে প্রতিটি পোস্টে TikTok যে প্রাইভেসি লেভেল এবং কমেন্ট, ডুয়েট ও স্টিচ সেটিংস চায় তা।
বেস URL https://api.so-me.studio/v1 · প্রমাণীকরণ X-API-Key · socialMedia: TIKTOK
এই মানগুলোর একটি postType হিসেবে পাঠান। প্রতিটি পোস্টে টেক্সট লাগবে, আর ছবি বা ভিডিও আপনার মিডিয়া লাইব্রেরি থেকে fileId দিয়ে যুক্ত করা হয়।
VIDEO
একটি ভিডিও।
IMAGE
একটি ছবি, TikTok ফটো পোস্ট হিসেবে পাবলিশ হয়।
MULTIPLE_IMAGES
সোয়াইপযোগ্য ফটো ক্যারোসেল।
মিডিয়া আপলোড করুন, তারপর পোস্ট তৈরি করুন। সঙ্গে সঙ্গে পাবলিশ করতে scheduledAt বাদ দিন।
প্রতিটি ক্রিয়েটর কোন প্রাইভেসি লেভেল ব্যবহার করতে পারবেন তা TikTok ঠিক করে। আগে সেগুলো পড়ুন, তারপর ব্যবহারকারীকে একটি বেছে নিতে দিন।
curl https://api.so-me.studio/v1/accounts/<account-uuid>/tiktok/creator-info \
-H "X-API-Key: $SOME_API_KEY"
# → { "privacyLevelOptions": ["PUBLIC_TO_EVERYONE", "SELF_ONLY", …],
# "commentDisabled": false, "duetDisabled": false, … }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":"editing-tips.mp4","mimetype":"video/mp4","size":31457280}]}'
# → [{ "fileId": "…", "uploadUrl": "https://…", "fileSrc": "…", "s3Key": "…" }]আপনি যে Content-Type ঘোষণা করেছেন ঠিক সেটি দিয়ে uploadUrl-এ বাইটগুলো PUT করুন। URL-টি এক ঘণ্টা বৈধ থাকে।
curl -X PUT "$UPLOAD_URL" \
-H "Content-Type: video/mp4" \
--upload-file ./editing-tips.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": "TIKTOK",
"postType": "VIDEO",
"text": "৩০ সেকেন্ডে ৩টি এডিটিং ট্রিক #এডিটিংটিপস",
"fileIds": ["<fileId>"],
"scheduledAt": "2026-11-05T18:00:00Z",
"tiktok": {
"privacyLevel": "PUBLIC_TO_EVERYONE",
"allowComments": true,
"allowDuet": false,
"allowStitch": true
}
}'ওয়ার্কস্পেসে একটিমাত্র TikTok অ্যাকাউন্ট থাকলে accountId ঐচ্ছিক। না হলে GET /v1/accounts থেকে একটি id দিন।
fileIds দিয়ে যুক্ত ফাইলগুলো কিউতে যাওয়ার আগে নিচের TikTok সীমার সাথে মিলিয়ে দেখা হয়। কোনো ফাইল নিয়ম ভাঙলে প্রতিটি ফাইলের রিপোর্টসহ 400 ফেরত আসে।
যেসব ফিল্ড TikTok-এ পোস্ট কীভাবে পাবলিশ হবে তা বদলায়।
| ফিল্ড | এটি কী করে |
|---|---|
| tiktok.privacyLevel | আবশ্যক। PUBLIC_TO_EVERYONE, MUTUAL_FOLLOW_FRIENDS, FOLLOWER_OF_CREATOR বা SELF_ONLY, তবে ক্রিয়েটর ইনফোতে তালিকাভুক্ত লেভেলের মধ্যে সীমাবদ্ধ। এটি ছাড়া পোস্ট করলে 400 TIKTOK_PRIVACY_LEVEL_REQUIRED ফেরত আসে। |
| tiktok.allowComments | দর্শকেরা কমেন্ট করতে পারবেন কি না, ডিফল্টে true। ক্রিয়েটর কমেন্ট নিষ্ক্রিয় করে রাখলে একটি সতর্কবার্তাসহ এটি বন্ধ হয়ে যায়। |
| tiktok.allowDuet · tiktok.allowStitch | দর্শকেরা ভিডিওটি ডুয়েট বা স্টিচ করতে পারবেন কি না, ডিফল্টে true। শুধু ভিডিওর ক্ষেত্রে। |
| tiktok.brandContentToggle · tiktok.brandOrganicToggle | ডিসক্লোজার ফ্ল্যাগ: brandContentToggle পেইড পার্টনারশিপ চিহ্নিত করে, brandOrganicToggle নিজের ব্যবসার প্রচার চিহ্নিত করে। দুটিই ডিফল্টে false। |
| GET /v1/accounts/:id/tiktok/creator-info | অনুমোদিত প্রাইভেসি লেভেল, ক্রিয়েটরের কমেন্ট, ডুয়েট ও স্টিচ সেটিংস এবং তিনি সর্বোচ্চ যত দীর্ঘ ভিডিও পোস্ট করতে পারেন তা ফেরত দেয়। দশ মিনিট ক্যাশ করা থাকে। |
Social media studio পাবলিশ করার আগে প্রতিটি ফাইল এই সীমাগুলোর সাথে মিলিয়ে দেখে। এগুলো আমাদের কনফিগার করা সীমা, TikTok-এর কোনো প্রতিশ্রুতি নয়: GET /v1/media/rules লাইভ টেবিলটি ফেরত দেয়, আর POST /v1/media/validate পোস্ট না করেই একটি ফাইল যাচাই করে।
পোস্টের ধরন VIDEO
পোস্টের ধরন IMAGE
পোস্টের ধরন MULTIPLE_IMAGES
পাবলিশিং অ্যাসিনক্রোনাস। 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": "TIKTOK" }
}প্রতিটি ডেলিভারি X-Webhook-Signature-এ HMAC-SHA256 দিয়ে সাইন করা থাকে। post.failed শেষ রিট্রাইয়ের পরে ট্রিগার হয়; কারণটি ঠিক করে POST /v1/posts/:id/retry কল করুন। প্রথম কমেন্টের ফলাফল আলাদাভাবে post.first_comment_posted বা post.first_comment_failed দিয়ে জানানো হয়।
একই API কী ২০০+ টুলসহ একটি MCP সার্ভার এবং একটি CLI চালায়, তাই একটি এজেন্ট হাতে লেখা HTTP কল ছাড়াই TikTok-এ পোস্ট করতে পারে।
আপনার API কী দিয়ে সার্ভারটি Claude, Cursor বা যেকোনো MCP ক্লায়েন্টে যোগ করুন। OAuth-ও কাজ করে। TikTok-এর জন্য এজেন্ট 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 জব একটি কমান্ডেই TikTok পোস্ট শিডিউল করতে পারে।
so-me posts:create --platform TIKTOK --post-type VIDEO \
-m ./editing-tips.mp4 \
-c "৩০ সেকেন্ডে ৩টি এডিটিং ট্রিক #এডিটিংটিপস" \
-s 2026-11-05T18:00:00Z \
--tiktok-privacy PUBLIC_TO_EVERYONE --no-tiktok-allow-duetAPI, CLI ও MCP অ্যাক্সেস প্রতিটি পেইড প্ল্যানে অন্তর্ভুক্ত: Lite, Creator, Standard, Advanced ও Lifetime। প্ল্যান ও সীমা দেখুন
TikTok Content Posting API প্রাইভেসি লেভেল ছাড়া পোস্ট প্রত্যাখ্যান করে, আর কেবল সেই ক্রিয়েটরের জন্য অনুমোদিত লেভেলই বৈধ। creator-info রুট থেকে লেভেলগুলো পড়ুন, ব্যবহারকারীকে বেছে নিতে দিন, তারপর tiktok.privacyLevel পাঠান।
হ্যাঁ। দুই বা তার বেশি ছবিসহ postType MULTIPLE_IMAGES পাঠান, আর একটিমাত্র ছবির জন্য IMAGE। ১০৮০p-এর চেয়ে বড় ছবি পাবলিশের সময় রিসাইজ করে JPEG হিসেবে সংরক্ষণ করা হয়, তাই বড় অরিজিনাল ফাইলেও সমস্যা নেই।
TikTok পোস্টটি প্রসেস করে পাবলিক করার পর। TikTok অ্যাসিনক্রোনাসভাবে পাবলিশ করে, তাই পোস্টে প্রথমে TikTok পাবলিশ id থাকে এবং চূড়ান্ত লিংক পরে বসানো হয়।
না। আপনি Social media studio ড্যাশবোর্ডে TikTok-এ সাইন ইনের মাধ্যমে একবারই TikTok অ্যাকাউন্ট যুক্ত করেন। এর টোকেন এনক্রিপ্ট করে সংরক্ষণ করা হয় এবং আমাদের দিকে রিফ্রেশ করা হয়, আর আপনার কোড কেবল 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 একবারের পেমেন্ট।
ট্যাব নিয়ে টানাহেঁচড়া বন্ধ করুন, একটিমাত্র ক্যালেন্ডার থেকেই ২০টি প্ল্যাটফর্মের জন্য লিখুন, সাজান ও প্রকাশ করুন।