Implemented in WORKSTATION/luciana-media-mcp. Four UI JSONs and four API JSONs are
installed under the shared ComfyUI library LTX-2.5/Luciana and packaged in
../artifacts/luciana-30s-comfyui-workflows.zip. These workflows depend on the existing
local models, the installed LucianaContinuity30 node, and the separate LTX worker;
the ZIP does not contain model weights or a standalone inference environment.
Variants and architecture
- Continue the existing validated official 5-second video unchanged.
- Generate a Qwen source image with Lucianax LoRA, then animate it.
- Generate a Qwen source image with Lucianat LoRA, then animate it.
- Generate a base Qwen source image without any LoRA loader or automatic trigger.
The editable Comfy graph runs on port 8191. Its native Qwen nodes run on GPU 2. The local sequential node dispatches official LTX Distilled continuations to the existing GPU-0/1 worker on port 8188. The LTX Dev character LoRA is never inserted into this Distilled path. This is an official core plus a local orchestration layer, not an upstream single-node 30-second template. Existing-source geometry is preserved. All three GPU power limits were checked at 245 W.
Each next clip is conditioned on the previous accepted clip’s last frame; the conditioning frame is removed from its contribution to the final 720-frame movie. Per-boundary SSIM, audio normalization, full decode, media hashes, and strict gallery provenance remain enforced by the existing runner. SSIM is a boundary check, not proof that facial identity stays stable for the full movie.
Agent interface
The existing luciana-media MCP now exposes seven tools, including:
start_continuity_video: five action prompts, exactly one source, immediate job ID.get_continuity_status: accepted seconds, overlap scores, errors, final output.resume_continuity_video: reuse verified accepted segments and cached raw renders.
generate_character_image accepts use_lora=false. Durable jobs, atomic metadata,
and worker locks prevent a client disconnect or repeated resume request from losing
or duplicating work. The node can attach to an existing MCP job via resume_job_id.
The shared skill was updated for Codex, OpenCode, OMP, Pi, and Hermes. Pi’s extension registers all seven tools through the same stdio MCP bridge. The three installed LTX skill copies also point to the new continuity guide. Existing sessions must reload to discover new tools; no new MCP registration is required.
Verification
- Twelve package tests pass: LoRA switch, source validation, durable state, completed resume, cached source provenance after restart, API wiring, and frontend seed-widget serialization.
- All four API JSONs pass live
comfy workflow validatewith zero errors/warnings. - All four UI JSONs were loaded in headless Chrome against the actual port-8191 frontend
and converted with
app.graphToPrompt; no node types were missing. - A frontend seed-control offset was found and fixed before publication.
- Base-Qwen image execution from the actual browser-compiled graph succeeded:
80f91e4e-1475-4165-a2d4-0e557af6caa3, about 15 seconds. The CLI validator incorrectly flags the frontend’s omitted empty Qwen autogrow-images input; the actual server accepted and completed this graph. API exports explicitly containimages: {}. - Real stdio MCP discovery verified all seven tool schemas and optional
use_lora. - Pi loaded the updated extension and
/luciana-checksuccessfully. An isolated registration check confirmed all seven Pi tool names without an LLM invocation. - Fresh end-to-end chain:
chain-1790035031-f1725a6b, initiated through MCP. The ComfyUI frontend-compiled existing-clip graph attached throughresume_job_id, prompt2da985eb-4256-49f6-a26f-30a81db7e7e4, without starting a second render.
Final results are recorded in ../data/continuity-mcp-verification.json after completion.
Completed execution
The fresh chain completed and the ComfyUI orchestration node returned its video successfully. Final video: 768×1024, 24 FPS, 720 frames, 30 seconds, H.264/AAC. A separate FFmpeg full-decode check passed. All five overlaps passed without correction: 0.981671, 0.985865, 0.988141, 0.988750, 0.991234.
Five new segments took 316.328 seconds of server execution (about 12.65 seconds per new video second). The complete runner, including checks, publishing, and assembly, took 698.051 seconds (11 min 38 s). The first five-second clip was reused unchanged. The browser-compiled node also completed its final SaveVideo execution successfully. The final base-Qwen browser graph generated a 768×1024 PNG successfully after its resolution-selector default was aligned with the API export.
Completed durable jobs preserve the source clip’s provenance and hash, allowing reuse after the live ComfyUI history has been cleared. Source hash mismatch falls back to live provenance validation; arbitrary media is not silently treated as a successful render.
Implementation commit: 7c687bf in luciana-media-mcp.
Telegram video delivery confirmed: message 12729.
The port-8191 service was restarted after testing; readiness and completed-job resume passed.