FH Shorts ships word level editing

FOTOhub Press Team · · 12 min read

Since its July launch, FH Shorts has rebuilt captions, editing and hook selection around one idea: show the creator exactly what they are getting before they spend a render on it.

FH Shorts ships word level editing

FH Shorts launched in July alongside FOTOhub's $8.6M raise, serving a base

that stood at 750,000 users across more than 40 countries at the time, with

a straightforward promise: point it at long form video and get back short

form clips ready for TikTok, Reels and YouTube Shorts.

The pipeline worked. What became obvious within weeks of real usage was

that the pipeline was not the hard part. Creators were not frustrated by

the transcription or the reframing or the render. They were frustrated by

uncertainty. They would pick a clip, choose a caption style, hit render,

wait, and then discover that the captions sat over the speaker's face, or

that the opening three seconds were a throat clear and a conjunction, or

that the clip they thought ran twenty two seconds actually ran twenty six.

Every one of those discoveries cost a render to make.

So three of the core stages got rebuilt: captions, editing, and the

opening hook. All three changes serve the same principle. A creator should

be able to see exactly what they are going to get before they spend

anything finding out.

Recut: strike a word from the transcript and the video loses it

The largest change is a new way of editing that works the way editors

already think about spoken content, which is as text.

FH Shorts now presents the clip's full transcript as an editable surface.

Click a filler word, an "um", a trailing "so", a stray "like", and it

disappears from the video itself, not merely from the caption line

underneath. The clip gets shorter. The audio closes over the gap. This is

word level editing driven by the transcript, and for talking head content

it is dramatically faster than scrubbing a timeline looking for a

waveform dip.

The engineering underneath it is what makes it trustworthy. The planner

that computes a preview and the planner that computes the final render are

the same code, deliberately written as a pure function with no video

processing and no database access inside it. That is why the duration

displayed before rendering is the duration that comes out, rather than an

approximation that drifts. There is no second implementation to disagree

with the first.

The cut rules are where most of the quality lives, because naive word

removal sounds terrible. Cut boundaries never land inside a word that is

being kept, which is the difference between a clean edit and a clipped

consonant. Removals widen outward into the surrounding silence rather than

slicing at the exact word boundary, because human speech does not start

and stop on frame edges. And leftover islands shorter than 150

milliseconds get absorbed instead of preserved, since a fragment that

short is an artifact rather than a syllable anyone intended to keep.

Recut runs as two passes at different points in the pipeline. It applies

once after diarization and translation during the caption stage, and again

during the render stage, where it also remaps B roll placement and the

audio track so that secondary footage and sound stay aligned to speech

that has moved.

In the editor, the interaction is direct. Words appear on the timeline.

Click to strike one out. Double click to hear the audio around it before

committing, which matters when deciding whether a pause was clutter or

emphasis. Likely filler words arrive pre underlined, so a creator opening a

new clip has a suggested starting point rather than a wall of undifferentiated

text. And the running duration updates as words come out, which means the

decision about whether a clip fits a placement gets made during editing

rather than after a render.

Captions rebuilt as a document, with fonts that are actually licensed

Captions used to be static subtitle strings burned onto the frame. That

model cannot express much, and it showed.

They are now a full caption document that owns word timing, emphasis and

layout as structured data. Because the document knows which word is being

spoken when, and which words carry emphasis, it can animate per word

rather than per line. And because layout is part of the document rather

than a fixed screen position, caption lines get placed against the subject

the reframe engine already located in the frame. Text stops covering

faces mid scene, which was the single most common complaint about the

original implementation.

Ten presets ship out of the box, each modeled on a look creators already

recognize: Hormozi, MrBeast, Lex Fridman, Ali Abdaal, TikTok Viral,

Podcast, Karaoke, News, Cinematic and Gaming. These are not ten color

swatches on one template. They differ in weight, timing, emphasis

behavior, positioning and how aggressively they animate, because a

punch per word style built for retention and a restrained lower third

built for a long form interview are solving different problems.

Behind the presets are 56 licensed font families. That number is smaller

than it could have been, and the reason is worth stating plainly: Impact,

which is the font most associated with this style of caption, is not

included, because it cannot be licensed for this use. Shipping it anyway

would have been easy and would have quietly handed every customer a

licensing problem inside commercial content. The catalogue is what can

actually be licensed, and the presets are designed around that constraint

rather than pretending it does not exist.

Translation carries the caption document into another language while

preserving the original word timing, rather than regenerating subtitles

from scratch and losing the emphasis and rhythm the original edit

established. For anyone publishing the same clip across language markets,

that is the difference between a localized version and a version that

merely has the right words in it.

The emoji layer, animated properly

Running alongside captions is an animated emoji layer, and it got the same

treatment as the fonts: real assets instead of whatever the system

happened to have installed.

The pool is 540 individual emoji across five visual sets, with Fluent 3D as

the default. Each one animates as a 24 frame sequence rather than

appearing and sitting still. On entry, over 240 milliseconds, it overshoots

to 1.18 times its final size, wobbles through eleven degrees of decaying

rotation, and lands with a burst ring and seven sparks. It holds for 1.15

seconds with a subtle 3.5 percent bob so it does not read as a frozen

sticker, then exits over 190 milliseconds.

Those numbers are in the article because they are also in the browser. The

editor preview runs the same motion constants as the renderer, so the

animation a creator approves is the animation that ships.

There is also a quality accounting change that matters more than it

sounds. When the pipeline cannot serve an emoji from the primary pool and

has to fall back, to a CDN copy or ultimately to a 72 pixel bitmap, that

degradation is counted as a health metric rather than silently shipping a

