mirror of
https://github.com/hypit-ai/hypit.git
synced 2026-11-06 18:57:21 +00:00
a2d13d535d
* 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.