POST and GET /v1/videos/{id}/publish.
A publish posts under the user’s own account, often publicly, so confirm the destination, text and privacy with the user before calling publish_to_social.
Before publishing:
- The account must already be connected in Tella, under Settings → Connections or Share → Publish. These tools can’t connect one; an unconnected destination returns a
forbiddenerror. - Publishing uploads an existing completed export. Call
export_videowith the settings you want, pollget_export_statusuntil it iscompleted, then pass the sameexportsettings topublish_to_social. If no completed export matches, the call returns aconflicterror. - TikTok isn’t available: its consent form must be completed in the Tella app.
export_videowith{videoId}(and anyresolution,fps,subtitles,speed)get_export_statusuntilcompleted- Confirm the destination, text and privacy with the user
publish_to_socialwith the sameexportsettings. It returns aqueuedpublicationlist_social_publicationsuntil that destination iscompleted(read itsurl) orfailed(read itserror)
publish_to_social
Start a publish to one destination. Returns immediately with aqueued publication. One publish per destination runs at a time; starting another while one is queued or running returns a conflict error. Publishing again after one completes creates a second post.
string
required
Video ID
enum<string>
required
youtube, youtube_shorts, linkedin, x, instagram_post, instagram_reel, instagram_story, facebook_post or facebook_story. The Instagram and Facebook destinations publish through one Facebook connection. See limitsstring
required
Video title on YouTube. On LinkedIn, X, Instagram and Facebook it is the post text when
description is empty. Must not be emptystring
YouTube description, or the post text on LinkedIn, X, Instagram and Facebook. Stories show no text
enum<string>
public, unlisted or private. Defaults to the most private option the destination offers:youtube,youtube_shorts:private(default),unlistedorpubliclinkedin:private(connections only, default) orpublicfacebook_post:private(only people who manage the Page, default),unlisted(anyone with the link) orpublic- every other destination:
publiconly
object
Settings of the completed export to upload, exactly as passed to
export_video. Omit for the default export: 1080p, 30 fps, no burned-in subtitles, 1xboolean
YouTube only: upload the transcript as a caption track (default
true). Skipped when the export has burned-in subtitlespublish_to_social doesn’t append chapters to a YouTube description; read them with get_chapters and include them in description if you want them.
list_social_publications
The latest publish of a video to each destination, including publishes made in the Tella app (TikTok among them). Poll this afterpublish_to_social.
string
required
Video ID
string
One of the
publish_to_social destinations, or tiktokenum<string>
queued, running, completed or failedstring | null
The post on the destination, once
completedstring | null
Why a
failed publish failedstring | null
Set on a
completed YouTube publish whose caption track YouTube refusedstring
The title sent
enum<string>
public, unlisted or private, or TikTok’s followers or friendsstring | null
The platform’s ID for the post
string
When the publish started
string
When its status last changed
Destination limits
Tella checks these before starting a publish and returns abad_request error naming the rule a video breaks. Lengths are of the export, so a 2x export is half as long.
File size is checked after the export, just before uploading, so an oversized export shows up as a
failed publication rather than an error on the call.