Private AI media workspace

From prompt to published post,
without leaving one tab.

FrameFlow generates video and images with the AI providers you connect, directs complete multi-shot films, accepts your own uploads, and publishes the result to your connected TikTok, YouTube, and X accounts — through each platform’s official API, on a server you control.

FrameFlow is a single-operator workspace with no public sign-up. The studio is private; everything that explains it is on this site.

The pipeline

Three steps, one workspace

Every stage lives in the same studio, and every attempt is recorded in SQLite on your own server — nothing is fired off and forgotten.

  1. 1

    Create or upload

    Write a prompt and generate a clip or still with the API selected for that media type, optionally anchoring it to a source image so the shot starts where you want. Or upload MP4, WebM, MOV, M4V, JPEG, PNG, WebP, or GIF straight from disk.

  2. 2

    Compose and preview

    Build a continuous sequence by feeding each clip's final frame into the next storyboard, stitch the clips with ffmpeg, and play everything back before it goes anywhere. Captions and titles are written in the same view.

  3. 3

    Publish or schedule

    Pick destinations, set each platform's own options, then publish immediately or park the post until a chosen time. A background worker runs the upload, so a large file never races an HTTP timeout.

Destinations

Publishes through official APIs only

Each connection uses credentials you issue for your own account. FrameFlow does not scrape cookies, automate passwords, or route around platform approval.

TT

TikTok

Native Content Posting API with PKCE authorization. Creator settings are read before every post, videos upload in chunks, and status is polled until the post completes.

  • Post directly, or send to your TikTok drafts to finish by hand
  • Privacy, comment, duet, and stitch options honour what your account allows
  • A clip a model made is flagged as AI-generated on every direct post
YT

YouTube

Official resumable upload through the YouTube Data API, defaulting to private visibility so nothing becomes public before you have looked at it.

  • Long-lived OAuth refresh tokens
  • Private-by-default visibility
  • Video destinations only
X

X

OAuth 1.0a request signing, chunked media upload with processing polls, and post creation on the v2 API — for video, image, and text posts alike.

  • Video, image, and text posts
  • Chunked upload with processing status
  • Caption limits checked before queueing

How it behaves

Built to be boring about the risky parts

Publishing to someone's real audience is not a place for surprises, so the defaults are the cautious ones.

AI content is flagged for TikTok

TikTok is the one destination with somewhere to declare it, and a clip a model made arrives at the publish form with that flag already set — footage you shot and uploaded yourself does not. YouTube and X have no equivalent field to send.

Tokens are encrypted at rest

Every provider credential is encrypted in the local database and is never returned to the browser or written to client storage.

Nothing posts silently

A publication is only ever created by pressing Publish in the form. Failed posts wait for you to retry them rather than re-firing on their own.

Scheduling you can cancel

A scheduled post sits in the queue until it is due, and can be cancelled or removed at any point before it runs.

Your media stays yours

Generated and uploaded files live in a data directory on your own server and are served only to an authenticated session. The one exception is the public Showcase: a piece appears there only when you add it, one at a time, and comes down the moment you remove it.

Self-hosted end to end

There is no FrameFlow cloud. The app runs on hardware you administer, against accounts you already own.

Questions

Frequently asked

Can I sign up for an account?
No. FrameFlow is a private workspace for a single operator, self-hosted on their own server, and there is no public registration. This site describes the product; the studio behind the sign-in page is not a shared service.
Where does the video come from?
Either from the generation APIs of the AI providers the operator has connected — video renders on xAI, fal, or Runpod — driven by a prompt you write and optionally a source image you provide, or from files you upload yourself. Nothing is sourced from other people's accounts or reposted from elsewhere.
Which accounts can it post to?
Only accounts the operator has explicitly connected by completing that platform's own authorization flow — TikTok, YouTube, and X. Access can be revoked from the platform's own settings at any time.
What happens to my data?
Media, publication history, and encrypted credentials are stored in a local database and file directory on the operator's server. The Privacy Policy sets out exactly what is kept and for how long.

Still have a question?

The support page covers access, data removal, and revoking a connected account — or write to zhangyang8605@gmail.com.

Go to support