Step one
Getting started
A workspace holds everything you make. Sign up and you get one, along with a sample story on real footage — it is there to be pulled apart, and nothing about it is public.
Create an account and find your way around
- 1Log in at /login with Google.
- 2A guided tour runs once on your first visit to the dashboard. It rings each control as it explains it — skip it any time, and it will not come back.
- 3Open My first story from the dashboard. That is the sample.
- 4Select a beat, change its title, and watch the preview. That round trip is the whole editing loop.
Workspaces and people
Projects, footage and members all belong to a workspace. Invite people from Settings → Members with one of four roles.
| Role | Can do |
|---|---|
| Owner | Everything, including billing and removing the workspace |
| Admin | Everything except owner-only actions; can manage members |
| Editor | Create and edit projects, upload footage, publish |
| Viewer | Read only |
Invitations are claimed the first time the person signs in with that address, so you can invite somebody before they have an account.
Footage
Zoetropes
A zoetrope is your footage, cut into gapless sections that a story scrubs as the visitor scrolls. Named for the pre-cinema device that made motion out of sequential images.
It belongs to the workspace, not to a project, because footage is expensive to process and worth reusing.
Upload footage
- 1Go to
Zoetropesand choose a file: a video or GIF (mp4, quicktime, webm, x-matroska, x-msvideo, mpeg, gif, jpeg, png, webp, avif), or an ordered set of images. Stills become the same kind of sequence through the same pipeline. - 2Give it a name. This is required: a workspace list of untitled sequences is unusable after the third one.
- 3Pick a frame rate between 1 and 30. Higher is smoother and heavier; 1 to 12 suits slow, deliberate scrolling, 24 to 30 suits motion.
- 4Upload. Progress is live, and it survives a page reload — the work is on the server, not in your tab.
Length limit
While it processes, and when it fails
- The clip is cut into gapless sections — one continuous take, so each section starts exactly where the last ended.
- Cancel at any point. The job stops at the next section rather than finishing quietly in the background.
- A failed clip tells you why — unsupported codec, no video stream, a broken container — rather than only that it failed.
- Retry after a failure or a cancellation without re-uploading.
Creating
Making a story
A project is one story with its own address: a cover, one or more pages of footage with words over it, and a last page.
From footage to a first draft
- 1Choose
New projecton the dashboard and name it. The web address is suggested from the name. - 2Upload footage, or pick footage the workspace already has.
- 3Say what it is: a Film (one video, one continuous page) or a Book (frames from a video or your own images, one frame per screen, one page or several, in a direction you choose). Topic, audience and tone are optional.
- 4Press Create. On paid plans the draft is written from what is actually in your footage; on the free plan you get a structured draft with one beat per section, ready for your words.
- 5The editor opens on the draft. Nothing is public yet.
What leaves our servers
Editing
The story editor
Three panes: the outline on the left, the story as visitors see it in the middle, and the settings for whatever you selected on the right. On a phone they become tabs.
Pages and beats
- The first page is always
/. Others live at their address:chapter-2becomes/chapter-2. - A beat is one moment: a section of the page's footage with its own words, motion and transition into the next beat.
- Drag beats to reorder them, within a page or onto another page. The arrow buttons do the same from the keyboard.
- Two beats may play over the same section — a long shot with two captions.
- Selecting a beat scrolls the preview to it.
What you can change
| Selected | Settings |
|---|---|
| Beat | Words or one component, its position and text size, the footage section (Film) or frame (Book), how the words arrive, the transition into the next beat and its strength, length in screens of scrolling, how long the camera settles, its own fonts, and — in a Book — captions and speech. |
| Page | Title, address, footage (a Book page can use images instead, in an order you set), the transition in from the previous page, fonts, search title and description, and a visitor password. |
| Story | Film or Book, a Book's direction, theme, story fonts, and every scroll setting: default beat length, seam overlap, top bar, section rail, scroll hint, holding the last frame and fading out at the end. |
| Cover and last page | Title, subtitle, byline and cover image; closing line, up to two links, a share button, and the footage credits. |
Saving and undo
Reference
Kinds and transitions · 6
Every transition is driven by the scroll, never by a timer: a page half-way across a seam is half-turned, and scrolling back turns it back. They work between beats and between pages. Reduced-motion settings turn every one into a plain dissolve.
| Kind of story | What it is |
|---|---|
| Film | One continuous page. Video moves smoothly as the visitor scrolls, with words and components over each scene. |
| Book | A frame-by-frame story made from video frames or images. Each screen shows one frame, and pages are navigated with Previous and Next. |
| Transition | What happens as you scroll across the seam |
|---|---|
| Vertical | The next scene dissolves in as the words rise. |
| Horizontal | Scenes slide sideways, like walking from room to room. |
| Book | The page turns about its spine as you scroll. |
| Pagination | One clean step per scene, like flipping a page. |
| Crossfade | A straight dissolve between scenes. |
| Cut | A hard cut at the middle of the seam. |
Each beat’s words can arrive as Fade, Slide up, Slide from right, Slide from left, Scale, Blur in, Cinematic or None, driven by the scroll like everything else.
Look
Themes and fonts · 21
A theme sets the paper, ink, accent, corner rounding and the two faces a story uses. Fonts can be changed for the whole story, one page, or one beat — the nearest one wins.
Fonts
- Pick from a curated list of typefaces. There is no free-text font field: a typo would silently fall back to a system font.
- Fonts are served from our own servers, so a visitor's browser never contacts a third-party font host.
The themes
Each card is drawn in that theme’s own colours and faces.
Going live
Publishing
Nothing is public until you publish it. Your draft is yours alone until then, whatever the editor says about saving.
Publish, and go back
- Each publish writes a version: the whole story, exactly as it was.
- Restoring an old version brings it back as your DRAFT. Putting it live is a second, deliberate step — losing a week of work to one click is not a feature.
- The editor and the project page tell you which version is live.
- Preview any version at its own URL without touching the live site.
Password-protected pages
Any page can ask for a password first. It is one shared password per page, not visitor accounts — right for a client preview or an unlisted deck.
- Set or change it in the page settings in the editor. It is never shown again after you save it.
- Changing the password immediately locks everyone who had the old one back out.
- A gated page is left out of your sitemap and asks search engines not to index it.
- Restoring an old version never unlocks a page.
Your address
Custom domains
Every project gets a free address at your-project.{root}. Connect your own when you are ready.
Connecting one
- 1Add the hostname under the project’s Domains page.
- 2Publish the TXT record we show you. This proves you control the name — a CNAME alone proves nothing, so without it anyone could claim any domain.
- 3Add the CNAME (or the A record, for an apex like example.com — apex names cannot carry a CNAME).
- 4Press Verify. HTTPS is arranged automatically once it resolves.
More than one name
A project can hold several hostnames but has one primary. Links, social previews, robots and the sitemap all use the primary, and the others can redirect to it — two names each calling themselves canonical splits your search ranking between them.
Visitors
Analytics
What we count
- Page views and clicks, per page and per link, with internal and external links separated.
- A rough visitor location from network-level headers. No third-party tracker is loaded unless you add your own.
- Visitor IP addresses are salted and hashed the moment they arrive, so returning visitors can be counted without anything identifying being stored.
Developers
Connect an AI assistant (MCP)
Let an assistant make stories for you
- 1Open
Settings → API tokensand create a token. It is shown once; copy it then. It acts as you, in the workspace you made it in, and stops working if you leave it. - 2Add the server to your assistant. The endpoint is
https://storiefied.com/api/mcp, with the headerAuthorization: Bearer <token>. - 3In Claude Code, one command does it:
claude mcp add --transport http storiefied https://storiefied.com/api/mcp --header "Authorization: Bearer <token>" - 4Ask for a story. The assistant can list your footage, find and import stock video, and create a Film or a Book. What it makes stays a draft until you publish it.
For models
What it can do
| Tool | What it does |
|---|---|
whoami | The account and workspace this token acts for, and the plan's story limits. |
list_zoetropes | Footage in this workspace that is (or is becoming) a zoetrope — the thing a story page plays. Only zoetropes with usableInStory=true can be passed to create_story. |
get_zoetrope | One zoetrope's status and transcode progress. Poll this after make_zoetrope or import_stock_video. |
list_library_videos | Videos already in the workspace library (uploads and stock imports) that make_zoetrope can turn into footage. |
list_library_images | Images in the workspace library (uploads and stock imports). Pass their assetIds, in reading order, to create_story as a Book's imageAssetIds. |
make_zoetrope | Start turning a library video into a zoetrope. Returns the zoetropeId immediately; transcoding takes a while — poll get_zoetrope until status is ready. |
search_stock_video | Free Pexels videos short enough to become a zoetrope on this plan. Leave query empty for what is trending. |
import_stock_video | Copy a Pexels video into the workspace library and (by default) start making it a zoetrope. The author is credited on the story's last page automatically. |
list_stories | Stories (projects) in this workspace, newest first, with their editor and preview links. |
get_story | One story's pages and beats (titles and words), for review before editing it in the editor. |
create_story | Create a new story (project) and draft it: an AI draft that watches the footage on plans that include it, otherwise a structured starter. FILM: exactly one zoetropeId that was made from a VIDEO — one continuous scrolled page. BOOK: one still frame per screen with Previous/Next; give zoetropeIds (one page each, frames are one per second) OR imageAssetIds (library images, one page, one frame per image, in order) — not both. The story is NOT published; open editUrl to refine and publish. |
Help
When something is wrong
| What you see | What it usually is |
|---|---|
| The upload failed straight away | The file is not video, GIF or an image set, or it is over the size limit. Both are checked on the real file, not on what the browser claims. |
| Processing failed | The card shows the reason from the encoder. An unsupported codec or a truncated file are the common ones — re-export as MP4 and retry. |
| A beat is missing from the page | It points at a section the footage does not have — usually after changing the page's footage. Pick a section for it in the editor. |
| A page shows no film | It has no footage selected, or its footage was processed long ago and needs uploading again. The preview says which. |
| My changes are not on the live site | Saved is not published. Press Publish in the editor or on the project page. |
| The domain will not verify | DNS takes time to spread. Confirm the TXT record is on the exact name we showed, then try again in a few minutes. |
| A page asks me for a password | Somebody protected it. The password is not recoverable — set a new one from the page settings in the editor. |
Still stuck? Write to support@storiefied.com with your workspace name and, if a site is involved, its address.