How to Bulk Upload TikTok Videos in 2026

To bulk upload TikTok videos, use one of three workflows: a scheduler with a CSV or multi-file importer, a script that creates repeated API publishing jobs, or a dashboard queue for a smaller batch. The right choice depends on whether your source of truth is a spreadsheet, an application, or a human review process.

Important correction: Postqued does not currently provide a CSV-import screen. Its documented bulk workflow is API-based: upload each media asset, validate a scheduled TikTok target, and create one durable /v2/publish request per post. This guide uses the real v2 routes instead of the retired and inaccurate examples that were previously on this page.

Quick decision table

Method Best for Setup Human review Main limitation
CSV or multi-file scheduler Marketers with a spreadsheet calendar Low Usually built in Field support varies by tool
Postqued v2 API loop Apps, agencies, and repeatable pipelines Medium Dry run plus durable status One publish request per post
Manual calendar queue Small, occasional batches Low Full Slowest at higher volume

Method 1: Use a CSV or multi-file bulk scheduler

In short: Choose this method when captions, media locations, accounts, and publishing times already live in a spreadsheet. Import into a tool that explicitly documents TikTok video bulk scheduling, review every mapped field, then test a small batch before committing the full calendar.

Current smaller tools with documented bulk workflows include:

  • OneUp: CSV, Google Sheets, Google Drive, Dropbox, and local bulk uploads; video bulk upload starts above its Basic plan. Site: oneupapp.io
  • RecurPost: CSV and Excel bulk scheduling, including platform-specific caption columns. Site: recurpost.com
  • PostPlanify: a calendar bulk composer for up to 20 posts. Site: postplanify.com

Do not assume one tool’s CSV template works in another. Download the destination product’s current sample file and verify:

  1. Whether media is uploaded directly or referenced by URL.
  2. Which timestamp and time-zone format it accepts.
  3. Whether privacy, comments, Duet, Stitch, commercial-content disclosure, and cover settings can be imported.
  4. Whether a failed row blocks the batch or can be retried independently.
  5. Whether the tool directly publishes or creates a draft that needs completion in TikTok.

Method 2: Bulk schedule through the Postqued v2 API

In short: Use Postqued’s API when another system generates the calendar. Your worker loops over a manifest, uploads each video to Postqued, checks the latest TikTok creator constraints, validates the publish request with dryRun: true, then submits the same post with an idempotency key.

Postqued’s API base URL is https://api.postqued.com. Use only /v2 routes and pass Authorization: Bearer YOUR_POSTQUED_API_KEY.

Step 1: Resolve the workspace and TikTok account

Call GET /v2/mcp/context to resolve the organization and workspace available to the API key. Then call GET /v2/integrations?workspaceId=... and select the exact TikTok account ID.

Do not infer IDs from display names when a workspace contains similar accounts.

Step 2: Upload and complete each video

Create an asset with POST /v2/content/upload, send the bytes to the returned presigned storage URL, then complete the asset with POST /v2/content/upload/complete.

{
  "workspaceId": "WORKSPACE_UUID",
  "filename": "launch-01.mp4",
  "contentType": "video/mp4",
  "fileSize": 52428800
}

The completion call records the returned object key plus the final file metadata. Store the returned contentId beside the matching row in your batch manifest.

Step 3: Read TikTok creator constraints

Immediately before composing the post, call:

GET /v2/integrations/ACCOUNT_UUID/creator-info?workspaceId=WORKSPACE_UUID

Use the returned privacy choices and maximum video duration. TikTok requires publishing clients to show and honor the latest creator settings; public visibility must never be assumed.

Step 4: Validate the scheduled post

Send one target with dryRun: true before creating live state:

{
  "workspaceId": "WORKSPACE_UUID",
  "contentIds": ["CONTENT_UUID"],
  "targets": [
    {
      "platform": "tiktok",
      "accountId": "ACCOUNT_UUID",
      "intent": "publish",
      "caption": "Launch day. #product",
      "dispatchAt": "2026-08-12T16:00:00Z",
      "options": {
        "privacyLevel": "PUBLIC_TO_EVERYONE",
        "disableComment": false,
        "disableDuet": false,
        "disableStitch": false,
        "authenticContentConfirmed": true
      }
    }
  ],
  "dryRun": true
}

dispatchAt must be an offset-bearing ISO timestamp. Using UTC (Z) in the manifest avoids daylight-saving ambiguity.

Step 5: Create the live scheduled request

After validation succeeds, repeat the request with dryRun: false and a fresh UUID in the Idempotency-Key header. Save the returned publish ID.

For a batch, repeat these steps for every manifest item with bounded concurrency. Do not fire hundreds of untracked writes at once. A reliable worker should:

  • keep a state per row: pending, asset_uploaded, validated, scheduled, or failed;
  • use a different idempotency key for every distinct post body;
  • pause on 429 responses and honor retry information;
  • read GET /v2/publish/:publishId?workspaceId=... before retrying a timed-out write;
  • continue successful rows even when a different row fails.

The live schema is available at api.postqued.com/v2/docs/openapi.json.

