latestOpenAPI 3.1.12026-08-22330162.7 KB

35448566f143

Publishing

Publish a video to social media

Publishes a completed video to one or more connected social media channels (YouTube, TikTok, Instagram, Facebook, Threads, and X).

Prerequisites:

  1. Connect channels via the AITuber dashboard (cannot be done via API).
  2. Video must have status: completed (check via GET /videos/{id}).
  3. Active paid subscription with the Publish feature (Creator plan or higher).

How it works:

  1. If the video has not been exported to MP4 yet, an export is automatically started.
  2. Once the MP4 is ready, it is uploaded to each selected platform.
  3. Each channel gets its own publication with independent status tracking.

After publishing: Poll GET /publications/{publicationId} for each publication ID until it reaches a terminal state. Immediate publishes typically end in published or failed. Scheduled publishes may enter scheduled first, depending on platform behavior. Typical time: 2-10 minutes (longer if export is needed first).

Platform-specific settings: Each entry in the channels array can include platform-specific metadata. Only include settings relevant to the channel's platform.

Cost: Free. Publishing does not consume credits.

post/publications

Request body

videoIdstring uuid required

The video to publish. Must have status: completed.

sceneExportIdstring uuid

Optional export ID if the video has already been exported. If omitted, an export is triggered automatically.

captionstring

Description or long caption used for YouTube, TikTok, Instagram, and Facebook. Max 2200 characters.

shortCaptionstring

Short caption shared by X and Threads. It is kept within X's standard weighted 280-character limit. Defaults to caption when omitted.

addMadeWithCaptionboolean

Add "Made with AITuber, the AI video generator: aituber.app" at the end of each caption. Default: true. Each caption is shortened when needed to stay within its platform limit.

publishNowboolean

Set to true (default) to publish immediately. Set to false and provide scheduledAt to schedule.

scheduledAtstring date-time nullable

ISO 8601 datetime to schedule publication. Must be in the future. Only used when publishNow is false.

Response

OK

needsExportboolean required

Whether a video export had to be started. If true, adds 1-5 minutes before upload begins.