Hướng dẫn

How to Schedule TikTok Posts with an API

Consistency is what grows TikTok accounts. But manually posting at 6 AM because that is when your audience is active is not a sustainable strategy. With the Upload-Post social media posting API, you can batch-schedule an entire week of TikTok content in a few minutes and let the system publish at the right times for you.

Lên lịch một bài đăng TikTok vào một thời điểm cụ thể

The most direct approach is to set an exact publish date. Add the scheduled_date parameter (ISO-8601 format) and a timezone (IANA format) to your upload request. The API accepts dates up to 365 days in the future.

Here is a cURL example that schedules a TikTok video for September 22 at 10:00 AM New York time, with privacy set to public and duets disabled:

curl -X POST https://api.upload-post.com/api/upload \
  -H "Ủy quyền: Apikey your-api-key-here" \
  -F "[email protected]" \
  -F "user=mybrand" \
  -F "title=Morning routine that changed everything #fyp #routine" \
  -F "platform[]=tiktok" \
  -F "scheduled_date=2025-09-22T10:00:00Z" \
  -F "timezone=America/New_York" \
  -F "privacy_level=PUBLIC" \
  -F "disable_duet=false" \
  -F "disable_comment=false" \
  -F "disable_stitch=false"

When the post is successfully scheduled, the API responds with a 202 status code and a job_id:

{
  "success": true,
  "job_id": "scheduler_job_abc123",
  "scheduled_date": "2025-09-22T10:00:00Z"
}

Save that job_id. You will need it to edit, reschedule, or cancel the post later. You can also list all your pending scheduled posts at any time:

curl https://api.upload-post.com/api/uploadposts/schedule \
  -H "Ủy quyền: Apikey your-api-key-here"

This returns an array of all pending jobs with their job_id, scheduled_date, platform details, and a preview URL of the content. For a deeper look at scheduling across all platforms, see the general scheduling guide.

Sử dụng hàng đợi cho việc lên lịch không cần tay

Picking exact dates works when you have a few posts. But if you are batch-producing content, manually choosing a time for each video gets tedious fast. The queue system solves this. You define your preferred posting schedule once, and then every piece of content you add automatically gets assigned to the next available slot.

Cấu hình lịch trình hàng đợi của bạn

First, tell the system when you want content to go out. This example sets up three slots per day, Monday through Friday, in the New York timezone:

curl -X POST https://api.upload-post.com/api/uploadposts/queue/settings \
  -H "Ủy quyền: Apikey your-api-key-here" \
  -H "Loại nội dung: application/json" \
  -d '{
    "timezone": "America/New_York",
    "slots": [
      { "hour": 8, "minute": 0 },
      { "hour": 12, "minute": 30 },
      { "hour": 18, "minute": 0 }
    ],
    "days": [0, 1, 2, 3, 4]
  }'

This gives you 15 TikTok slots per week: 8:00 AM, 12:30 PM, and 6:00 PM, Monday through Friday. You can define up to 24 slots per day and include weekends by adding days 5 and 6.

Thêm nội dung vào hàng đợi

Now, instead of passing a scheduled_date, set add_to_queue=true. The system fills the next open slot automatically:

curl -X POST https://api.upload-post.com/api/upload \
  -H "Ủy quyền: Apikey your-api-key-here" \
  -F "[email protected]" \
  -F "user=mybrand" \
  -F "title=POV: you finally automated your TikTok posting #devlife" \
  -F "platform[]=tiktok" \
  -F "add_to_queue=true" \
  -F "privacy_level=PUBLIC"

If it is Wednesday at 2 PM, this video gets slotted for 6:00 PM the same day. If all Wednesday slots are full, it moves to Thursday at 8:00 AM. You can preview upcoming available slots before adding content:

curl https://api.upload-post.com/api/uploadposts/queue/preview?count=10 \
  -H "Ủy quyền: Apikey your-api-key-here"

This returns the next 10 available slots with their exact dates and times, so you know exactly when each queued post will go live.

Cài đặt cụ thể của TikTok mà bạn nên biết

