Skip to main content

an automated, selenium based tiktok video uploader.

Project description

True_Tiktok_Uploader

A Python-based automation tool for uploading videos to TikTok using Selenium.

This project lets you upload a chosen video with a customisable description by using your browser cookies - meaning no input on the browser whatsoever.

A lot of this work is based on this tiktok-uploader which is currently non-functional.

Features

  • Automated TikTok video uploads
  • Support for multiple video formats (.mp4, .mov, .avi, and more)
  • Customisable video description (caption) with support for #hashtags and @mentions
  • Fully automated authentication using cookies (meaning no need for manual login!)
  • Headless mode support for background execution

Installation

Requirements

  • Python 3.12+ (probably compatible with older versions too tbh)
  • Google Chrome
  • Compatible version of the ChromeDriver (This should be automatically installed with Chrome)

Actually Installing

This package is available on PyPI, and can be installed by running:

pip install True-Tiktok-Uploader

Alternatively, it can be manually installed by cloning the git repository:

git clone https://github.com/TrueGIXERJ/True_Tiktok_Uploader.git

Usage

The library revolves around the upload_video function which takes the file and caption and uploads to TikTok.

Authentication

To upload a video, first you will need your browser cookies - this enables automatic authentication without a username & password, meaning the process is entirely hands free - as well as bypassing TikTok's regulation on authentication by Selenium controlled browsers. Really, all you need is your sessionid, but for this usage we will use all of your cookies to trick TikTok into believing that the Selenium browser is a real person.

Use Get cookies.txt to export your browsing cookies.

After installing, open the extensions menu on TikTok.com and click Get cookies.txt to reveal your cookies. Select Export As ⇩ and specify a name and location.

Then, pass the cookies to the upload_video function like so: upload_video(..., cookies='cookies.txt')

Example Usage

from True_Tiktok_Uploader.upload import upload_video  

upload_video(
    filename="video.mp4",
    description="Check out this cool new video! #fyp @truegixerj",
    cookies="cookies.txt",
    headless=False
)

A headless mode is also supported, enabling background operation, simply set headless=True. @Mentions and #Hashtags are supported, but you should verify that the user/hashtag exists.

Licence

This project is licensed under the GNU General Public License v3.0. See the LICENCE file for details.

Contribution and Questions

Contributions to the project are welcome with fixes and improvements - I will aim to keep on top of any updates to the TikTok platform, as UI updates could potentially break it. If you have any suggestions or improvements, feel free to submit a pull request or open an issue on GitHub. Or just come and shout at me loudly on my personal Discord.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

true_tiktok_uploader-2026.1.7.2.tar.gz (18.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

true_tiktok_uploader-2026.1.7.2-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file true_tiktok_uploader-2026.1.7.2.tar.gz.

File metadata

File hashes

Hashes for true_tiktok_uploader-2026.1.7.2.tar.gz
Algorithm Hash digest
SHA256 9af72872281688a97e8605574d51dbf5932faa9fb9a6998123167b5dad52e015
MD5 d2fb00aa24778bdaab5c364264e3b644
BLAKE2b-256 ee54ac01f7342fb22f94a56dbaa029d2c80b19362fde3bd00da1a25d554baf4f

See more details on using hashes here.

File details

Details for the file true_tiktok_uploader-2026.1.7.2-py3-none-any.whl.

File metadata

File hashes

Hashes for true_tiktok_uploader-2026.1.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a224018cbe14fa443824eb69f9605ffdcba31d2bb7ff97a357acd5bcbbb7b751
MD5 1d1fdc5965fa1161d7308dc1a03d5242
BLAKE2b-256 539a541f56db2e908ad3250319aa4587b57db528aeb2c5f8f9dfc7ccdb4e767a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page