Features

Everything between a prompt and a published post

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

Generation

Model output is treated as material to review, not as something to post unseen.

Text-to-video and text-to-image

Prompt a clip or a still from whichever provider is routed for that media type — clips from xAI, fal, or Runpod, stills from those or OpenAI. Video renders asynchronously with bounded polling; a finished still lands straight in the library.

Start from a source image

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.

Errors are recorded, not hidden

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

Iteration

A shot you want is rarely the first one rendered, so the loop around a render matters as much as the render.

Several takes of one brief

Order up to four renders of the same prompt in one press and choose between them, instead of submitting the same brief by hand and waiting each time. Each take is a separate render, priced in the spend meter like any other.

Stop a render that is going wrong

A render still queued or in flight can be cancelled from the library. FrameFlow stops waiting for it and clears it away — including the file, if the render lands after the cancel.

Reopen any render's settings

Take a finished render's prompt, canvas, duration, resolution, audio, voices, style, and opening frame straight back into the composer, change the one thing that was wrong, and render again.

Upscale to 1080p

Put a finished clip of up to 15 seconds through a Real-ESRGAN pass on your own Runpod worker: it writes a new 1080p copy into the library and never touches the original. A Director film can run the same pass on every shot before its cut is assembled, and a shot the renderer already delivered at 1080p is passed through rather than paid for twice.

03

Media and direction

Build complete multi-shot films or bring finished media into one focused workspace.

Direct upload

MP4, WebM, MOV, M4V, JPEG, PNG, WebP, and GIF, with authenticated, range-enabled playback in the browser so scrubbing works properly.

AI-directed multi-shot films

Give Director one brief and it plans the shots. The first clip opens on a frame you supply — or on the director's own words — then every later clip starts from the previous clip's final frame before narration and the finished cut are assembled.

Films that speak

A film gets a voice one of two ways, chosen in the brief. Ask for dialogue and the video model performs each shot's line inside the clip itself; ask for narration instead and a separate voice pass reads the lines and mixes them over the finished cut. You pick the spoken language either way, the shot list can be written in English or Simplified Chinese, and subtitles are written in both.

Text posts

Compose text-only posts in the studio for destinations that accept them, with the platform's own character limit checked before anything is queued.

04

Publishing

Uploading to a real audience is slow and failure-prone, so it runs out of band.

Durable queue

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.

Scheduling

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.

Media-type awareness

Destinations that cannot accept the selected item are disabled with the reason shown, and per-platform settings appear only for the destinations you picked.

05

Operations and security

Self-hosted means the operator carries the keys, so the app is careful with them.

Encrypted credentials

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.

Signed session login

A signed, HTTP-only cookie guards the studio and the media routes. Generated and uploaded files are served only to an authenticated session, apart from the items you have added to the public Showcase one at a time.

Atomic deployments

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.

Want the mechanics rather than the list?

How it works walks through the actual sequence a post goes through, including the handshake each platform requires.

How it works

A note on what is not here

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.