TikTok\'s API exposes several parameters that other platforms do not have. Some are optional, but a few are legally required in certain situations. Here is the full reference:

Tham số Giá trị Mô tả
privacy_level "CÔNG KHAI", "FRIENDS", "PRIVATE" Kiểm soát ai có thể xem video. Mặc định theo cài đặt tài khoản TikTok của bạn nếu không được chỉ định.
disable_duet true / false Ngăn chặn người dùng khác tạo duet với video của bạn.
disable_comment true / false Tắt bình luận trên video.
disable_stitch true / false Ngăn chặn người dùng khác ghép video của bạn vào video của họ.
brand_content_toggle true / false Đánh dấu video là một quan hệ đối tác trả phí. Yêu cầu bởi quy định của FTC và EU khi quảng bá một thương hiệu mà bạn được trả tiền để quảng cáo.
brand_organic_toggle true / false Đánh dấu video là quảng bá doanh nghiệp của bạn. Sử dụng điều này khi nội dung liên quan đến sản phẩm hoặc dịch vụ của bạn, không phải là tài trợ của bên thứ ba.
is_aigc true / false Tiết lộ rằng nội dung được tạo ra hoặc chỉnh sửa đáng kể bởi AI. TikTok có thể gán nhãn cho nó tương ứng cho người xem.
tiktok_title string Platform-specific title/caption. Useful when your TikTok caption differs from the main title field sent to other platforms.
cover_timestamp integer (ms) Chọn khung video tại mili giây này để sử dụng làm hình thu nhỏ. Ví dụ, 5000 chọn khung tại dấu 5 giây.
post_mode "DRAFT", "PUBLISH" Đặt thành "DRAFT" để tải lên video dưới dạng bản nháp trong TikTok (bạn có thể xem xét và xuất bản thủ công sau). Mặc định là "PUBLISH".

A note on brand content: if you are creating sponsored content, you must set brand_content_toggle=true. This is not optional. Cả hai the FTC in the US and equivalent EU regulations require clear disclosure of paid partnerships. TikTok enforces this on their end as well, so failing to flag it correctly can result in content removal. If you are promoting your own business (not a third-party brand), use brand_organic_toggle=true instead.

For AI-generated content, setting is_aigc=true adds a disclosure label visible to viewers. As AI content regulations evolve, flagging this proactively is a good practice.

Lên lịch bài đăng TikTok với Python

The Hướng dẫn tự động hóa Python covers the SDK in depth. Here is a practical example for TikTok: batch-scheduling every video in a folder, each one hour apart, starting tomorrow morning.

pip install upload-post
import os
import glob
from datetime import datetime, timedelta
from upload_post import UploadPostClient

client = UploadPostClient(api_key="your-api-key-here")

video_folder = "/path/to/tiktok-videos"
videos = sorted(glob.glob(os.path.join(video_folder, "*.mp4")))

# Start scheduling from tomorrow at 9 AM Eastern
base_time = (datetime.now() + timedelta(days=1)).replace(
    hour=9, minute=0, second=0, microsecond=0
)

print(f"Found {len(videos)} videos to schedule")

for i, video_path in enumerate(videos):
    publish_time = base_time + timedelta(hours=i)
    filename = os.path.basename(video_path)
    title = filename.replace(".mp4", "").replace("-", " ").replace("_", " ")

    try:
        response = client.upload_video(
            video_path=video_path,
            title=title,
            user="mybrand",
            platforms=["tiktok"],
            scheduled_date=publish_time.isoformat(),
            timezone="America/New_York",
            privacy_level="CÔNG KHAI",
            disable_duet=False,
            disable_comment=False,
            cover_timestamp=3000,
            async_upload=True
        )
        job_id = response.get("job_id", "pending")
        print(f"[{i+1}/{len(videos)}] Scheduled {filename} for {publish_time} (Job: {job_id})")
    except Exception as e:
        print(f"[{i+1}/{len(videos)}] Failed: {filename} - {e}")

print("Tất cả các video đã được lên lịch!")

