Skip to main content

Endpoint

Overview

Create and schedule a video post to be published on TikTok or Instagram. The video will be uploaded and posted to the specified account.

Request Body

string | null
required
Account ID to post from, or null for automatic account selectionAuto-Selection Behavior:
  • Set to null to automatically select an account
  • With strict: true: Selects the least recently posted account
  • With strict: false: Selects the account with the closest available time slot to your requested postTime
  • Can be filtered using tag, user_group, and org_group parameters
string
Filter accounts by tag (only used when accountId is null)
string
Filter accounts by user group (only used when accountId is null)
string
Filter accounts by organization group (only used when accountId is null)
string
Custom tag stored on the created post itself (returned as tag on the Post object). Distinct from tag, which filters account auto-selection.
string
required
URL to the video file (must be publicly accessible)Supported formats: MP4, MOV, AVIRecommended specs:
  • Resolution: 1080x1920 (9:16 aspect ratio)
  • Duration: 15-60 seconds
  • File size: Under 100MB
string
Post caption/descriptionCan include hashtags and emojisLimit: Maximum 4000 characters
CaptionOverlay[]
Text overlays to display on the videoEach overlay is an object:
  • text (string) — the overlay text
  • x (number) — horizontal center of the overlay as a fraction (0-1) of the video width
  • y (number) — vertical center of the overlay as a fraction (0-1) of the video height
  • fontSize (number) — text size as a fraction (0-1) of the video height
Example: [{ "text": "Wait for it...", "x": 0.5, "y": 0.2, "fontSize": 0.04 }]
string
ID of a social audio record to attach to the post
Music Support:
  • TikTok: Fully supported
  • Instagram: Not yet supported
How to use:
  1. First, import the audio using the Upload Social Audio endpoint with a TikTok video or music URL
  2. This returns a social audio record with an id
  3. Use that id as the socialAudioId here
Example workflow:
string
When to schedule the post (ISO 8601 format)If omitted, the post will be published immediatelyExample: 2024-12-31T12:00:00Z
boolean
default:false
Scheduling mode - controls timing behaviorWhen strict: true:
  • Post must be scheduled at the exact requested time
  • If using auto-selection (accountId: null), picks the least recently posted account
  • Will return an error if the account cannot post at the exact time
When strict: false:
  • Post will be scheduled at the nearest available time
  • If using auto-selection (accountId: null), picks the account that can post closest to the requested time
  • Automatically adjusts to the next available slot if requested time is unavailable
string
Latest allowed scheduled time (ISO 8601 format)If the post cannot be scheduled before this deadline, the request will return an error.When using auto-selection (accountId: null), accounts that cannot post before this time are excluded from selection.Example: 2024-12-31T23:59:59Z

Response

Post
The created post object