softer looking frame. Silent quality loss is the kind of defect that

survives for months because nobody can point at it. Counted quality loss

gets fixed.

A hook engine that scores openings before spending a render on them

The first three seconds decide whether a short gets watched. FH Shorts now

treats the opening as its own engineering problem.

The system generates ten hook variants drawn from documented opening

archetypes, structures like a curiosity gap or a pattern break, and then

ranks them deterministically, without a language model call in the scoring

path at all. Four signals count in favor: how quickly the line reads at a

glance, whether it opens a loop the viewer wants closed, how concrete the

wording is, and whether it addresses the viewer directly in second person.

Three count against, and they are the openers that reliably kill retention:

leading fillers, opening conjunctions, and back references to context the

viewer does not have because they just arrived.

Scoring without a model call is a deliberate choice. It makes ranking

instant, free, and identical every time, which means a creator comparing

two hooks is comparing the hooks rather than the weather inside a model.

The hook is rewritten as an overlay while the original audio stays

untouched, so a stronger opening does not require refilming or redubbing

anything. The panel also sets up an A/B test automatically, with diverse

archetype arms and the original line kept as the control, and it always

carries the metric the test should be judged on rather than leaving that

to be reconstructed later.

The fallback behavior is worth noting because it reflects a general

principle in how this was built. If FOTOhub's language layer is

unreachable, the hook engine does not invent lines. It extracts real

sentences from the clip's own transcript instead. A degraded hook engine

returns something the speaker actually said. It does not put words in

their mouth.

Thumbnails were addressed in the same pass: covers are generated as real

thumbnails chosen from the clip rather than defaulting to frame zero,

which on a talking head clip is very often a half blink.

Score breakdown: why a clip scored the way it did

Clip selection has always been the part of FH Shorts that felt like a

black box. The pipeline analyzes a long video, proposes candidates, and

scores them. Previously that produced a number.

Now every rendered clip carries a full score breakdown: measured hook

strength, retention signals derived from the edit itself, a suggested

title, and suggested hashtags generated from the actual content. The

breakdown is measurement recorded at the time of analysis, which means it

can explain a score after the fact instead of asserting one.

That breakdown flows into the webhook payload FH Shorts sends to partners,

so teams piping clips into their own publishing tooling receive the

reasoning alongside the asset. If an automated workflow is deciding which

of nine clips to schedule, it now has something to decide with.

The editor's progress display was rebuilt to match. Eight visible stages,

each with its own live status: import, transcribe, detect, AI clip select,

reframe, captions, audio, render. When a job is slow, a creator can see

which stage owns the delay.

What the full flow feels like now

The shape of the pipeline has not changed. Bring in a long form video by

URL or upload. FH Shorts ingests it, transcribes it, separates speakers,

detects scenes, and proposes clip candidates scored for short form

potential. The creator picks the ones worth working on.

What changed is how much shaping happens before any render is paid for.

Choose a reframe mode, whether that is automatic face tracking, a center

crop, a dynamic pan or a Ken Burns move. Choose one of the ten caption

presets and see it animate in the browser. Look at the hook score, and if

the opening is weak, take a better ranked variant. Open the transcript and

strike the words that were never worth keeping, watching the duration fall

as you go. Toggle emoji, enhance the audio, add music. Then render, once,

knowing what is coming, and export at 9:16 for the main placement or 1:1

and 16:9 for everywhere else, with an MP4 and an SRT on the way out and

the finished clip saved to the FOTOhub library.

What this changes for different kinds of creators

A podcaster with a weekly two hour episode was already the core use case,

and the difference now is throughput per episode. Instead of accepting the

three clips the pipeline liked most and publishing them as rendered, the

same episode yields clips that have been tightened word by word, opened

with a scored hook, and captioned in a style that suits the show, without

the four render attempts that used to be the cost of getting there.

An agency running short form for multiple clients gets consistency and

auditability. Caption presets keep a client's look stable across everyone

on the team, the score breakdown gives a defensible answer when a client

asks why one clip was chosen over another, and webhooks push finished

assets into whatever scheduling stack the agency already runs.

An educator or a B2B team publishing talking head explainers benefits most

from Recut and translation. Explainer content is dense with hedges and

restarts that are natural in speech and fatal in a thirty second clip, and

removing them by clicking text is a fundamentally different task from

finding them in a waveform. Then the caption document carries the tightened

edit into another language with its timing intact.

A creator publishing across markets stops treating localization as a

separate production. One edit, one caption document, several languages, the

same emphasis and rhythm in each.

What it costs

FH Shorts bills per stage, and each stage is a flat charge per call rather

than a rate against the length of the source video. A two hour episode

costs the same to transcribe as a ten minute one, which is the pricing

detail that matters most if the material sitting in your archive is long:

A full pass from import through to a rendered clip, calling every stage

individually, totals roughly $1.18. Running the same pipeline through the

single agent call instead prices at about $0.80, because it is billed as one

operation rather than seven. Prices are shown in USD.

None of the new editing tools add a fee at render time. Recut, the caption

presets, the emoji layer and hook scoring change what gets rendered, not

what rendering costs. What they change economically is the number of

attempts, because the previous workflow's real expense was rendering three

times to get one clip right.

Available now

Everything described here is already live in the FH Shorts editor at

/fh/shorts. There is no new plan tier, nothing to enable and nothing to

migrate. Open a project that is already in progress and the transcript

editor, the caption presets, the hook panel and the score breakdown are

simply there.

If you have a long form library sitting unused because clipping it by hand

was never going to happen, this is the version of FH Shorts worth starting

with.