Commit Graph
100 Commits
Author SHA1 Message Date
TowstyandCursor 277b49403c Add Qwen 2.1 host setup script and document Shared model paths.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-20 15:53:43 -05:00
TowstyandCursor 4831b32d20 Replace LoRA Thumbwheel spectrograms with range and numeric strengths.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 18:57:12 -05:00
TowstyandCursor eba701a82c Tune Studio display tokens for rails, radius, and amber CTA.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 13:12:05 -05:00
TowstyandCursor bdc1ab6c2d Restyle Studio task rail and bind Classic task to the same mode ref.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 13:10:44 -05:00
TowstyandCursor d9743dd8c9 Bind Classic model select and Studio engine rail to the same engine ref.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 13:10:13 -05:00
TowstyandCursor 1b29452455 Move Studio locks to slots and Classic hide to header checkboxes.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 13:09:29 -05:00
TowstyandCursor 292d53a20e Add Classic | Studio displayMode preference and Settings cards.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 13:07:13 -05:00
TowstyandCursor b194b3cefa Always live-scan Studio 2 LoRAs on load and Refresh like Settings.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 12:59:06 -05:00
TowstyandCursor 7221b6a8cf Refresh Studio 2 LoRAs from live Comfy object_info on fresh=1.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 12:45:48 -05:00
TowstyandCursor 36d24feb9c Allow Studio 2 MiniMax text-to-video with empty start when locks are off.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-16 14:56:16 -05:00
TowstyandCursor 5694104226 Keep YuE2 jobs live on the bench and wire target length to semantic tokens.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-15 20:53:07 -05:00
TowstyandCursor 2ebc3066e6 Reject instrumental music edits and force YuE2 on queued track patches.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-15 18:20:11 -05:00
TowstyandCursor c868605d8a Drop ACE and YuEGP defaults from studio music queue and library labels.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-15 18:19:46 -05:00
TowstyandCursor 1db62e9187 Make Studio 2 the home bench with YuE2 music, LTX, and per-preview hide.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-15 18:19:34 -05:00
TowstyandCursor a216afc4ce Remove YuEGP handlers from the Comfy host agent.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-15 18:17:59 -05:00
TowstyandCursor cce1faa9b1 Route all music jobs through YuE2 only.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-15 18:16:45 -05:00
TowstyandCursor c50bde723f Accept only YuE2 in the music generate API.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-15 18:16:45 -05:00
TowstyandCursor 17cc07e3bc Accept only YuE2 as the music engine type.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-15 18:16:44 -05:00
TowstyandCursor df885d5732 Replace stale host agent on boot and document one-click Startup install.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-15 18:15:19 -05:00
TowstyandCursor 840440d7ef Remove YuE2 process memory fraction cap on the 5080.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 20:14:44 -05:00
TowstyandCursor ee84a99035 Tighten YuE2 VRAM use on the 5080 and empty GPU before launch.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 20:01:06 -05:00
TowstyandCursor 62671d05da Allow multi-section YuE2 lyrics and force non-flash attention on Windows.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 19:28:43 -05:00
TowstyandCursor fae3b23e37 Finish YuE2 host setup, weight download paths, and v1 cleanup.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 18:46:35 -05:00
TowstyandCursor d1ff05089f Document YuE2 install, weight cleanup, and regression tests.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 18:46:35 -05:00
TowstyandCursor 71a61b1765 Add YuE2 to the music engine picker and generate API.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 18:46:35 -05:00
TowstyandCursor ec5791c595 Mount YuE2 on the host agent and share GPU ownership.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 18:46:35 -05:00
TowstyandCursor 5f68205f01 Route engine yue2 through a standalone job helper.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 18:45:57 -05:00
TowstyandCursor 85ef087364 Add YuE2 host, worker, and setup scripts.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 18:45:57 -05:00
Towsty 064f1db933 Read production LoRA names in Studio 2 2026-09-12 21:05:11 -05:00
Towsty fb87a50a39 Show each LoRA dropdown label once 2026-09-12 20:45:19 -05:00
Towsty 401e6c26a2 Remember Studio 2 LoRA stacks for each engine 2026-09-12 20:17:58 -05:00
Towsty 6a6931f04e Filter LoRA picker options by engine tokens 2026-09-12 20:17:58 -05:00
Towsty e190496eb4 Restore Klein empty-latent reference sampling 2026-09-12 12:18:14 -05:00
Towsty 7bb4b16c1e Sample Klein hero identity from image latents 2026-09-12 11:46:56 -05:00
Towsty 3da3656140 Show pending Studio 2 jobs and freeze finished timers 2026-09-12 10:39:33 -05:00
Towsty 3e90d2ff45 Show clear GPU status and move upscale progress into the queue 2026-09-12 10:17:03 -05:00
Towsty a9551911f2 Encode Unicode video titles in playback response headers 2026-09-12 10:17:02 -05:00
TowstyandCursor d8f42ecc68 Tighten needsFit to exact canvas size, guard against empty renders
needsFit only compared aspect ratio, so a same-aspect-but-larger still
(e.g. a 4032x2268 phone photo against a 1344x768 canvas) would skip
fitting and hand MiniMaxH3AddGuide a still that does not match the
job's own latent size. Require an exact width+height match instead;
anything else (including unreadable dimensions) still fits.

