Tiktok

Learn how to use Tiktok with Composio

Overview

SLUG: TIKTOK

Description

TikTok short-form video platform + creation tools + social sharing

Authentication Details

client_id
stringRequired
client_secret
stringRequired
oauth_redirect_uri
stringDefaults to https://backend.composio.dev/api/v1/auth-apps/add
scopes
stringDefaults to user.info.basic,user.info.profile,user.info.stats,video.list,video.upload,video.publish
bearer_token
string
token
stringRequired

Connecting to Tiktok

Create an auth config

Use the dashboard to create an auth config for the Tiktok toolkit. This allows you to connect multiple Tiktok accounts to Composio for agents to use.

1

Select App

Navigate to Tiktok.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Tiktok Auth Config”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using OAuth2

1from composio import Composio
2
3# Replace these with your actual values
4tiktok_auth_config_id = "ac_YOUR_TIKTOK_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/application
6
7composio = Composio()
8
9
10def authenticate_toolkit(user_id: str, auth_config_id: str):
11 connection_request = composio.connected_accounts.initiate(
12 user_id=user_id,
13 auth_config_id=auth_config_id,
14 )
15
16 print(
17 f"Visit this URL to authenticate Tiktok: {connection_request.redirect_url}"
18 )
19
20 # This will wait for the auth flow to be completed
21 connection_request.wait_for_connection(timeout=15)
22 return connection_request.id
23
24
25connection_id = authenticate_toolkit(user_id, tiktok_auth_config_id)
26
27# You can also verify the connection status using:
28connected_account = composio.connected_accounts.get(connection_id)
29print(f"Connected account: {connected_account}")

Using Bearer Token

1from composio import Composio
2
3# Auth config ID created above
4tiktok_auth_config_id = "ac_YOUR_TIKTOK_CONFIG_ID"
5
6# UUID from database/application
7user_id = "0000-0000-0000"
8
9composio = Composio()
10
11
12def authenticate_toolkit(user_id: str, auth_config_id: str):
13 # Replace this with a method to retrieve the Bearer Token from the user.
14 bearer_token = input("[!] Enter bearer token")
15 connection_request = composio.connected_accounts.initiate(
16 user_id=user_id,
17 auth_config_id=auth_config_id,
18 config={"auth_scheme": "BEARER_TOKEN", "val": bearer_token}
19 )
20 print(f"Successfully connected Tiktok for user {user_id}")
21 print(f"Connection status: {connection_request.status}")
22
23 return connection_request.id
24
25
26connection_id = authenticate_toolkit(user_id, tiktok_auth_config_id)
27
28# You can verify the connection using:
29connected_account = composio.connected_accounts.get(connection_id)
30print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Tiktok toolkit’s playground

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["TIKTOK"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Post photo

Description

Create a photo post via content posting api (direct post or media upload). reference: https://developers.tiktok.com/doc/content-posting-api-reference-photo-post?enter method=left navigation

Action Parameters

auto_add_music
boolean
brand_content_toggle
boolean
brand_organic_toggle
boolean
description
string
disable_comment
boolean
photo_cover_index
integerRequired
photo_images
arrayRequired
post_mode
stringDefaults to MEDIA_UPLOAD
privacy_level
string
title
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Publish video

Description

Finalize and publish a video from the inbox using its publish id.

Action Parameters

caption
string
publish_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Upload video

Description

Uploads a video to tiktok via the content posting api (init + single-part upload). this action initializes an upload session to obtain a presigned upload url, then uploads the entire file with a single put request. use a subsequent action to publish the post.

Action Parameters

caption
string
chunk_size_bytes
integerDefaults to 5242880
file_to_upload
objectRequired
publish
boolean

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Upload videos (batch)

Description

Uploads multiple videos to tiktok concurrently (init + single-part upload per file).

Action Parameters

caption
string
chunk_size_bytes
integerDefaults to 5242880
files_to_upload
array
max_workers
integerDefaults to 4
publish
boolean

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Fetch publish status

Description

Fetch current publish/upload status for a given publish id.

Action Parameters

publish_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get user basic info

Description

Fetches basic tiktok user info for the authenticated user.

Action Parameters

fields
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get user profile info

Description

Fetches extended tiktok profile info for the authenticated user.

Action Parameters

fields
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get user stats

Description

Fetches tiktok user stats for the authenticated user.

Action Parameters

fields
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List videos

Description

Lists videos for the authenticated user (or specified creator).

Action Parameters

creator_id
string
cursor
string
max_count
integerDefaults to 20

Action Response

data
objectRequired
error
string
successful
booleanRequired