Concepts

Personas, lines, footage, formats, batches and the posting plan.

Personas

The people who react at the start of a video. Every persona is made by AI and is labelled so: persona objects carry ai_made: true, and videos should be posted with each platform's AI label on. Never present a persona as a real customer.

GET /personas lists the personas the founder can use: id, name, language, poster_url, ai_made, chosen (picked by the founder), clip_ids, and clips (each reaction clip's id, name, duration and whether it is an opener). Reactions the founder switched off are left out.

Lines

The words on screen at the start (hook_text). Two sources:

  • Library lines: Getuser's tested patterns, filled in for the founder's app.
  • Own lines: written by the founder, or by AI with POST /ai/lines.

GET /lines (?source=all|own, ?lang=) lists them: id, kind, own, language, the template, and text, the line filled in for the founder's app (null when it does not fit it). In the planner, lines: "all" uses both; "own" only the founder's.

Footage

Uploads (GET /assets), each with a kind:

KindWhat
demoA screen recording of the app. The middle of a Hook + Demo video.
hookThe founder's own reaction clip, used instead of a persona.
endingThe last seconds, naming the app.
imagePhotos for slideshows (B-roll about the app or brand).
musicThe founder's own music. Stock music is in GET /music (only tracks cleared for use).

Each asset has id, kind, role (images only), name, status, uploaded, duration, url (a one-hour link once ready), reject_reason, expires_at and created_at. An asset is processing after upload, then ready or rejected (reject_reason says why). Only ready assets can be used. Filter with GET /assets?kind=demo.

Formats

  • Hook + Demo (hook-demo): a 2-second reaction with a line, then the app's demo, then the ending.
  • One caption (one-caption): one clip with one caption over it, often the founder's own.
  • Slideshows: still slides from a saved slide format (GET /slide-formats: id, name, size portrait or story, slides, hooks, language).

Batches

Several videos queued together share a batch_id. GET /batches/{id} returns them all and a zip download plan. Cancel a whole batch with POST /batches/{id}/cancel.

Recipes

Saved batch settings from the app (GET /recipes). Pass recipe_id to POST /videos/plan to reuse one.

The posting plan

The calendar of what goes out when, per social profile (GET /profiles). The API can add and remove items; posting stays in the app. See The posting plan.

Setup

Videos and slideshows each have their own setup:

  • Videos need the app's profile, 5 demos and the founder's own reaction clip.
  • Slideshows need the app's profile and 5 images (any photos except the app icon: B-roll about the app or brand). No demos, no face.

Until a gate is done, making that kind answers 422 setup_incomplete with detail.gate (videos or slideshows) and detail.missing (app, demos, reaction, images). GET /me shows both under setup.videos and setup.slideshows.

On this page