This script spaces each video one hour apart. You can adjust the timedelta to match your preferred cadence. Remember that TikTok enforces a daily limit of 15 uploads per 24-hour rolling window per account. If you have more than 15 videos, spread them across multiple days or use the queue system, which handles limits automatically.

You can also combine this with the FFmpeg API to resize or trim videos before scheduling, or use the social media holiday calendar to align your publishing dates with trending topics.

Không cần mã: Lên lịch đăng bài TikTok với n8n

If you prefer visual automation over writing code, n8n is an excellent option. The setup uses the HTTP Request node to call the Upload-Post API, and you can trigger it from Google Sheets, Google Drive, Airtable, or a manual button.

The basic flow looks like this:

  1. Nút kích hoạt: fires on a schedule, a new spreadsheet row, or a new file in a cloud folder.
  2. Nút Yêu cầu HTTP: sends a multipart/form-data POST to https://api.upload-post.com/api/upload with your API key, video file, title, platform[]=tiktok, and add_to_queue=true.
  3. Tùy chọn: thông báo Slack hoặc email khi tải lên thành công hoặc thất bại.

We have a ready-made Mẫu tải lên TikTok cho n8n that you can import with one click. Browse all available n8n templates for more automation ideas. You can also set this up with Make.com if that is your preferred automation platform.

Yêu cầu video TikTok

Before scheduling, make sure your videos meet TikTok\'s specifications. Uploading a file that does not meet these requirements will result in a failed post.

Yêu cầu Thông số kỹ thuật
Kích thước tệp tối đa 4 GB
Định dạng được hỗ trợ MP4, WebM, MOV
Tỷ lệ khung hình được khuyến nghị 9:16 (vertical). 1:1 and 16:9 are accepted but may display with letterboxing.
Độ phân giải 1080x1920 recommended. Minimum 720p.
Thời gian 1 second to 10 minutes
Codec H.264 được khuyến nghị. H.265 (HEVC) cũng được hỗ trợ.
Giới hạn tải lên hàng ngày. 15 videos per 24-hour rolling window per account

If your source videos are in the wrong format or aspect ratio, the FFmpeg API can handle the conversion in the cloud before publishing. You can also repurpose YouTube videos into TikTok format automatically.

Câu hỏi thường gặp

Tôi có thể lập lịch đăng bài TikTok miễn phí không?

Yes. Upload-Post includes a free tier with 10 uploads per month, and scheduling is available on all plans including the free one. You can schedule posts with exact dates or use the queue system at no cost. If you need more volume, paid plans start at an affordable rate with no long-term commitment.

Điều gì xảy ra nếu TikTok bị lỗi khi bài đăng của tôi được lên lịch?

Upload-Post automatically retries failed uploads. If TikTok\'s API is temporarily unavailable at the scheduled time, the system will attempt to publish again over the following minutes. If the issue persists, you will receive a notification through webhooks (if configured) or you can check the status using the GET /api/uploadposts/status?job_id=your_job_id endpoint. Your content is never lost.

Tôi có thể lập lịch cho TikTok và Instagram cùng một lúc không?

Absolutely. Just pass multiple platforms in the same request: platform[]=tiktok and platform[]=instagram. The same video, title, and scheduled date apply to all platforms. If you need different captions per platform, use the tiktok_title parameter for TikTok-specific text while the main title field goes to other platforms. See our guide on how to bulk upload videos across platforms for more advanced multi-platform workflows.

Tôi có thể lên lịch bài đăng TikTok trước bao xa?

Up to 365 days. The scheduled_date parameter accepts any date within the next year. Combined with the queue system, you could theoretically fill an entire year of content in a single batch session. Most users schedule one to four weeks ahead, which is a good balance between planning and flexibility. Our social media holiday calendar can help you plan content around key dates throughout the year.

Bắt đầu lên lịch đăng bài TikTok ngay hôm nay

Batch-schedule a week of TikTok content in minutes. Thiết lập queue, upload your videos, and the API handles the rest. No more manual posting at odd hours.

Không cần thẻ tín dụng. Bao gồm 10 lượt tải lên miễn phí.