Build stateful agents with explicit control over every step. Keep humans in the loop and workflows on track.
OrchestrationHypit
Clone any viral video with AI agents. Not just a script, the whole workflow: swap the face, the words, the B-roll, ship 100 variants in one command, and get your 100M views.
Reliable multi-step workflows
10 releases
Official GitHub release feed
Follow the changes
The release trail
Original notes, ready to explore. Open a release to see what changed.
Hypitv0.2.5
From the release notes
MiniMax H3 on Monid @hypit/provider-monid now serves @hypit/minimax-h3@1#minimax-h3 through Monid's minimax /v1/video/minimax-h3, alongside the four ByteDance Seedance endpoints it already mapped. The model has a third bundled gateway Provider next to HypiHub, HiAPI, Pollo and TokenDance. (#286) H3 takes the same role-tagged ModelArk content array as the Seedance endpoints, names its model in the body, and carries neither the generate_audio nor the web_search field they take. Three differences are handled at the route: resolution is required by the endpoint while the model's port is optional, so a request stating none is sent at 2K, the resolution the HypiHub Provider also selects. The endpoint takes no adaptive ratio for text-to-video, while frame mode resolves the framing from the uploaded image and reference-to-video defaults to adaptive. A text-to-video request carrying no aspect-ratio is reported unsupported before any reference is resolved; the other two modes are sent as adaptive. H3 returns its video at content.url rather than the ModelArk video_url. Monid addresses an endpoint by provider and path, so each mapping now carries the provider that relays it instead of every run assuming bytedance. The rest of Monid's catalogue carries no other model this Distribution describes. Its ElevenLabs endpoints are voice-id based while @hypit/elevenlabs-speech@1#eleven_ttv_v3 is voice design and requires a voice description they have no field for, and the H3 Fast, Max and Max Turbo variants declare different models with their own value domains. Merged pull requests PR Author #286 feat(provider-monid): serve MiniMax H3 @rponeawa Contributors @rponeawa Update For a global CLI installation: npm install -g @hypit/hypit@0.2.5 hypit --version For a project-local installation: npm install --save-exact @hypit/hypit@0.2.5 npm exec --no -- hypit --version The installed Hypit Skill updates separately through the tool used to install it. Internal format and logical module identifiers remain @1. Script syntax is unchanged from 0.2.0. Updating does not migrate or rewrite saved video projects.
Hypitv0.2.4
From the release notes
Partner gateway Providers and media frame rate This release adds four bundled Providers for third-party gateway services and fixes a frame rate defect in local media execution that affects ffmpeg 7.x. Partner gateway Providers The Distribution now carries four Providers that serve the installed models each service offers. Each takes an API key credential and reads no pricing. Every one maps only the models the Distribution already describes, reports each service's input limits through supports() before any reference is resolved, and accepts Seedance person-reference declarations without transmitting them, since none of these APIs carries such a field. (#282) @hypit/provider-tokendance, credential tokendance.api-key. Seedance 2.0, 2.0 Fast, 2.0 Mini and 2.5, Seedream 5 Lite and MiniMax H3, through the Ark and MiniMax protocols TokenDance documents. MiniMax inputs are uploaded through TokenDance's file API. @hypit/provider-hiapi, credential hiapi.api-key. Seedance 2.0, 2.0 Fast, 2.0 Mini and 2.5, Seedream 5 Lite, MiniMax H3, GPT Image 2, Nano Banana 2 and Pro, and Grok Imagine video and 1.5 Preview, each submitted as one task to HiAPI's POST /v1/tasks with an Idempotency-Key, so a retried submission returns the original task. @hypit/provider-pollo, credential pollo.api-key. MiniMax H3, Grok Imagine 1.5 Preview, GPT Image 2, and Nano Banana 2 and Pro, through Pollo AI's per-model generation paths. Pollo offers no Seedance or Seedream model. @hypit/provider-monid, credential monid.api-key. Seedance 2.0, 2.0 Fast, 2.0 Mini and 2.5 through Monid's bytedance endpoints, with reference media uploaded through the Monid workspace file system. Models and deployment services describes each service and what its Provider covers. The Providers guide and the generation quickstart carry the same list, and the installed Skill points at the service page once a user names one of these services. Local media execution normalize and transform compiled an exact frame domain and asserted the encoded result against it, but did not tell ffmpeg what that frame rate was. Both filter chains end in setpts, which marks the filtergraph output link's frame rate as unknown, and -frames:v bounds the frame count without establishing a rate. On ffmpeg 7.x the encoder then fell back to 25 fps. Requesting a rate above 25 fps produced a frame count that no longer matched the plan and failed the operation's own assert, so a 30 fps project could not be normalized. Requesting a rate below 25 fps filled the count and wrote the container at 25 fps with the wrong duration, with nothing reporting it. Both operations now pass the compiled rate, as render-still-video already did. (#284, reported in #283) ffmpeg 6.1.6, 8.1.2 and 9.0.1 derive the rate correctly and were never affected. On those versions the encoded output is byte identical before and after this change, across both encoder branches and both input branches. The repository's own CI installs ffmpeg 6.1.1 on Linux and 9.0.1 o
Hypitv0.2.3
From the release notes
Local execution and request correctness File-backed credentials now share the Result store's native Windows replacement implementation. CLI and Worker processes can read and replace complete credential values without a process-local queue. Failed replacement preserves the previous value; unsupported filesystem operations report their errors. Windows OS credential replacement no longer deletes the previous value before writing. Child process timeouts and output failures terminate the helper. Explicit file/platform credential directories outside the Host state root are accepted again. Profiles retain control of their selected storage location. Generation mappings reject explicitly supplied media fields that cannot be transmitted, before uploading or submitting a request. Optional booleans preserve both true and false. Media preparation probes the selected FFmpeg/FFprobe executables in their execution environment. A probe-only Program reports installation/preparation accurately without claiming to be a running service. The launcher resolves its physical Distribution directory before loading packages. This fixes Windows short-path aliases incorrectly making installed fonts appear outside their own Distribution. Installed-package CI now verifies both Windows and Linux, including component build, fonts, explicit browser preparation, rendering, export and full media decode. The project video Provider example carries first/last-frame person-reference classifications through its illustrative upload transport. These changes do not add silent downloads, retries, fallback browsers, lock-file protocols, central queues or persistent coordination metadata. Logical module and format identifiers remain @1; Script syntax is unchanged. Updating For a global CLI installation: npm install -g @hypit/hypit@0.2.3 hypit --version For a project-local installation: npm install --save-exact @hypit/hypit@0.2.3 npm exec --no -- hypit --version The installed Hypit Skill updates separately through the tool used to install it. Update that installation from this repository to receive the revised Runtime profile guidance, which separates preparation, process startup and credential connection. Updating either installation does not migrate or rewrite saved video projects. Repository-only change: the optional AI analysis workflow is manually triggered, reads one issue or PR and returns advice in the Actions summary. It has no issue/PR write permissions and is independent of the npm CLI.
Hypitv0.2.2 — Windows media environment and credential store correctness
From the release notes
Windows media environment and credential store correctness This release includes Windows execution fixes and a change to credential directory selection. Existing Profiles with a file or platform Store path outside the Host state root are rejected by 0.2.2; this is a behavior change from 0.2.1. The new starter Store selection applies only to newly initialized Profiles. Windows media execution ffmpeg and ffprobe are started with a whitelist of environment variables so the Host environment stays out of media children. That whitelist was written for POSIX, so Windows children received neither %TEMP% nor %TMP% and failed to create their temporary files. Both the HyperFrames render path and the shared media execution path now carry a Windows list alongside the POSIX one. Host secrets are still withheld. (#259, #260) Credential storage runtime init writes a starter Profile that selects @hypit/credential-store-platform, so the Profile it produces opens and writes on Linux as well as macOS and Windows. macOS and Windows keep the platform locker under the same service and key, so an existing credential is still found. os, file and env remain selectable by name. (#247) A Profile's config.path for the file and platform stores is resolved against the Host state root and checked for containment. A path that escapes that root is rejected when the Store opens. An absolute path outside the root was previously accepted and now is not. (#265) Reads and replacements of one credential document take their turn within a process. resolve holds the document open for the whole read while put replaces it with a rename, and Node’s Windows rename implementation uses MoveFileExW, which can refuse replacement while the destination is open. The process-local ordering reduces this overlap within one process; it does not coordinate separate CLI and Worker processes. Cross-process replacement failures remain in 0.2.2. Keys stay independent. (#276) The Windows Credential Manager helper is bounded to the same 10 second timeout as the macOS security(1) call, so a stuck locker fails instead of hanging the CLI. (#261) Runtime and CLI programs down treats a Program with no valid Hypit PID and no start command as having nothing to stop, and reports No external programs to stop instead of exiting 1. The starter Profile's media.local and hyperframes.local declare only probe(), so a ready probe means the tool is installed, not that a process is running. A startable Program that is ready without a Hypit PID still reports not-ours. (#272) The overview help lists programs prepare|up|status|down, and programs and runtime without a selected Profile report the same recovery sentence that build, pricing, auth and the execution commands already use. (#266) Three packages declare the workspace packages their sources import. (#253) Documentation The English quickstart's Build workflow section carries the dependency preparation, .gitignore, shared asset library and archive command materi
Hypitv0.2.1 — cross-platform credential storage
From the release notes
Cross-platform credential storage Example Runtime Profiles now explicitly select @hypit/credential-store-platform, so the same Profile supports authentication on Linux, macOS and Windows. The package delegates to existing stores with a documented policy: macOS: Keychain through credential-store-os. Windows: Credential Locker through credential-store-os. Linux: unencrypted, owner-private local files through credential-store-file. Other platforms report an unsupported-platform error. A missing credential or backend failure never switches storage. No credentials are migrated. You can still select os, file or env directly; the CLI starter continues to select file. The policy lives in the new package, with no Core or protocol changes. This release also restores the previous English and Chinese README wording. Update npm install -g @hypit/hypit@0.2.1 hypit --version For a project-local installation: npm install --save-exact @hypit/hypit@0.2.1 npm exec --no -- hypit --version Internal format and logical module identifiers remain @1. Script syntax is unchanged from 0.2.0. See #246 for the implementation and validation.
Hypitv0.2.0 — authored Script boundaries and explicit local resources
From the release notes
What's changed Hypit 0.2.0 preserves authored text across semantic annotations and separates local resource preparation from execution. Script keeps authored display spacing. Chinese, Korean and mixed-script text retain their written separators. Speech tokens, display words and explicit Dual Text alignment groups remain distinct; spaces do not become timing tokens. Comments and annotations do not split complete words or detach their punctuation. Semantic markers have explicit delimiters. Selection and Moment markers use @{...}. Left/right affinity remains available, and Studio editing preserves the surrounding prose. Package documentation, examples and the Hypit Skill use the new syntax. Local resources are prepared explicitly. WhisperX prepares the selected ASR model, sentence data and requested alignment models before offline inference. Browser capture and video download also report missing preparation instead of installing during use. Resource choices remain with their owning packages and selected profiles. WhisperX accepts authored language codes. SVML language="ko" and CLI transcription can select Korean and other languages supported by the chosen endpoint. Model availability belongs to that endpoint, without a central cross-provider language whitelist. Joined caption backgrounds follow actual wrapping. Fine measures the complete Cue through the existing browser-program extension, including inactive words. Internally wrapped words receive full background coverage, translucent overlaps paint once, and borders follow the joined exterior. Existing semantic scheduling still determines activation. Portable diagnostics and tests. Credential-store guidance names explicit supported alternatives. Concurrency and process-exit tests cover independent writers and process reaping, and CLI tests use platform-resolved paths. Updating to 0.2.0 This release changes Script marker syntax. Update the executable and Skill through their respective installation channels, then update the Sources you intend to use with 0.2.0. For a global npm installation: npm install -g @hypit/hypit@0.2.0 hypit --version hypit version --check For a project-local installation, update that project's dependency and lockfile deliberately, for example: npm install --save-exact @hypit/hypit@0.2.0 npm exec --no -- hypit --version An existing ^0.1.x dependency range does not select 0.2.0 through an ordinary npm update. The executable and the installed Skill are separate. For a global Hypit Skill installed with the skills CLI, update only that Skill with npx skills update hypit -g; other installers use their own update method. Have the Agent read the updated Skill before continuing. Updating either installation does not silently rewrite a video project. Script markers and affinity Purpose Previous word's end Next word's start Selection start @{~name} @{name} Selection end @{/name} @{/name~} Moment @{~name!} @{name!} For example, @part text @/part becomes @{part} text @{
Hypitv0.1.14 — explicit browser preparation and portable credentials
From the release notes
What's changed Local rendering prepares, inspects and launches the same explicitly selected browser. Profiles can select an exact browser version, an existing executable or one archive mirror. Failed downloads do not switch sources, and npm dependencies no longer download an unselected Puppeteer browser. Workers and capture processes resolve the installation actually being executed. Rendering preserves element animation, waits for visual resources, improves process cleanup and samples Studio previews on source frames. Windows media execution retains the required process environment, OAuth preserves the complete authorization URL, and yt-dlp locates its Python service through its declared package. Credential replacement and deletion no longer require reading the previous value. The new explicitly selected file CredentialStore supports writable local credentials on Linux, without changing existing OS-store selections. Package resolution follows npm optional-dependency precedence; font resource errors retain their actual cause and installation guidance uses the owning package's declared version. Windows workspace tests, Telegram links and bilingual testing guidance are corrected. Updating Install the release with npm install -g @hypit/hypit@0.1.14. Prepare a selected local renderer explicitly with hypit programs up --runtime <profile> --endpoint <renderer> or hypit runtime up. doctor inspects without installing. Browser selection belongs to the Profile; use its chromePath or browserVersion setting instead of old browser-path environment hints. Mirror and cache settings are documented in the local renderer README. For Linux writable credentials, explicitly select the file CredentialStore in the Profile before login. File storage is unencrypted and requires a private directory; existing OS credentials are not automatically migrated. Merged changes: #241 and #242. The publication workflow runs Linux/Windows checks and installs, renders, exports and decodes the packaged CLI before publishing that same tarball to npm.
Hypitv0.1.13 — request rules, render lifecycle and project paths
From the release notes
Fixes Model-owned request rules now run when inputs are bound, complete requests are sealed, and generation is planned. Seedance's reference-audio restriction applies consistently to admitted files and upstream component outputs, with an actionable WAV/MP3 conversion error. Successful local HyperFrames workers flush their completion message, close their resources and exit naturally. Failure and cancellation retain process-tree cleanup; cleanup limitations remain visible in diagnostics. Project directory aliases resolve at the Node filesystem entry point. Sources inside an aliased project are accepted, and history queries can still find a Source after its directory is removed. In-project names beginning with .. are accepted while actual parent traversal and symlink escapes remain rejected. Contributor documentation now matches Node 22.15+ and the current release process. The Chinese Studio Companion guide uses the matching filename. Seedance documentation clarifies the existing explicit person-reference attributes for reference images, reference videos and first/last frames. Authors set these on each input; they are not inferred from media or inherited from earlier Results. Distribution checks A separate npm workflow installs the prepared tarball outside the checkout, compiles a project component, loads its font, renders and exports an eight-second video, and decodes the complete output. Publication uses the checked tarball. Linux and Windows repository tests also run before publication. Includes the original contributions from #216, #217 and #218, integrated in #220. Update npm install -g @hypit/hypit@0.1.13 For a project-local installation, update that project's ordinary npm dependency instead. This release updates the npm installation; no separate Skill update is required. Logical interfaces and file formats remain at @1, with no new request, Blob, Need or Result metadata.
Hypitv0.1.12 — Seedance m4a rejection and ps-free render cleanup
From the release notes
Two fixes on 0.1.11. Seedance rejects m4a reference audio at both layers. No Seedance provider accepts the container, so the Surface decode rejects an admitted .m4a file at authoring time, and the referenceAudio binding Producers apply the same check at runtime to Blobs produced by upstream components. Both errors direct converting the file to WAV or MP3 — <media:ExtractAudio> already produces canonical WAV. Runtime gap reported by @Flandern1211 in #219. Local HyperFrames render cleanup no longer requires ps. On hosts whose sandbox denies process enumeration, the post-render cleanup probe failed and discarded every completed render. Descendants are now enumerated with parent-scoped pgrep, the whole tree receives SIGKILL before the wait loop so reparenting reaps each process, and a completed render survives a failed best-effort cleanup. Reported by @goatyyc in #199, with an alternative fix proposed by @521Peter in #204. Update npm install -g @hypit/hypit@0.1.12 Logical interfaces and file formats remain at @1.
Hypitv0.1.11 — npm distribution package resolution
From the release notes
Two fixes for installations from npm, both reported against 0.1.10. A contributor checkout links these packages through node_modules; a published distribution resolves them through the machine package root and the Distribution resolver, which is where both failures lived. Authored fonts resolve from an npm installation. hypit packages install places an upstream asset under the machine package root, and the version selection now reads the same optional declaration that install was addressed to, so hypit check passes after the install it asks for. Reported by @daodaobing in #206 and by @wangyufeng336 in #211, fixed by @daodaobing in #208. Local HyperFrames rendering runs from an npm installation. The capture process preloads the package resolution its launcher installed, so the render entry point resolves @hypit/hyperframes. Reported by @daodaobing in #207 and by @wangyufeng336 in #211, fixed by @daodaobing in #209. Update npm install -g @hypit/hypit@0.1.11 Logical interfaces and file formats remain at @1.
A collected snapshot, not the complete archive.
Keep connecting the dots
There’s more where that came from.
Build agents, assemble teams, and orchestrate workflows with a toolkit designed to take them into production.
OrchestrationCompose AI agents and model-powered workflows with Microsoft’s SDK for Python, .NET, and Java.
Orchestration