Models and APIs ยท by DeepSeek
DeepSeek
Use Social Studio with DeepSeek
DeepSeek's API is OpenAI-compatible, so you can hand a DeepSeek model the Social Studio tools as functions and execute its calls against our REST endpoints.
DeepSeek
Asks for ideas and drafts
Social tools
MCP or HTTP, one API key
You approve
Review link, then Publish
Your feeds
TikTok, Reels, Threads, Bluesky
The one rule
An agent prepares and a person publishes. DeepSeek can create drafts, but it cannot publish to TikTok, and it cannot approve anything on your behalf. You open the review link, check the post and click Publish.
What DeepSeek can do
Check the rules
Limits and approval rules for a network, before you make the video
social_get_requirementsGenerate ideas
Video ideas with hook, script, video prompt, caption and hashtags
social_generate_ideasImport a video
Host a video from a link in your own storage
social_import_videoUpload a file
Upload a video file directly
social_get_upload_urlCreate a draft
Create a post draft. TikTok drafts come with a review link for you
social_create_draftList your posts
Your posts and their status
social_list_postsTrack status
One post: processing, published (with link) or failed (with the reason)
social_get_post_status
Set it up
- 1
Create a Creative Tim API key
Create one here. It starts with
sk-ct-. Keep it in your client's secret settings, never in a prompt. - 2
- 3
Connect DeepSeek
Pick one. Function calling is the recommended way for DeepSeek.
Give DeepSeek the tools as functions
RecommendedTypeScript// The model API is OpenAI-compatible; the tools are plain HTTP. import OpenAI from "openai" const llm = new OpenAI({ baseURL: "https://api.deepseek.com", apiKey: process.env.DEEPSEEK_API_KEY }) const spec = await (await fetch("https://www.creative-tim.com/ui/api/social/openapi.json")).json() // Each OpenAPI operation becomes one function the model can call. const tools = Object.entries(spec.paths).map(([path, op]: [string, any]) => ({ type: "function" as const, function: { name: op.post.operationId, description: op.post.description, parameters: op.post.requestBody.content["application/json"].schema, }, })) const messages: any[] = [{ role: "user", content: "Make 3 TikTok ideas about home coffee, then draft the first one." }] for (;;) { const res = await llm.chat.completions.create({ model: "deepseek-chat", messages, tools }) const msg = res.choices[0].message messages.push(msg) if (!msg.tool_calls?.length) break for (const call of msg.tool_calls) { const out = await fetch(`https://www.creative-tim.com/ui/api/social/tools/${call.function.name}`, { method: "POST", headers: { Authorization: `Bearer ${process.env.CREATIVE_TIM_API_KEY}`, "Content-Type": "application/json" }, body: call.function.arguments, }) messages.push({ role: "tool", tool_call_id: call.id, content: await out.text() }) } } console.log(messages.at(-1).content)- Keep your Creative Tim key in CREATIVE_TIM_API_KEY, never in the prompt.
- Return the whole assistant message (including its reasoning fields) to the model on the next turn, as the model's API requires.
Connect any MCP client
Option 2- 1In your agent's MCP or tools settings, add a remote server with the URL above.
- 2Send your key as a Bearer token in the Authorization header.
- 3If the client only supports local (stdio) servers, bridge it with: npx -y mcp-remote https://www.creative-tim.com/ui/api/mcp --header "Authorization:Bearer sk-ct-YOUR_KEY"
SettingsURL: https://www.creative-tim.com/ui/api/mcp Transport: Streamable HTTP (stateless, JSON responses) Authorization: Bearer sk-ct-YOUR_KEY
Try it
Paste this into DeepSeek and fill in the blanks:
Use the Creative Tim social tools. First check the requirements for TikTok. Then give me 5 video ideas for <my niche>. For the one I pick, import this video <video URL>, and create a TikTok draft with the caption. Give me the review link.- Step 1
DeepSeek tells you the draft is waiting and gives you a link.
- Step 2
Open it, review the post, publish.
- Step 3
Posts then show their status (processing, published with a link, or failed with TikTok's own reason) in the Social Studio.
Questions
Can DeepSeek publish to TikTok for me?
No. DeepSeek can create a draft with the video and caption and give you a review link. You open it, check the settings TikTok allows for your account, and click Publish. TikTok requires the creator to approve each post, so no agent can do it for you.
Which networks can DeepSeek prepare posts for?
TikTok, Instagram Reels, Threads and Bluesky. For networks other than TikTok, your own copilot or autopilot setting decides whether a draft waits for your approval or is scheduled directly.
What does it cost?
Posting and drafting are free. Generating ideas or video in Creative Tim uses credits from your plan.
Where does my API key go?
In the client's secret or header settings, never in a prompt. You can create and revoke keys on the API Keys page at any time.
Other agents
Kimi K3
Moonshot AI
Run an agentic social workflow on Kimi K3 with function calling and our REST tools.
Function calling~10 min setupSetup guideMuse
Meta
Use Social Studio from a Muse-based agent over MCP or plain HTTP.
HTTP / curl~5 min setupSetup guide