ListenHub Hypit
Rebuild a reference video end to end — ListenHub generates every asset, hypit assembles the cut, aligns captions and renders locally, leaving a project you can keep editing.
Most ListenHub skills produce one artifact: an episode, a track, an image. listenhub-hypit produces
a video project. It takes a reference clip, a brief, or your own footage, works out what the
finished piece needs, generates every missing asset through ListenHub, and assembles them into a
hypit project that renders to an MP4 on your machine — and that you can re-render after changing one
line of dialogue.
The split is worth understanding before you start:
- ListenHub generates and transcribes. Images, video takes, speech, cloned voices, music, and word-level transcripts all come from ListenHub's public API, billed in credits.
- hypit is an external, locally installed CLI. It analyzes footage, holds the Script — hypit's structured record of every line, segment, and timing in the project — computes caption alignment, composites the result, and renders it. It runs on your machine and costs nothing to run.
- The bundled Provider is the bridge: it exposes two hypit capabilities — word-level alignment and background removal — backed by ListenHub instead of a third-party cloud.
No HypiHub account is required. The project, the render, and the keying all stay on your machine. The only data that leaves it is what the ListenHub API calls send — and the quote lists every one of them in advance.
Trigger
Invoke this skill with /listenhub-hypit, or use any of these phrases:
| Phrase | Language |
|---|---|
hypit video / remake this video / reproduce this clip | English |
talking pet / character dialogue / keep the original audio | English |
用 ListenHub 做 hypit 视频 / 参考片复刻 | Chinese |
角色对话 / 宠物说话 / 沿用原声 | Chinese |
Requires ListenHub Skills to be installed — see Getting Started.
Quick Example
Remake this clip with my product in it, keep the original BGM, swap the voiceover to English:
https://example.com/reference.mp4The agent probes the clip, plans the cut, and comes back with an itemised quote. Nothing is charged until you approve it.
What it chains
The skill does not reimplement generation. It routes each job to the ListenHub skill that already owns it, passing explicit models and parameters rather than inheriting that skill's defaults.
| Job | Routed to |
|---|---|
| Character, portrait, product and camera-angle stills | /image-gen, results land in assets/ |
| Video takes | /video-gen, restricted to Seedance Pro / Fast or MiniMax H3 |
| Narration with a built-in voice | /tts, one call per Script segment |
| A voice you will reuse across projects | /voice-clone once, then /tts with the saved speakerInnerId |
| One-off reference cloning, multi-voice, sound effects | /listenhub-voice |
| Original music, stem separation, lyric timing | /music |
| Word-level transcripts and caption alignment evidence | The bundled Provider → ListenHub transcription |
| Still-image cutout | The bundled Provider → Seedream 5.0 Pro green-screen pass, then local keying |
| Reusing the reference clip's own audio or BGM | hypit / ffmpeg locally — no credits |
Prerequisites
| Requirement | Notes |
|---|---|
Node.js and npm | Node >= 22.15 |
The listenhub CLI | The generation skills call through it |
ffmpeg and ffprobe | Used for probing, cutting, and audio extraction |
uv | Required by the managed runtime |
| A ListenHub API key | Reused from your existing local OpenAPI config where one exists |
The agent installs and runs everything itself — you are not expected to type these commands.
npx skills add hypit-ai/hypit -g
npm init -y
npm install @hypit/hypit@0.2.1
npm install --install-links <path-to-installed-skill>/listenhub-hypit/provider
npx hypit runtime init<path-to-installed-skill> is wherever your agent installed ListenHub Skills — the agent resolves it
itself, and the same directory holds the templates/ files referenced below.
Work in a dedicated video project directory and run every hypit command through npx hypit so the
project's pinned version is used rather than whatever is on PATH.
hypit runtime init writes a profile that points at HypiHub. In a brand-new project, replace it
with the skill's templates/hypit.runtime.json and run
npx hypit runtime use ./hypit.runtime.json before starting anything. In an existing project,
merge the template in rather than overwriting — the profile may hold local config you still need.
The API key is stored through hypit's credential store, never written into the profile or a command line:
npx hypit auth login listenhub.local --slot apiKey --from /private/temporary/key-file
npx hypit auth status listenhub.local --jsonDelete the temporary file afterwards. On Linux without a desktop keyring, hypit falls back to a user-private file; macOS and Windows use the system credential store.
Rendering needs a managed runtime (Chrome, OpenCV) that a fresh machine does not have:
npx hypit runtime up --runtime ./hypit.runtime.json
npx hypit doctor --runtime ./hypit.runtime.json --jsonThese local installs cost no credits. A MANAGED_PROGRAM_DOWN error is a runtime problem, not a
failed generation — fix it before submitting anything billable.
How a production runs
Pin down the piece
Starting point, number of finished cuts, duration, aspect ratio, language, characters, and voices. The agent asks only for what is still missing and would change the result.
Read the reference
npx hypit media probe, tile, and frames expose shot structure, pacing, action, and layout while
you listen to the original audio. Word-level dialogue and timing come from transcription — a paid
step, quoted like any other. Skip it when you are keeping the audio and do not need captions.
Quote before spending
Every planned call is listed with its price source, totalled, and checked against your balance before anything is charged. See What it costs.
Generate the missing assets
Stills, takes, speech, and music are produced through the skills in the table above and downloaded
into the project's assets/, each recorded with its task ID, prompt, model, and credit cost.
Assemble and render
Assets enter the project as asset:Image / asset:Video / asset:Audio nodes or as <file>
candidates in an .svrun. Then:
npx hypit check narration.svrun --json
npx hypit plan narration.svrun --runtime ./hypit.runtime.json --json
npx hypit build narration.svrun --runtime ./hypit.runtime.json --followcheck and plan must show only local endpoints and listenhub.local.
Verify the cut
Play the output and pull frames: picture, caption sync, audio, matte edges, transitions. Delivery is the actual local MP4 plus the project path, the quote, and the difference against credits actually spent.
Four starting templates ship with the skill — narration, dialogue, action, and cutout, plus a
shared styles.svs. They are examples to edit, not fixed formats: subject matter and character type
are unconstrained, and a single timeline can mix spoken segments with pure-action ones.
Reusing the reference audio
Keeping sound you already have is the cheapest path through the whole workflow, and the skill defaults to it rather than regenerating.
| What you want | How it is done | Cost |
|---|---|---|
| Original picture and original sound together | Normalize keeps the video's audio track; mix it into the cut | Free — local |
| New picture, original sound unchanged | Extract the track with ffmpeg or hypit media:ExtractAudio, align to the new picture | Free — local |
| Only the background music (BGM), or only the vocal | Separate tracks directly when the source has them; otherwise /music stem | Billed, quoted separately |
| The original voice driving a new performance | Crop the audio and pass it as reference audio to Seedance or MiniMax H3 | Billed as video generation |
| New dialogue in a similar voice | One-off reference cloning via /listenhub-voice, or /voice-clone for reuse | Billed, quoted separately |
| New score | /music — or no music at all | Billed, quoted separately |
Extracting a track keeps everything in it, including dialogue — it is not vocal removal. When you
are scoring new picture with extracted original audio, set the generated video's Normalize audio
to none so the old dialogue does not bleed through or double up.
You are responsible for holding the rights to any audio you did not create. The skill asks you to confirm this once; it does not verify the answer and does not clear rights on your behalf.
What it costs
Nothing billable runs before you see a quote. The skill lists every planned item — stills, takes per segment with model and duration, TTS character units, music tracks, transcription milliseconds, cutouts, clone saves — with the source of each price, the total, and your balance.
Prices come from the live estimate endpoints wherever one exists:
| Item | Estimate endpoint | Reference |
|---|---|---|
| Video | POST /v1/video-generation/estimate-credits | AI Video |
| Images and cutouts | POST /v1/images/generation/estimate-credits | Image Generation |
| Balance | GET /v1/user/subscription | Subscription |
| ListenHub Voice | POST /v1/listenhub-voice/estimate-credits | Not yet documented |
| Transcription | POST /v1/audio-transcriptions/estimate-credits | Not yet documented |
Video estimates come back in US dollars rather than credits, and the skill converts them at the service's current rate, keeping both figures in the quote. Transcription is 1 credit per started minute of audio, reserved rather than deducted until the task settles. A cutout is billed against Seedream's free image quota when the account still has some, but the estimate endpoint always reports the full credit cost — so the quote shows the worst case, and the reconciliation shows what was actually spent.
Items with no estimate endpoint are quoted from a dated rate table and marked as such. Existing assets, local extraction, cutting and mixing are listed at zero. Changing one line of dialogue or adding a variant re-quotes only the new work; a full re-confirmation is needed only when the account, scope, or budget changes.
npx hypit pricing prices only the Provider's transcription and cutout calls. It is not a
substitute for the full quote, and the Provider's 60-second rate sample (usageKnown: false) is a
unit rate, not the cost of your piece.
Balances are recorded before and after each call, and every task's ID, model, and billed output is reconciled against the quote. Refunds for failures and unsettled reservations are listed separately.
The bundled Provider
The Provider adds exactly two hypit capabilities. Everything else still comes from the generation skills.
| Capability | What it does |
|---|---|
@hypit/whisperx@1#whisperx-alignment | Word-level transcript and timing from 16 kHz mono PCM audio, returned as alignment evidence |
@hypit/background-removal@1#remove-background | Re-renders a still on a flat green background via Seedream 5.0 Pro, then keys it locally to a PNG with alpha |
Transcription covers zh en ja ko vi th id ms fil hi ar fr de es pt ru it nl sv da fi no el pl cs hu ro bg hr sk.
Requests in other languages are rejected at the planning stage rather than silently routed elsewhere.
The language you declare selects the capability; ListenHub detects the spoken language itself and the API takes no language parameter, so the detected language can differ from the one you named. Check the returned text against the actual dialogue.
Transcription is idempotent by content: the key is a SHA-256 of the WAV bytes, the language, and the Provider contract version, so re-running the same input returns the original task without reserving credits again — failed tasks included. Paying to re-transcribe is a deliberate act with a new key, never an automatic retry.
Limits
These are the skill's own boundaries, and it will not claim more than them:
- Reference fidelity is not guaranteed. How closely a generated take reproduces a reference clip's motion, timbre, and lip sync varies with the model, the prompt, and the source material, and cannot be predicted before you render. Check the result; no reference video is promised an exact reproduction.
- Stem separation is lossy. Pulling vocals or BGM out of a mixed track leaves artifacts. Listen to the result before building on it — no mixed track separates cleanly.
- Cutout is a re-render, not a matte. The green-screen pass can redraw detail, and it renders at the nearest supported frame size rather than the source's exact dimensions — read the output's real dimensions before writing them into the project. Subjects wearing green, or made of glass or anything translucent, are the wrong input for this path. Video green-screen work goes through ffmpeg, not this capability.
- Reference audio is not passthrough. Driving a generation with the original voice produces a new performance; check the dialogue, pacing, and timbre of what comes back.
- TTS lines must match the Script exactly. Word-level alignment fails when the spoken text and the Script's text diverge.
This skill and its Provider are MIT-licensed. hypit is an external dependency under its own licence (hypit-ai/hypit), which requires you to keep the hypit CLI, Studio, run report, and manifest branding and copyright intact, and not to redistribute hypit as a hosted or paid product.
Related
Video Generation
The underlying text-, image- and reference-to-video skill
ListenHub Voice
Sound effects, multi-voice dialogue and one-off reference cloning
Voice Cloning
Save a cloned voice once and reuse its speaker ID across takes
Music
Original scores, stem separation and lyric timing
Composing Skills
How ListenHub skills chain together in one conversation