---
title: "Create a TikTok post"
method: POST
path: "/tiktok/create"
tags: ["Schedulers"]
---

# Create a TikTok post

`POST /tiktok/create`

## Request

- Base URL: `https://socialrobot.io/api/v1`
- URL: `https://socialrobot.io/api/v1/tiktok/create`
- Auth: API key in header `x-api-key`

Create a TikTok post. Until TikTok approves direct posting, every TikTok post is sent as UPLOAD: media goes to the creator TikTok inbox as a draft and they finish it in the TikTok app. DIRECT_POST is saved as UPLOAD, and privacy or interaction settings are not sent.

## Headers

- `x-api-key` string, required: The API key to use for the request

## Request body

- object
  - `scheduledFor` union, required
    - object
      - `publish` 'DRAFT', required
    - object
      - `publish` 'NOW', required
    - object
      - `publish` 'SCHEDULE', required
      - `date` union, required
        - string
        - string
  - `post` object, required
    - `accountId` string, required
    - `caption` string, required
    - `privacyLevel` 'PUBLIC' | 'FRIENDS' | 'FOLLOWERS' | 'PRIVATE'
    - `disableComment` boolean
    - `autoAddMusic` boolean
    - `disableDuet` boolean
    - `disableStitch` boolean
    - `commercialContent` object
      - `isCommercialContent` boolean
      - `yourBrand` boolean
      - `brandedContent` boolean
    - `photoCoverIndex` integer
    - `isAigc` boolean
    - `videoCoverTimestampMs` integer
    - `medias` union, required
      - object
        - `mediaType` 'IMAGE', required
        - `medias` object[], required
          - `mediaUrl` string, uri, required
          - `transform` object
            - `crop` object, required
              - …
            - `aspect` string, required
            - `width` integer, required
            - `height` integer, required
            - `fit` 'cover' | 'contain', required
            - `userEdited` boolean, required
      - object
        - `mediaType` 'VIDEO', required
        - `medias` object[], required
          - `mediaUrl` string, uri, required
    - `postMode` 'DIRECT_POST' | 'UPLOAD'
    - `title` string
    - `videoDurationSec` number

## Response `200`

TikTok post created successfully

- object
  - `id` string, required

## Other responses

- `400`: Invalid request data
- `401`: Unauthorized - Invalid or missing API key
- `403`: Forbidden - plan limit, ownership, or quota exceeded (see error message for upgrade link)
- `500`: Internal server error

---

[API](https://skmtc.dev/socialrobot/apis/socialrobot-io-scheduler-api.md) · [All operations](https://skmtc.dev/socialrobot/apis/socialrobot-io-scheduler-api/llms.txt) · [OpenAPI document](https://skmtc.dev/socialrobot/apis/socialrobot-io-scheduler-api/revisions/c2e9cdf5e75e?raw)
