Commit Graph
181 Commits
Author SHA1 Message Date
TowstyandCursor 2842855c7b Wire Qwen Enhance prompt toggle through Studio 2 and the runner.
Queue PE first when enabled, fail closed on parse_ok, free VRAM, then run the existing T2I or Edit graph with the rewrite.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-26 10:25:44 -05:00
TowstyandCursor bb27af506e Restore Studio 2 Load hydrate, sticky negatives, and strip actions.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 12:23:20 -05:00
TowstyandCursor 52a01e0adc Enable Qwen 2.1 on Edit: wire picker, runner, and source-still validation.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-20 18:13:07 -05:00
TowstyandCursor 608f7d8d47 Fix Qwen 2.1 GGUF load: promote Q8 norms to F32 and wire TextEncode latent.
abenzerps Q8_0 ships 1D RMSNorms as packed Q8 (136 vs 128), which breaks
Comfy rms_rope; tagger now dequantizes small tensors and the graph uses
TextEncodeQwenImage21's 64-ch latent plus AuraFlow shift.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-20 16:58:00 -05:00
TowstyandCursor 68731916ca Wire Qwen 2.1 as Generate-only engine with 25/1 sampler defaults.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-20 16:58:00 -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 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 cce1faa9b1 Route all music jobs through YuE2 only.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-15 18:16:45 -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
Towsty 064f1db933 Read production LoRA names in Studio 2 2026-09-12 21:05:11 -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
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 86ffa9ba04 Compile image style chips and restore complete input metadata 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 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 70b6b70fcd Queue durable Studio 2 jobs with sticky identity and saved metadata 2026-09-10 20:56:37 -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 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 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 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 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
towsty 2435167a41 Add Image Iterate: nested multi-prompt still families.
Iterate runs a series of prompts as generate (no still), edit (still A), or compose (A+B), saves each output under one library collection like video extensions, and defaults to iterating from the original still.
2026-09-04 22:46: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 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
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 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 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