Text-to-video and text-to-image
Prompt xAI for a clip or a still. Video generation runs asynchronously with bounded polling; images return immediately and land in the library.
Features
FrameFlow covers the whole path — generation, upload, composition, preview, and delivery — because the gaps between separate tools are where files get lost and the wrong cut gets posted.
01
Model output is treated as material to review, not as something to post unseen.
Prompt xAI for a clip or a still. Video generation runs asynchronously with bounded polling; images return immediately and land in the library.
Attach a still — uploaded or picked from the library — and the clip animates out of it, or the prompt edits the picture instead. One source image per generation, kept in the library beside the clip it produced.
A failed poll is stored on the job. Non-retryable API responses stop it immediately; network blips and rate limits stay eligible for another attempt.
02
Build complete multi-shot films or bring finished media into one focused workspace.
MP4, WebM, MOV, M4V, JPEG, PNG, WebP, and GIF, with authenticated, range-enabled playback in the browser so scrubbing works properly.
Give Director one brief and it plans the shots, locks visual continuity with keyframes, renders each clip, records narration, and assembles the finished cut.
Compose text-only posts in the studio for destinations that accept them, with the platform's own character limit checked before anything is queued.
03
Uploading to a real audience is slow and failure-prone, so it runs out of band.
Publishing is enqueued and run by a worker, one row per destination. A large upload can never time out the request, and every attempt is recorded.
Park a post until a chosen time. It sits as scheduled, ignored until due, and can be cancelled beforehand. Retries are manual by design — silent auto-retry risks double-posting.
Destinations that cannot accept the selected item are disabled with the reason shown, and per-platform settings appear only for the destinations you picked.
04
Self-hosted means the operator carries the keys, so the app is careful with them.
Provider tokens are encrypted at rest and never returned to the browser. TikTok's single-use refresh token is rotated and written back on every exchange.
A signed, HTTP-only cookie guards the studio and the media routes. Generated and uploaded files are served only to an authenticated session.
Standalone builds are installed as versioned releases behind a symlink switch, with data kept outside release directories and a health check that rolls back a bad release.
How it works walks through the actual sequence a post goes through, including the handshake each platform requires.
Douyin, Xiaohongshu, and Bilibili were removed rather than left half-built: all three gate programmatic publishing behind business-entity qualification that an individual developer cannot obtain, so those integrations could never actually run. FrameFlow will not automate cookies or unofficial endpoints to work around a platform's approval process.
Supported destinations are TikTok, YouTube, and X.