Method 3: Build a reviewed queue in the dashboard

In short: For a small batch, a calendar queue is safer than custom automation. Upload each asset, customize the TikTok caption and native settings, schedule it, and review the resulting week or month before publishing starts.

This method is appropriate when:

  • every post needs a human caption or compliance review;
  • the batch is small enough that API setup would cost more time than it saves;
  • different posts require different privacy, commercial-content, cover, comment, Duet, or Stitch choices;
  • a client must approve each post before scheduling.

Postqued’s TikTok scheduler supports this calendar workflow and keeps TikTok alongside the rest of a multi-platform publishing plan.

TikTok video requirements to validate before uploading

In short: Validate container, codec, frame rate, dimensions, size, duration, and account-specific limits before starting the batch. Rejecting bad files locally is faster and safer than discovering the same error after dozens of API calls.

TikTok’s current Content Posting API media-transfer guide lists:

Check Documented range
Containers MP4, WebM, MOV
Codecs H.264, H.265, VP8, VP9
Frame rate 23–60 FPS
Width and height 360–4096 pixels
Maximum file size 4 GB
Maximum initialized upload duration 10 minutes

The actual maximum duration can vary by creator. Read max_video_post_duration_sec from creator info instead of treating 10 minutes as universally publishable.

TikTok also supports FILE_UPLOAD and PULL_FROM_URL transfer modes for videos. A pulled URL must use HTTPS, must not redirect, must remain accessible during the download, and must belong to a domain or URL prefix verified by the developer application.

A practical batch manifest

Keep the source data explicit and provider-neutral. JSON is safer than inventing a CSV schema that your publishing API does not support directly:

[
  {
    "localFile": "./videos/launch-01.mp4",
    "caption": "Launch day. #product",
    "dispatchAt": "2026-08-12T16:00:00Z",
    "privacyLevel": "PUBLIC_TO_EVERYONE"
  },
  {
    "localFile": "./videos/tutorial-01.mp4",
    "caption": "Three setup tips.",
    "dispatchAt": "2026-08-13T16:00:00Z",
    "privacyLevel": "PUBLIC_TO_EVERYONE"
  }
]

Add your own externalId to each item so you can reconcile the source calendar with Postqued’s contentId, publishId, and target status.

Common bulk-upload failures

Invalid privacy choice

The selected privacy value is missing from the creator’s current privacy_level_options. Refresh creator info and require the user to choose a supported value.

Video duration rejected

The file exceeds max_video_post_duration_sec for that creator. Do not rely on a generic TikTok maximum.

URL ownership not verified

TikTok cannot pull from the media URL because the domain or URL prefix is not verified for the application. Complete TikTok’s URL-property verification or use the correct file-upload workflow.

Duplicate live requests

A network timeout causes the worker to submit the same post again with a new key. Persist the original idempotency key and check durable status before retrying.

Rate or posting cap reached

TikTok applies request, creator, and application caps. Queue work, respect 429, and surface the blocked rows instead of silently dropping them.

Final checklist

  • Validate every file before transfer.
  • Use one source time zone and save offset-bearing timestamps.
  • Read current creator info before composing TikTok options.
  • Dry-run every distinct request.
  • Save one idempotency key and publish ID per post.
  • Test a small batch on the real account before scaling.
  • Monitor each target until it reaches a terminal state.

Bulk uploading is an operational workflow, not a single magic endpoint. Spreadsheet tools are easiest for marketers; the Postqued v2 API is the better fit when your calendar is generated by a CMS, database, script, or AI agent.

Next, read how TikTok’s official API works or start a seven-day Postqued trial.

Official references

Frequently Asked Questions

Can you bulk upload TikTok videos?

Yes. Use a scheduler with a CSV or multi-file bulk composer, or automate repeated uploads and publish requests through an approved posting API. TikTok's public Content Posting API creates one publish job at a time rather than accepting an entire calendar in one batch request.

Does Postqued have a CSV importer?

Not currently. Postqued supports scheduling in its dashboard and repeatable bulk workflows through its v2 REST API and MCP server. The API workflow creates one durable publish request per TikTok post.

Is there a free TikTok bulk scheduler?

There is no permanent free Postqued scheduler. Postqued has a seven-day trial, then paid plans start at $9 per month. Other products may offer trials or self-hosted software, but provider and infrastructure costs still apply.

What formats does TikTok's posting API accept for videos?

TikTok's current media-transfer guide lists MP4, WebM, and MOV containers; H.264, H.265, VP8, and VP9 codecs; 23 to 60 FPS; dimensions from 360 to 4096 pixels; and a maximum file size of 4 GB.

How many TikTok videos can I publish in a day?

TikTok applies creator and application caps. Its developer guidelines say the Direct Post cap varies by creator and is typically around 15 posts per day per creator, shared across all API clients. Always read creator info and handle rate-limit responses.

How do I retry a failed batch safely?

Store the media ID, publish ID, scheduled time, and idempotency key for every row. Read the durable publish status before retrying, and reuse an idempotency key only for the exact same live request body.