Commit Graph

153 Commits

Author SHA1 Message Date
rpone 40b74b7fc1 feat: add HTML document output and reusable runtime workers 2026-10-12 23:11:22 +08:00
kashorin 68f1693645 refactor: publish video-domain packages independently for 0.3.1 2026-10-09 18:13:50 +08:00
kashorin 38741d3fb0 build: simplify multi-package publication 2026-10-09 03:33:32 +08:00
kashorin a80beb4dda fix(release): assemble embedded packages from ownership graph 2026-10-09 02:43:14 +08:00
kashorin 3c50b91e02 fix(cli): relaunch installed host from its physical path 2026-10-09 02:30:03 +08:00
kashorin 84f7ad148a fix(cli): resolve installed bootstrap through package imports 2026-10-09 01:57:02 +08:00
kashorin b8577391a9 build: assemble the 0.3 distribution release closure 2026-10-07 20:45:22 +08:00
kashorin 205bfeb98d refactor: establish the adaptive composition model 2026-10-07 20:44:28 +08:00
rpone e8f94006e1 chore(release): prepare @hypit/hypit 0.2.17 2026-10-01 11:24:02 +08:00
rpone 557497b32a chore(release): prepare @hypit/hypit 0.2.16 2026-09-26 19:55:56 +08:00
kashorin 8a3af4fbac chore(release): prepare @hypit/hypit 0.2.15
Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-26 07:31:33 +08:00
kashorin c80e5137ab fix(test): declare linkedom as a dev dependency
capture-scope.test.ts imports linkedom, which only resolved locally as a
transitive dependency; CI type checking failed with TS2307.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-26 07:31:33 +08:00
kashorin 2acc41ce47 chore(release): prepare @hypit/hypit 0.2.14 2026-09-26 06:42:28 +08:00
rpone 238fe97fce chore(release): prepare @hypit/hypit 0.2.13 2026-09-23 17:46:30 +08:00
rpone 5a568f4be4 chore(release): prepare @hypit/hypit 0.2.12 2026-09-21 17:32:58 +08:00
rpone 5d257c5a50 chore(release): prepare @hypit/hypit 0.2.11 2026-09-21 14:44:20 +08:00
rpone 46b882d4b2 chore(release): prepare @hypit/hypit 0.2.10 2026-09-20 10:45:31 +08:00
Sharky Wang a2d13d535d feat(beatapi): serve the installed video and image models on BeatAPI (#331)
* fix(studio): serve composition material in the ranges a media element asks for

The material route advertised accept-ranges and answered every request with
the whole resource. A media element that asks for the tail index of an MP4
waits for the entire file before it can show a frame: measured 407 ms against
70 ms on a 124 MB source, and the full transfer time when the source arrives
slowly.

Reuse requestedByteRange, which the artifact route on the same server already
uses, and answer 206 with content-range, or 416 when the range is outside the
resource. A ranged response now takes a view of the material rather than
copying the whole resource per request.

* feat(beatapi): serve the installed video and image models on BeatAPI

`@hypit/provider-beatapi` posts one task to `https://api.beatapi.io` with a
Bearer API key, polls `GET /v1/tasks/{task_id}` until it succeeds, and stores
every entry of `output.media` in the current Build. It maps the nine models the
Distribution already describes: the four Seedance variants, MiniMax H3, Grok
Imagine 1.5, GPT Image 2 and both Nano Banana models. It adds no model package.

One BeatAPI alias serves every input mode, so the request shape alone decides
which arrays travel. The opening and closing frames travel as one ordered
`images` array, which a wire mapping cannot write from two ports, so routes.ts
folds `first_frame` and `last_frame` into it.

Seven service limits are reported as unsupported before any reference is
uploaded: Seedance has no web-search field and `seedance-2-mini` no generated
audio, where an authored `false` is dropped and an authored `true` refused;
Seedance 2 does not render 1080p with reference images; Seedance 2.5 takes 4 to
30 seconds rather than an automatic length; MiniMax H3 orders its two frames
first then last; Grok Imagine 1.5 accepts one image at 1080p; GPT Image 2 has no
background field; and Nano Banana 2 takes ten references and four fewer ratios.
Nano Banana 2 spells its JPEG output `jpeg`.

References are uploaded to `POST /v1/files` and travel as the returned HTTPS URL,
within the service's own types and sizes: 50 MB for PNG/JPEG/WebP images and
MP3/WAV/AAC/M4A audio, 100 MB for MP4/MOV video. BeatAPI documents no data URLs.
Seedance's `person-reference` declaration is accepted and not transmitted, since
BeatAPI's task body has no field for it.

The documented request bodies for Seedance text and multimodal modes, MiniMax
frame pairs, Grok references, GPT Image 2 and both Nano Banana models compile to
BeatAPI's published examples.
2026-09-20 10:29:07 +08:00
Sharky Wang 0336a6f587 chore(release): prepare @hypit/hypit 0.2.9 (#328) 2026-09-20 05:36:27 +08:00
kashorin 168c537c4f fix(seedance): require visual reference classification for 0.2.8 2026-09-19 23:02:46 +08:00
kashorin 08dacbd5fc chore(release): prepare @hypit/hypit 0.2.7 2026-09-19 07:23:01 +08:00
Sharky Wang e2f25ba998 feat(pixverse): add the PixVerse V6 model package (#303)
`@hypit/pixverse@1` carries one exact model, `pixverse-v6`. It renders 1 to 15
seconds at 360p, 540p, 720p or 1080p from a prompt of up to 5,000 characters,
optionally starting from a first frame or bridging to a last frame.

`generate-audio` renders an audio track alongside the picture, including speech
the prompt asks a character to say. The model exposes no separate voice,
language or dialogue field, so a spoken line belongs in the prompt itself.

Three combinations the service does not take are stated in the port table: a
last frame needs a first frame, a run that starts from a frame takes that
frame's shape rather than an aspect ratio, and a run that bridges two frames is
one continuous shot rather than several clips.

The package owns model semantics and selects no Provider.
2026-09-18 18:06:06 +08:00
Sharky Wang fdf5ab3b20 chore: release 0.2.6 (#302) 2026-09-18 17:39:49 +08:00
Sharky Wang c86239820d feat(wan): add the Wan 2.7 image models and serve them on Monid (#301)
* feat(wan): add the Wan 2.7 image models and serve them on Monid

`@hypit/wan@1` carries two exact models, `wan-2.7-image` and
`wan-2.7-image-pro`. Both take a prompt of up to 5,000 characters, up to nine
reference images, and a resolution band; the Pro variant adds 4K. `count`
renders up to four pictures, or names the ceiling of an image set, where the
model chooses how many of up to twelve it returns. An image set shapes a
storyline the way extended reasoning shapes a single picture, so the two are not
stated together.

The model takes no aspect ratio: with references present the output follows the
last one, and a prompt-only request renders at the band's own framing. It reads
exclusions from the prompt rather than a negative-prompt field. The endpoint's
custom colour palette and per-image bounding boxes have no representation in the
port vocabulary, which carries scalars and media rather than object arrays, so
the package declares neither.

`@hypit/provider-monid` serves both through Monid's `alibaba` endpoints. Its
result path previously assumed one video: routes now name their result type and
collection downloads every returned file, so an image set arrives as a set.
Two service limits are reported before any reference is resolved: 4K renders
from a prompt alone, and a request renders at most four pictures outside an
image set.

The request bodies for text-to-image, reference editing, image sets and Pro 4K
validate against the endpoints' published input schemas.

* chore: refresh the lockfile for @hypit/wan
2026-09-18 17:19:23 +08:00
Sharky Wang 3c5c948b85 chore: release 0.2.5 (#287) 2026-09-18 04:47:30 +08:00
Sharky Wang c47984e087 chore: release 0.2.4 (#285) 2026-09-18 03:44:41 +08:00
Sharky Wang 6386639f2e feat(providers): add TokenDance, HiAPI, Pollo and Monid gateway Providers (#282)
* feat(providers): add TokenDance, HiAPI, Pollo and Monid gateway Providers

Each package maps the installed Seedance, Seedream, MiniMax H3, GPT Image,
Nano Banana and Grok Imagine models that the service offers onto the request
protocol that service documents, with an API key credential and no pricing
reader. Service input limits are reported through supports() before any
reference is resolved. Seedance person-reference declarations are accepted and
not transmitted, since none of these APIs carries such a field; the skill and
quickstart state that rule.

* docs(providers): state that Seedance rejects real human faces on TokenDance, HiAPI and Monid

* feat(providers): upload MiniMax inputs through TokenDance's file API and enforce documented inline media limits

* docs(skill): rewrap the Provider paragraphs

* docs: list the bundled TokenDance, HiAPI, Pollo and Monid Providers on the service page

* docs(skill): keep the HypiHub recommendation as written; point bundled partner Providers at the service page

* docs(skill): drop the person-reference note; Provider READMEs state it

* fix(providers): strip trailing base URL slashes without a regular expression

* docs(skill): restore the original text and add one pointer to the partner Providers page

* docs(skill): point at partner Providers only once the user has chosen one

* docs(skill): consult the partner page when the user names a partner service

* docs(skill): offer HypiHub or a partner API from the service page when a credential is needed
2026-09-18 02:45:21 +08:00
kashorin f4081f909c chore: release 0.2.3 (#280) 2026-09-17 21:03:11 +08:00
rpone d76e355542 chore: release 0.2.2 2026-09-17 18:21:11 +08:00
kashorin d68fe605c7 chore: release 0.2.1 2026-09-17 09:38:09 +08:00
Mikee Ai 917da83b72 fix(credentials): declare the platform Store in the distribution manifest
The distribution manifest enumerates every workspace package, so this Store was
the only one of the four missing from it. Declaring it restores the frozen
install as well: pnpm-lock.yaml records the root importer's dependency set.

The Store's `backing` accessor and options type had no consumer outside the
package, so the entry point exports the class alone and its own suite asserts the
selection through a write, the way the sibling Stores are covered. That suite now
imports the class through the package entry, which nothing did before.
2026-09-16 21:26:20 -04:00
kashorin bd728d05b9 feat(script)!: delimit semantic markers and preserve caption spacing 2026-09-17 06:58:25 +08:00
kashorin 7d0fc3cf68 chore(release): prepare npm 0.1.14 2026-09-17 03:45:36 +08:00
kashorin 8690e795c5 fix(credentials): separate management from reads and add explicit file storage 2026-09-17 03:30:36 +08:00
kashorin c66befec7f release: prepare 0.1.13 2026-09-16 22:28:23 +08:00
kashorin a94ebe4635 ci: execute the installed npm package through render and export 2026-09-16 22:27:43 +08:00
rpone e8f1fddeac release: prepare 0.1.12 2026-09-16 20:06:17 +08:00
rpone 768363b187 release: prepare 0.1.11 2026-09-16 15:54:18 +08:00
rpone 98000342cc release: prepare 0.1.10 2026-09-16 03:46:09 +08:00
kashorin 5433a2600e release: prepare 0.1.9 2026-09-15 22:20:29 +08:00
kashorin 012562c73a release: prepare 0.1.8 2026-09-15 01:03:49 +08:00
kashorin 4d3b4b0e4a release: prepare 0.1.7 2026-09-15 00:39:34 +08:00
kashorin 4af8ae1b1e release: prepare 0.1.6 and align production guidance 2026-09-14 23:29:54 +08:00
kashorin ce22da565d test(runtime): separate scale workloads from routine regressions 2026-09-14 19:48:20 +08:00
kashorin 582afcb5ea release: prepare 0.1.5 with portable render cleanup and dependency fixes 2026-09-14 19:27:53 +08:00
kashorin 5ae1470fd9 merge: integrate upstream speech models and CJK captions 2026-09-14 18:54:47 +08:00
kashorin 870fc33bc4 refactor: isolate build execution and complete production workflow 2026-09-14 18:48:45 +08:00
rpone 594bd89092 feat(speech): add Fish Audio and ElevenLabs speech packages
Add @hypit/fishaudio-speech (voice-design-1, voice-clone) and
@hypit/elevenlabs-speech (eleven_ttv_v3), each an exact-model package
with its own Source import, mirroring @hypit/mimo-speech. A voice
reference designed by one package is an ordinary audio Resource that
another package's Voice Clone accepts.

provider-hypihub maps the three new capabilities to
fishaudio/voice-design-1, fishaudio/voice-clone and eleven_ttv_v3 on
the existing /audio/speech route. The Fish Audio clone route sends the
constant voice_description title the service requires.

The ElevenLabs port table declares the documented 1000 character
ceiling; the 100 character floor is stated in the vocabulary.

Verified against the live HypiHub service through the Provider:
eleven_ttv_v3 returned three previews and the first fed
mimo-v2.5-tts-voiceclone; voice-design-1 returned one preview and it
fed voice-clone. All four results decode as audio.
2026-09-13 06:10:57 +08:00
kashorin b679e32192 refactor: unify adaptive timeline and presentation composition
Place prepared Takes on an independent Timeline with gaps and overlaps. Present picture, sound and captions through explicit Use rules while preserving source timing and project-authored styles.

Unify Companion bands, parameter ownership and source writeback in Studio. Migrate components, examples and authoring guidance, remove retired Speech/Semantic Track interfaces, and retain protocol identifiers at @1.

Validation: repository suite (786 tests; six sandbox-blocked tests passed on permitted rerun), 43 Studio tests after audit fixes, TypeScript, public declarations, four example-package builds, chat Source check and npm file inventory.
2026-09-13 01:01:47 +08:00
kashorin acc6aea0b0 chore(release): prepare @hypit/hypit 0.1.4 2026-09-11 17:55:10 +08:00