Also guard the video save path: an empty Comfy download, an empty
stitched assembly, or a stitched result with no readable duration now
fails the job with a clear error instead of silently saving/attaching
a broken zero-length clip.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-11 23:11:02 -05:00
TowstyandCursor 65c69b779a Stop resampling the extend start frame every hop
upload() ran fitStill (ffmpeg scale+pad) on every image except hero,
including the start/handoff still. Four chained extends resampled the
anchor frame four times and destroyed identity even with the hero
reference and lock text intact.

- upload(): only fit when the still's aspect truly differs from the
  job canvas (needsFit); never fit hero or start regardless.
- Track handoffSource (anchor|extract) and whether the start frame was
  fitted; surface both in job metadata and Details.
- extendSelected(): re-binding an already-selected clip on task switch
  must not stomp the user's overridden locks/settings back to the
  clip's saved values (regression introduced by the last hotfix push).
- Add tests/studio2-extend-fit.test.mjs: two extends at identical
  width/height reach Comfy with the anchor PNG byte-identical, no
  ffmpeg fit.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-11 21:12:24 -05:00
Towsty ec0b6f10ab Bind the selected output when restoring complete input settings 2026-09-11 19:06:17 -05:00
Towsty ad135ae19c Simplify Studio 2 sources and persist private previews and LoRA lists 2026-09-11 19:04:03 -05:00
Towsty 86ffa9ba04 Compile image style chips and restore complete input metadata 2026-09-11 19:04:03 -05:00
Towsty b5a4882a9c Keep Studio 2 family tiles tied to existing library files 2026-09-11 19:04:03 -05:00
Towsty b1ffcd6975 Retry confirmed Studio 2 host cleanup after failures 2026-09-11 18:43:25 -05:00
Towsty 28b919ecee Sample Klein edits from source and bind Studio 2 extensions correctly 2026-09-11 12:23:34 -05:00
Towsty 8fe69272c3 Use desktop width and protect the Studio 2 prompt column 2026-09-11 09:33:05 -05:00
Towsty c719e12709 Select and confirm uploaded Studio 2 source and hero stills 2026-09-11 09:28:00 -05:00
Towsty bf58732690 Separate Studio 2 source and canvas and apply size and seed choices 2026-09-11 07:07:26 -05:00
Towsty 09c96c0ae7 Fit Studio 2 inputs and report live generation progress 2026-09-10 23:48:25 -05:00
Towsty 5c69650ffa Restore Studio 2 controls and automatic extension binding 2026-09-10 23:48:25 -05:00
Towsty 3b071436a3 Model camera beats and independent hero identity locks 2026-09-10 23:48:25 -05:00
Towsty f312cff477 Return preview users to Studio 2 after login 2026-09-10 21:33:41 -05:00
Towsty fd9522ae19 Enable the isolated xAIGen Studio 2 preview 2026-09-10 21:31:43 -05:00
Towsty 8c464f283d Add the Studio 2 bench and restore saved prompt sections 2026-09-10 20:56:37 -05:00
Towsty 70c17695e4 Restrict Studio 2 host cleanup to exact preview paths 2026-09-10 20:56:37 -05:00
Towsty 70b6b70fcd Queue durable Studio 2 jobs with sticky identity and saved metadata 2026-09-10 20:56:37 -05:00
Towsty bd82f5bd5f Add native H3 identity graph and Studio 2 prompt contracts 2026-09-10 20:13:53 -05:00
Towsty d4f2b86587 Document isolated Studio 2 PR preview settings 2026-09-10 20:10:16 -05:00
Towsty 7e4b69677f Add output navigation preserving viewer visibility 2026-09-10 07:09:52 -05:00
Towsty 9b1d8ae798 Clarify output image actions and preserve user VRAM policy 2026-09-09 16:38:48 -05:00
Towsty badf59d914 Restore automatic video batch continuation and prepare stable Comfy loading 2026-09-09 06:58:35 -05:00
Towsty 4bf992210d Increase extractLastFrame timeout to 15s and backoff start to 200ms to reduce HostBuffer.read_file_slice errors 2026-09-08 21:11:42 -05:00
Towsty da8d0e4c38 Add retry logic with timeout to extractLastFrame to handle temporary file access issues in shot scripts 2026-09-08 20:07:19 -05:00
Towsty 1e0cff9dea Add local queued video upscale with Real-ESRGAN and RIFE 2026-09-08 17:55:02 -05:00
Towsty 4c97980646 Avoid YuEGP pinned-memory exhaustion on 32GB Windows hosts 2026-09-08 07:04:13 -05:00
Towsty 7665285a0d Preserve extension quality with original segments and reliable refinement 2026-09-08 06:25:40 -05:00
Towsty c2b6032e49 Replace Comfy YuE with standalone YuEGP profile 1 2026-09-07 20:24:47 -05:00
Towsty eeff12cdab Add manual image groups to the library 2026-09-07 20:16:01 -05:00
Towsty 174d40a7dc Simplify generation controls with task navigation and settings drawer 2026-09-07 08:36:33 -05:00
Towsty 7a2069462e Add output action to use image as Flux reference 2026-09-07 00:15:10 -05:00
Towsty 5f96807496 Improve music activity reporting and preserve Comfy host fixes 2026-09-06 23:05:46 -05:00
Towsty 53bb58bbd5 Add optional reference photo conditioning to Flux generation 2026-09-06 23:05:36 -05:00
Towsty bb91b4fd3f Choose generation mode automatically from starting image 2026-09-06 17:42:53 -05:00
Towsty 666c922f40 Add per-image iteration settings and steps/CFG sweeps 2026-09-06 17:02:42 -05:00
Towsty 0c6a035d04 Coordinate shared GPU access across studio instances 2026-09-06 16:32:18 -05:00
Towsty 911ddeab55 Fix queue dispatch deadlocks and stale completion recovery 2026-09-06 16:08:50 -05:00
TowstyandCursor 069108ae44 Fix MiniMax text-to-video: use ImageToVideo with no first frame instead of a node Comfy does not install.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 07:42:47 -05:00
TowstyandCursor d4b49df05a Let text-to-video generate without a still: Still/Text lives on the Video card, and Text mode skips the required input image.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 07:35:42 -05:00
TowstyandCursor 4dccaac6d3 Fix shot auto-run: do not settle or honor stale paused mid-chain, and keep Run remaining from dying after one shot.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 19:52:29 -05:00
TowstyandCursor 8ebbc0fc6e Clear Generating as soon as a job saves: settle the studio row on persist and repair finished orphans so the next waiting job can start.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 12:38:30 -05:00
TowstyandCursor e1bad72405 Fix queue race: keep the running studio slot until settle finishes, then start the next waiting job.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 11:47:10 -05:00
TowstyandCursor 279fabfb7b Stop killing live videos mid-save: never fake-complete or age-out jobs just because Comfy is briefly idle.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 09:49:00 -05:00
TowstyandCursor 34c39bf85d Fix studio queue stuck after GPU sleep: clear ghost live ownership so Start now and wake can actually dispatch.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-04 23:15:19 -05:00
TowstyandCursor b481c4e3ad Stop deleted LoRAs from sticking in the picker.
A cache merge that preferred the longer list was keeping removed files forever. Fresh Comfy lists now replace the cache, including shrinks, and xiagen- typos stay off AIGen like xaigen-.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-04 21:45:31 -05:00
TowstyandCursor d50719e1a7 Declare inflightFresh used by fresh LoRA cache loads.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-04 15:53:09 -05:00
TowstyandCursor ce22c0373e Refresh queue page LoRA list with a fresh Comfy fetch too.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-04 15:52:58 -05:00
TowstyandCursor 06e40793db Fix LoRA folder drops not appearing without weakening engine filters.
Stop empty Comfy blips from freezing the LoRA cache timestamp, and refresh the picker list from Comfy on each poll. Engine tagging (flux/krea) and xaigen platform filtering stay as they were.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-04 15:52:31 -05:00
Towsty 10910677d0 Revert "Show untagged LoRAs in pickers again after dropping them in the folder."
This reverts commit 6acbeb6f40.
2026-09-04 15:46:48 -05:00
TowstyandCursor 6acbeb6f40 Show untagged LoRAs in pickers again after dropping them in the folder.
The Sep 2 engine filter required a flux-/krea- name tag, so newly added files were discovered but hidden. Only hide files clearly tagged for the other engine.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-04 15:43:38 -05:00
TowstyandCursor 41ba5e3aab Kick the studio dispatcher when the UI polls a stalled waiting queue.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-04 14:14:26 -05:00
TowstyandCursor 91855a0103 Unstick studio queue when Ready but waiting jobs will not start.
A failed held shot-batch no longer blocks waiting work, ghost Comfy pending no longer freezes Start now, and Start now force-starts when the GPU is idle.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-04 14:14:17 -05:00
TowstyandCursor 1155edc3bd Stop library Open/click from switching Video and Image tabs.
Previewing a still or clip only updates the output pane; Use as input stays on the current workspace instead of forcing Image for image stills.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-04 13:26:05 -05:00
TowstyandCursor 5ffb65706f Use content-hash names for Qwen VL still uploads too.
Keeps the same overwrite behavior as video/image Comfy uploads so prompt jobs do not leave unique copies in Shared input.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-04 08:21:06 -05:00
TowstyandCursor c043890ac0 Stop Comfy input folder filling with duplicate still uploads.
Name uploads by content hash so the same still overwrites itself, enable stale input sweeps on purge, and remove the pile already on the desktop Shared input folder.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-04 08:20:39 -05:00
TowstyandCursor 20f373b172 Restore pre/post text when using clips as input or extending.
Extend no longer blanks wrappers when a part omitted them, Use as input inherits family pre/post, and non-image stills stay on Video instead of being forced into Image mode.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-04 08:04:11 -05:00
TowstyandCursor f41ac7a826 Add extension-frame refine and lossless anchor options.
Prefer clip anchor PNGs for handoffs, optionally run Bilateral+Flux cleanup before I2V, and save decoded last-frame anchors so sequential extensions accumulate less compression damage.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-04 07:55:46 -05:00
TowstyandCursor 5917d5bb37 Fix studio queue stalling after image jobs finish.
Repair all owners before the busy check, stop treating orphan running/held rows as GPU locks, and settle finished Comfy ghosts so waiting items actually start.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-04 00:16:26 -05:00
TowstyandCursor 936da7b5de Restore Use as input to reload full generation settings.
The earlier change blocked generate stills and skipped prompts/LoRAs/config. Use as input again fills the form from the library item so you can regenerate.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-04 00:06:15 -05:00
TowstyandCursor 249af0b7b8 Stop Use as input from trapping you on the Image tab.
Loading a library still as input now only fills the start-still slot and stays on Video. Video/Image cards switch mode directly instead of relying on fragile query links.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 23:53:27 -05:00
TowstyandCursor a9c2c01b35 Delete Comfy input stills after library save, not only outputs.
Purge was skipping Beast input copies and never sending image names to the host agent, so studio temps piled up on the desktop. Also sweep stale hex-/aigen-prefixed inputs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 23:27:14 -05:00