Commit Graph
199 Commits
Author SHA1 Message Date
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 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 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
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 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
TowstyandCursor 780b407b3c Add Force clear for stuck queues including running YuE jobs.
Queue page and Music get a nuclear clear that cancels studio/live work, wipes shot batches, and force-stops Comfy so images/video/other music can run again.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 23:03:05 -05:00
TowstyandCursor 5df9e2d8ac Add Force reset to clear stuck jobs and kill a wedged Comfy.
Settings and the header menu can cancel invisible queue/pending work and force-stop Beast when Sleep is blocked.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 21:24:10 -05:00
TowstyandCursor ec887a320a Retry library pulls after Comfy finishes and fall back to disk.
Long jobs were succeeding on Beast then failing the save step when /view briefly dropped; retries plus host-agent file serving keep finished MP4s from being orphaned.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 21:06:15 -05:00
TowstyandCursor 17d4d4ffdc Tighten YuE lyrics validation and Comfy music workflow wiring.
Require section tags before queueing YuE and keep the ACE/YuE path changes that were already in progress.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 20:32:41 -05:00
TowstyandCursor 86e23499a9 Add default video length setting and inherit duration when extending.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 19:44:28 -05:00
TowstyandCursor a6756c1f1a Stop wiping Comfy inputs and sibling outputs during disk cleanup.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 18:16:56 -05:00
TowstyandCursor de433c40d3 Lock YuE to a 16GB Comfy-safe recipe instead of chasing single knobs.
Keep mmgp profile 2 (no quanto), node-legal token floor, two Stage-A segments, and document why profiles 3-5 blow up under InferenceMode.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 17:46:54 -05:00
TowstyandCursor 98253b124d Keep YuE max_new_tokens at the node minimum of 2944.
Comfy rejects anything lower, so the 16GB VRAM tweak cannot go under that floor.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 17:35:46 -05:00
TowstyandCursor 3081b8fa36 Tighten YuE for 16GB VRAM and stop the false Waiting status.
Cap Stage-A segments and use a heavier mmgp profile so long lyrics stop OOMing mid-run, and show that Comfy is actually working.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 17:19:19 -05:00
TowstyandCursor 88c5d25b78 Keep a generation log so wiped or failed jobs can be re-queued.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 16:15:09 -05:00
TowstyandCursor b5014f02b4 Fail zombie studio jobs when Comfy's queue is empty after a restart.
A live job stuck at 8% with no Comfy prompt was treated as still owning the GPU, so waiting work never started.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 16:07:36 -05:00
TowstyandCursor 110865b370 Delete Comfy video, image, and audio files from the desktop after they are saved to the library.
Audio never called purge, image stills used untagged names, and a locked file could abort the whole host-agent delete.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 08:30:05 -05:00
TowstyandCursor 78b158471b Add ACE-Step 1.5 and YuE on Music, and put Video/Image/Music cards back.
Recover finished Comfy audio when queueing hangs so a completed track is not stuck on Queueing.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 07:42:54 -05:00
TowstyandCursor ce85e7f513 Join pre/prompt/post into the first MiniMax prompt, not only later shots.
The motion prompt field is what Comfy actually runs. Wrappers are now composed into that string on submit, and shot 1 falls back to it if the separate pre/post fields do not arrive.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 07:24:00 -05:00
TowstyandCursor 1206afe8fd Keep family pre/post text on shot queues and wrap the mid prompt at Comfy time.
Later shots were starting a new job without those wrappers, so only the first clip got them.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 07:17:00 -05:00
TowstyandCursor f05f8f3597 Let queued video, image, and music jobs open in an inspect modal.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 00:15:02 -05:00
TowstyandCursor 53990192e4 Put ACE-Step music jobs on the same studio queue as video and image.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 00:08:07 -05:00
TowstyandCursor 9cb8b9bda3 Delete imported Comfy stills from disk instead of looking for them in the video folder.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 00:02:17 -05:00
TowstyandCursor 5555155884 Add ACE-Step music generation to the studio and library.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 23:58:18 -05:00
TowstyandCursor c79cca39ae Stop launching extra Comfy Pythons when the running instance is just busy.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 22:35:27 -05:00
TowstyandCursor 46629ca51b Filter image LoRAs by flux- / krea- filename so each engine only lists its own.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 21:37:12 -05:00
TowstyandCursor 9fd96cb990 Apply and print SNOFS from the LoRA dials, not a leftover Concept LoRA row.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 21:33:30 -05:00
TowstyandCursor 71e2e4b326 Show video posters in the library by building a first-frame thumb when one is missing.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 20:53:53 -05:00
TowstyandCursor 369eb595d7 Join pre/prompt/post for Comfy, stop zero-size generates snapping to a small square, and give the phone library a real closeable preview.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 20:29:44 -05:00
TowstyandCursor d471d1bdd6 Put studio scrolling back and actually save image pre-text and post-text.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 15:28:51 -05:00
TowstyandCursor 1be9bcb23f Keep the Extend panel put and name sibling clips as branches.
A finished job no longer closes a draft or jumps the page, and a second extend from the same part saves as p8b instead of another p8.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 15:16:30 -05:00
TowstyandCursor 4546aa5f61 Make library hide/reveal instant instead of rewriting the whole catalog.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 15:05:04 -05:00
TowstyandCursor e7298d9693 Give video extensions the same pre-text, prompt, and post-text fields as the main form.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 15:01:20 -05:00
TowstyandCursor c4e18eeb2c Restore pre-text and post-text with Use as input and Details.
Library items already stored those fields, but Details showed one blob and Use as input left the form's empty pre/post in place.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 14:51:35 -05:00
TowstyandCursor c20229da0e Fix Coolify build: import watchComfyJob from watch.ts.
Extensions imported watch helpers from comfyLifecycle after they moved, so npm run build failed and every deploy since this morning rolled back.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 09:05:40 -05:00
TowstyandCursor 1314e8e89f Let failed studio jobs retry instead of sitting in the queue with only Remove.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 08:19:21 -05:00
TowstyandCursor bdec8872b6 Route Coolify through a scanned Comfy proxy instead of pinning hopped listen ports.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 08:04:11 -05:00
TowstyandCursor 2ae5f6fb2e Fix Comfy wake: launch when HTTP is down instead of treating leftover Python as already booting.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 07:58:50 -05:00
TowstyandCursor aa2cefbcf2 Keep queueing video extensions while a clip is already generating.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 07:04:39 -05:00
TowstyandCursor 6b93ee951c Recover a finished clip after the site drops the live job.
Saving the MP4 used to freeze Node, which made xAIGen unreachable and left the player empty even though the library already had the video.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 21:20:09 -05:00
TowstyandCursor a705610721 Refuse to start Comfy while AITraining has the GPU.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 20:53:52 -05:00
TowstyandCursor e248eb26d8 Fix video generate 500 from a leftover promptRaw log.
The pre/prompt/post split renamed the variable but one console.info still used the old name, which crashed POST /api/generate on xAIGen.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 20:18:25 -05:00
TowstyandCursor 7bcd23fcc5 Let xAIGen accept backup ingest without a browser login.
The 401 was the session wall, not a missing token. The ingest route now uses the shared Bearer secret, and both apps default that secret so Coolify vars are optional.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 19:35:14 -05:00
TowstyandCursor f25e1bcc8a Spell out which Coolify backup vars belong on AIGen vs xAIGen.
A URL in BACKUP_INGEST_TOKEN was treated as a missing token. Errors now say to put the URL on AIGen and the same secret on both apps.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 19:14:34 -05:00
TowstyandCursor f788fd4bb4 Split prompts into pre/prompt/post and tidy the AIGen video form.
Keep wrappers off the library mid-prompt so Use as input and Extend restore the same split, send stills to xAIGen as hidden inputs, and stop the two-column library from growing with the list.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 18:39:02 -05:00
TowstyandCursor ed04dcfee3 Let every XAI input thumbnail toggle hide, not only ones already flagged.
The picker hid the eye on unflagged stills, so a visible input could not be concealed.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 08:36:34 -05:00