POST, GET and DELETE /v1/videos/{id}/publish, and GET /v1/social-accounts.
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 export with the
exportsettings you pass. Tella reuses a finished or running export with those settings, or starts one, so you don’t need to callexport_videofirst. The publication staysqueuedwhile the export renders. A plan that doesn’t include the export’s resolution or frame rate returns aforbiddenerror. - TikTok isn’t available: its consent form must be completed in the Tella app.
- A user can connect several accounts per platform, such as two YouTube channels. Call
list_social_accountsand pass the chosen one’sidasaccountId. Without it, the oldest connected account for the destination posts.
list_social_accountsif the user has several accounts for the destination- Confirm the destination, account, text and privacy with the user
publish_to_socialwith anyexportsettings (resolution,fps,subtitles,speed), once per account. Each call returns aqueuedpublicationlist_social_publicationsuntil each publication iscompleted(read itsurl) orfailed(read itserror)
scheduledAt to publish_to_social. The publication stays queued with that scheduledAt until its time, and cancel_scheduled_publication takes it back before then. Tella exports the video right away, so edits made after scheduling aren’t in the post.
publish_to_social
Start a publish to one destination and account. Returns immediately with aqueued publication. One publish per destination and account runs at a time; starting another to the same account while one is queued or running returns a conflict error. Publishes to different accounts run side by side. 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 export to upload, as
export_video takes them. A finished or running export with these settings is reused; otherwise one is started. 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 subtitlesstring
Which connected account to post with, from
list_social_accounts. Defaults to the oldest connected account for the destination. An accountId that isn’t one of the user’s connected accounts for the destination returns a forbidden errorstring
When to post, as an ISO 8601 time with a timezone, such as
2026-10-20T15:00:00Z, at most 30 days ahead. Omit to post as soon as the export is ready. A time in the past or more than 30 days ahead returns a bad_request errorpublish_to_social doesn’t append chapters to a YouTube description; read them with get_chapters and include them in description if you want them.
cancel_scheduled_publication
Cancel a scheduled publish before it goes out. Only a publication that is stillqueued with a scheduledAt can be cancelled; once it starts going out, this returns a conflict error. Returns the publication with status cancelled.
string
required
Video ID
enum<string>
required
The publication’s
destination, from list_social_publicationsstring
The publication’s
accountId, from list_social_publicationslist_social_accounts
The accounts the user has connected in Tella thatpublish_to_social can post with. Takes no parameters. Each account has:
string
Pass as
accountId to publish_to_socialstring | null
The account’s name in Tella: the one the user gave it in Settings → Connections, else its name on the platform
string[]
The destinations it posts to. A YouTube account posts to both
youtube and youtube_shortsboolean
false when the account needs reconnecting in Tella before it can publishlist_social_publications
The latest publish of a video to each destination and account, 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 tiktokstring | null
The connected account it was published with.
null for publishes made before Tella supported several accountsstring | null
That account’s name in Tella when the publish started
enum<string>
queued, running, completed, failed or cancelled. A scheduled publish stays queued until its timestring | null
When a scheduled publish goes out.
null when it wasn’t scheduledstring | 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.