Make a short vertical video from a post's words (for YouTube and TikTok)

YouTube takes only video and TikTok video or photos. This turns the words of a post into an MP4 you can publish there: 1080x1920 (9:16), 8 to 12 seconds, H.264 High with AAC sound, 30 fps. The first line (or first sentence) appears as a large heading and up to two more sentences appear one after another over a softly moving plain background, inside the area TikTok and Shorts leave clear of their buttons and caption. Emoji, links and trailing hashtags are left out; nothing is added that you did not write, and there is no PostWire watermark. Music: one of three royalty-free beds (Pixabay Content License, checked free of YouTube Content ID) at about -14 LUFS, or silence. No AI is used and nothing is published: pass the returned media_url as video_url to /api/post or /api/schedule. The file is stored like an upload: deleted the day after the last scheduled post that uses it is published, or 7 days after it is made if no scheduled post uses it. Draws Latin, Greek and Cyrillic text. 10 videos an hour per account; per day 10 on the Free plan and 60 on paid plans. Takes about 3 to 10 seconds.

post/api/media/video

Request

  • Base URL: https://postwire.io
  • URL: https://postwire.io/api/media/video
  • Auth: HTTP bearer

Request body

textstring required

The post's words. The first line or sentence becomes the heading; up to two more sentences follow.

style'light' | 'dark'

Warm off-white or dark background.

music'auto' | 'lofi' | 'piano' | 'upbeat' | 'none'

auto picks one of the three beds from the text; none gives a silent AAC track.

footerstring

Optional short line under the text, e.g. the brand or shop name.

Response

{ ok, media_url, path, kind: "video", content_type: "video/mp4", bytes, width: 1080, height: 1920, duration_s, music, text_on_video[], poster_url (the last frame as a JPEG), render_ms, expires_at }

Changes

No recorded changes to this operation across all 1 revision of this API.