Repository navigation
v0.5.0
·
1496 commits
to master
since this release
Most of this range landed on develop without PRs, so the auto-generated
notes name only the Mac PR (#470) and a deploy-script PR (#476). Paste this
section into the GitHub release body once the tag has published (gh release edit v0.5.0 --notes-file ...).
Breaking and behaviour changes
templates/ltx2/two-stageno longer hasfull_width/full_height. They
never changed the output, which is always exactly 2xwidth/height. A
call that still passes them is refused as an unknown variable (#506).- Every LTX-2.5 template refuses a
widthorheightthat isn't a multiple
of 32 at validate and atrun_workflow, before the pipeline loads (#505). - The MiniMax-H3 Ref2VA VRAM ceiling is now projected per step, after
for_eachexpansion, and adds 1 GB for each non-null reference. At
1344x768 on a 24 GB card the limits are 243/209/175/141 frames with 1/2/3/4
references. Calls that used to pass are now refused, for example 209
frames with 3 references. Afor_eachrefusal names the member
(Member 'shot@...'). Eight more Ref2VA templates declare the ceiling
(#479/#501). - A workflow with no
vram_estimategets avram_projection_inherited
warning, not a refusal, when the catalog template that loads the same
pipeline would be over its ceiling (#502). - The VRAM ceiling is checked against the serving device's own cost entries
(or its measured capacity), not every CUDA card in the catalog. A 64 GB
Mac is no longer refused against the RTX 3090 entry (#470). asset:,prompt:andoutput:references written directly into a step
are resolved at validate and at submission. A stored workflow with a
literal reference to a missing file now fails validation (#494).validate_workflowrefuses afor_eachitem's reference that resolves to
null, which the run already refused (#478). It also refuses a frame-size
mismatch between theasset:/output:/path inputs ofconcat_videosand
dissolve_videos(#504).- A
transcribe_audiostep withtimestampsmust setcontent_type: application/json(#498). - A
weight_name(a LoRA's, an IP adapter's) must be a relative file inside
the model repo. An absolute path, a backslash, a drive or a./..
segment is refused at validate. Media path and glob refusals no longer
list the server's directories. previous_result:<step>.<key>for a key that no result carries is an
error. It used to run zero iterations and save nothing.templates/minimax/video-with-audio-768pruns its turbo LoRA at its
trained strength. It had been running at 16x, so its output changes (#468).- On macOS, parallel checkpoint loading is off by default, and so is SDNQ
quantized matmul on MPS. Group-offload CUDA streams are dropped, with a
warning, when the onload device isn't CUDA or XPU. An explicit
HF_ENABLE_PARALLEL_LOADINGstill wins (#470). - A
for_eachwhose members produce the same shot name now warns
shot_name_collision(#508).assess_outputhas a newshot_dead_air
finding for silent gaps inside a shot, andconcat_videosmarks its joins
as hard cuts, soseam_frame_jumpno longer fires on a deliberate cut
(#465/#466).
New
- Apple Silicon (MPS): the CUDA templates, LTX-2.5 and
minimax/music
included, run unchanged. Memory figures and the chip name are real, and
torch's CPU-fallback warning is shown (#470). - The
attribute_voicestask names which reference voice sings or speaks
each line or window, by timbre. It uses demucs separation and ECAPA
embeddings, anddemucsis now a dependency.list_tasksmarks the
read-only probes with anassessmentflag (#485/#494). The
minimax-music3skill points to it for multi-singer songs (#495). normalize_audio(limit=true): a true-peak look-ahead limiter that reaches
target_lufspast a loud transient. It warnslimiter_heavypast 6 dB of
reduction andtarget_lufs_capped(limited: true) past 12 dB
(#474/#496).assemble-and-scoretakestarget_lufs(#467) andlimit(#497, still
open). Theseries-episodesskill says to match episodes downward to one
series target. Unfinished (#497): withlimit: truethe mix holds
-3 dBTP, but the AAC-muxed film can land up to about 1 dB above it.transcribe_audio(timestamps="segment"|"word")returns{text, chunks}.
Unset, it still returns plain text (#483).templates/ltx2/extend-cliptakes aclipto extend an existing clip.
The opening isn't generated when one is given (#446).save_workflow,delete_workflow,upload_asset,delete_assetand
list_assetstakeworkspace=for one call. Their replies name the
workspace they acted on (#463).- A LoRA with
model_name: nullis switched off and warnslora_disabled.
It used to validate clean and then fail after the model load (#469). get_guide(section=...)reaches a###subsection and returns its
parent_section(#503).upload_asset's refusals give a workingcurltoPOST /api/uploads
and state the 200 MB limit. The guide explains thatfor_each
item-levelfrom_previous_resultmust name the member, as
slice@<entry>(#481/#482).- A running job's
manifest.jsonis rewritten after each step, so finished
for_eachmembers show up before the run ends (#480). SECURITY.md: report vulnerabilities privately, not as issues.
Fixes
templates/ltx2/extend-clipfrees the opening's pipeline before the
extension loads, so it no longer holds two LTX-2.5 stacks on the GPU
(#523).concat_videos/dissolve_videosload a{"location": ...}entry in
videos(#510).- A modular step whose outputs include latents no longer crashes at save
(#507).pair_audiounwraps a pipeline's batch of one video. transcribe_audioworks on clips over 30 s, and a non-Whisper model on a
long clip still returns text.segmentworks again: the SAM2KeyErroris fixed, and the
GroundingDINO query is written the way it scores. Dead default input URLs
in several templates are replaced (#470).upload_asset(file_path=...)accepts the writable shared asset library
(#448).host_memory_job_peak_rss_mbis a running max (#457).dw.serveexits on SIGTERM with an MCP client still connected (#477).- The
shot_dead_airfinding names the room-tone remedy. The
normalize_audiowarning no longer says that gaining down always succeeds
(#491/#492). The docs describedead_air_floor_dbfscorrectly (#519). - The
minimax-h3skill carries the 24-shot field report's prompting rules
(#484).