[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80053":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":15,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":22,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":32,"readmeContent":33,"aiSummary":34,"trendingCount":16,"starSnapshotCount":16,"syncStatus":14,"lastSyncTime":35,"discoverSource":36},80053,"phosphene","mrbizarro\u002Fphosphene","mrbizarro","Local generative video panel for Apple Silicon. Wraps LTX-2 MLX, joint audio+video, one-click Pinokio install.","https:\u002F\u002Fpinokio.computer\u002Fdiscover",null,"Python",75,10,2,12,0,3,7,9,3.12,"MIT License",false,"main",[25,26,27,28,29,30,31],"ai-video","apple-silicon","generative-video","local-ai","ltx-video","mlx","pinokio","2026-06-12 02:03:57","\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Fphosphene_banner.png\" alt=\"Phosphene\" width=\"100%\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cstrong>Generative video, image, and character training on your Mac.\u003C\u002Fstrong>\u003Cbr>\n  MLX. No PyTorch, no CUDA, no cloud, no API key.\u003Cbr>\n  \u003Ca href=\"https:\u002F\u002Fx.com\u002FPhospheneAI\">@PhospheneAI\u003C\u002Fa> on X · \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmrbizarro\u002Fphosphene\">github.com\u002Fmrbizarro\u002Fphosphene\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n\u003Cimg width=\"1920\" height=\"993\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F0c504d54-1666-4a64-8872-7d471682c8f0\" \u002F>\n\n\u003C\u002Fp>\n\n> ### Updating from v2.x to v3.0? Click Update TWICE.\n>\n> Pinokio runs your existing v2 `update.js` on the first click — it pulls the new code but doesn't install 3.0's new Python deps (ltx-trainer, mlx-vlm for Gemma auto-caption, mflux 0.17.5, pyyaml\u002Fpydantic\u002Ftqdm\u002Frich). The panel will boot to errors on first launch. **Click Update again** and Pinokio runs the new 3.0 script, installs everything, and the panel boots clean. Fresh installs are unaffected — this only hits v2.x → v3.0 upgrades.\n\n## Overview\n\nPhosphene is a local generative-media panel for Apple Silicon. It runs [LTX-Video 2.3](https:\u002F\u002Fgithub.com\u002FLightricks\u002FLTX-Video) (MLX port) for joint audio-and-video synthesis, [Qwen-Image-Edit-2511](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen-Image-Edit-2511) and an MLX port of [HiDream-O1-Image-Dev](https:\u002F\u002Fhuggingface.co\u002FHiDream-ai\u002FHiDream-O1-Image-Dev) for stills, and ships an in-panel LoRA training pipeline for character identity (face + optional voice from a single dataset). Everything runs on-device. No cloud, no API keys, no telemetry.\n\n3.0 introduces in-panel character training (face + voice LoRA from one dataset), the Audio-to-Video workflow, the Image Studio tab with two MLX-native engines, hardware capability tiering, and an agentic prompt enhancer \u002F shot planner driven by the same local Gemma 3 12B used for auto-captioning.\n\nA 7-second character clip with synced audio renders in roughly 6 minutes on an M4 Max 64 GB. The delivered file is **1280×720 HD** after the built-in 2× upscale; clips are generated at 1024×576 internally and upscaled before mux. Voice + face LoRAs from a 50-image dataset finish in ~3 hours on the same hardware.\n\nThe interface adapts to the machine it runs on. Under 48 GB of unified memory, the panel exposes only what fits in that envelope (text-to-video, image-to-video, and the Image tab). At 48 GB and above, character mode, first\u002Flast-frame keyframing, clip extension, and the Q8 HQ pipelines become available. Tier detection runs once at boot and the unsupported surfaces are hidden rather than greyed out.\n\n## Features\n\n### Video\n\u003Cimg width=\"872\" height=\"141\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Ff8e6d839-0ef5-4310-8b83-4f0a76a58779\" \u002F>\n\n\nText-to-video, image-to-video, and audio-to-video, all delivered as MP4 with joint audio (lip-sync, footsteps, ambience) in a single diffusion pass. Output is 1280×720 after the built-in 2× upscale. Character mode renders against the Q8 dev transformer with a fused character LoRA; the server-side validator refuses Q4 + character to prevent silent identity drift. First\u002Flast-frame keyframing and clip extension are available on the Q8 surface, with TeaCache wired through both.\n\n### Image Studio\n\u003Cimg width=\"1920\" height=\"843\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F8e2f52de-b34c-44cf-9283-df30c4079607\" \u002F>\n\n\nTwo MLX-native engines share the same tab and the same GPU memory pool. Qwen-Image-Edit-2511 handles instruction edits (\"change the white jacket to red\") and multi-subject composition with up to three reference images. HiDream-O1-Image-Dev handles photoreal at HD — the MLX port of HiDream-O1 ships with Phosphene (8B Qwen3-VL backbone, unified pixel-patch transformer, MIT-licensed; weights at `mlx-community\u002FHiDream-O1-Image-Dev-mlx-bf16`). It lives in a sibling clone, loaded on demand. Both engines drop cards into a unified gallery, each with an Animate button that pre-fills the I2V form with the source still.\n\n### Train Character\n\n\u003Cimg width=\"877\" height=\"864\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F6e0564d9-6912-4d99-a9b0-1f2a2b01453e\" \u002F>\n\n\n\nEnd-to-end LoRA training inside the panel. The dataset uploader accepts 15 to 500 images per character. Captions are written by a local Gemma 3 12B (MLX, 4-bit) in roughly 90 seconds for a 37-image dataset, in the `[VISUAL]: \u003Ctrigger>, \u003Cdescription>` format the LTX trainer expects. The default recipe is rank 32, alpha 32, 100 epochs, lr 1e-4, 512 px resolution, letterbox crop; total step count auto-scales with the dataset (e.g. 50 images → 5000 steps, 100 images → 10000 steps) so adding photos doesn't shift the trained-epochs target. Power users can override any of those in an advanced section. Optional voice LoRA from the same training run.\n\n\u003Cimg width=\"871\" height=\"640\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fa25bfc78-671e-4972-bf51-231ae5f5cc04\" \u002F>\n\nThe Train tab also exposes **Style** training (experimental in v3.0) — same end-to-end pipeline, different intent: a curated set of movie frames teaches the model an aesthetic (color grading, lighting, composition) rather than an identity. The trained style LoRA stacks with character LoRAs at render time. Lightly validated as of v3.0; please report rough edges via [GitHub Issues](https:\u002F\u002Fgithub.com\u002Fmrbizarro\u002Fphosphene\u002Fissues).\n\n### Audio-to-Video\n\u003Cimg width=\"876\" height=\"557\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fe64b2a23-e3e2-4132-8ceb-838b0c089136\" \u002F>\n\nNew workflow tab in 3.0. WAV or MP3 in, MP4 out — the audio drives motion in the generated video, and an optional reference image anchors frame zero. The pipeline runs in two stages: low-resolution with classifier-free guidance, then full-resolution with the distilled LoRA fused on top. The original input audio is muxed onto the final clip so the result is a single self-contained MP4. Requires Q8 + ≥64 GB unified memory.\n\n### LoRAs\n\nDrop `.safetensors` into `mlx_models\u002Floras\u002F` for immediate use, or browse and install LTX 2.3 LoRAs from CivitAI inside the panel (per-row rename, download, companion-aware delete). Character bundles live alongside style LoRAs and are filtered out of the regular picker so they don't show up twice.\n\n### HTTP API\n\nEverything the panel does is reachable over plain HTTP on `127.0.0.1:8199`. Queue video jobs, generate images, train characters, manage LoRAs, poll status, fetch outputs — all from `curl`, a Python script, or an external agent like Claude Code or Codex. The panel UI is just one client; nothing about the feature set is exclusive to it.\n\n```bash\n# Queue a text-to-video render with a character LoRA stacked on a style LoRA.\ncurl -s -X POST http:\u002F\u002F127.0.0.1:8199\u002Fqueue\u002Fadd \\\n  --data-urlencode \"mode=t2v\" \\\n  --data-urlencode \"prompt=Cinematic close-up of bizarrotrn man in a wood-paneled study, golden hour\" \\\n  --data-urlencode \"width=1024\" --data-urlencode \"height=576\" \\\n  --data-urlencode \"frames=169\" --data-urlencode \"quality=high\" \\\n  --data-urlencode 'loras=[{\"path\":\"mlx_models\u002Floras\u002Fbizarrotrn_v2.safetensors\",\"strength\":1.0}]'\n# → {\"ok\": true, \"id\": \"j-...\"}\n```\n\nEndpoints cover the full lifecycle: `POST \u002Fqueue\u002Fadd` and `\u002Frun` for video, `POST \u002Fimage\u002Fgenerate` for stills, `POST \u002Ftrain\u002Fstart` for LoRA training, `POST \u002Fupload` for reference images and audio, `POST \u002Fcharacters\u002F\u003Cid>\u002Fgenerate` for one-shot character renders, `POST \u002Floras\u002Frefresh` and the CivitAI download endpoints for LoRA management, `GET \u002Fstatus` for queue and system state, `GET \u002Foutputs` for the gallery, `POST \u002Fqueue\u002Fretry` \u002F `\u002Fqueue\u002Fremove` \u002F `\u002Fqueue\u002Fpause` \u002F `\u002Fstop` for queue control. JSON in, JSON out, form-encoded POST bodies for the heavy endpoints. No auth — bound to loopback only.\n\nFull reference with every field, every default, and copy-pasteable `curl` invocations: **[docs\u002FAPI.md](docs\u002FAPI.md)**. Notable uses: batch overnight render runs, IDE integrations, custom front-ends, and external agents that orchestrate Phosphene as a tool. The in-panel chat was retired in v3.0 — its replacement is your own agent talking to this API.\n\n## Hardware\n\nApple Silicon only. MLX is Apple-only by design.\n\n| RAM | Tier | What runs |\n|---|---|---|\n| Under 48 GB | Compact (Q4 surface) | Text and image-to-video at smaller sizes. Image tab works. Character, FFLF, Extend, and HQ are hidden. They need Q8. |\n| 48 to 79 GB | Comfortable (Q8 surface) | The canonical tier, built on M4 Max 64 GB. Everything works. FFLF and Extend capped at 768 px long side. |\n| 80 to 119 GB | Roomy | Most modes at full size. FFLF and Extend up to 1024 px. |\n| 120 GB+ | Studio | No size limits. |\n\nWorking-memory footprint is non-negotiable: standard 1280×704 generation peaks at roughly 22 GiB resident, and HQ with the Q8 dev transformer at roughly 38 GiB. Tier is detected once at boot from RAM and exposed to the UI via `body[data-cap-tier=\"q4|q8\"]`. Set `LTX_FORCE_CAP_TIER=q4` to preview the Compact surface from a higher-tier machine.\n\n## Install\n\n### Via Pinokio (recommended)\n\n1. Install [Pinokio](https:\u002F\u002Fpinokio.computer).\n2. In Pinokio: **Discover** -> **Download from URL** -> paste `https:\u002F\u002Fgithub.com\u002Fmrbizarro\u002Fphosphene`.\n3. Click **Install**.\n4. Click **Start** -> **Open Panel** -> http:\u002F\u002F127.0.0.1:8198.\n\nPinokio handles the hardware gate, the upstream `dgrauet\u002Fltx-2-mlx` clone, the uv-managed Python 3.11 venv, the runtime patches, and the filtered model download (~28 GB: Q4 plus the Gemma encoder).\n\nFor the Q8 HQ tier (required for Character, FFLF, Extend), click **Download Q8** in the panel sidebar after first launch. About 37 GB, one time.\n\nIf you have a Hugging Face token, paste it under **Settings** in the panel. Downloads run roughly 10x faster, and the same token unlocks the gated LoRAs (HDR and Lightricks Control).\n\n### Manual install\n\n```bash\n# 1. Clone Phosphene + the upstream MLX port (pinned to v0.14.0).\ngit clone https:\u002F\u002Fgithub.com\u002Fmrbizarro\u002Fphosphene.git\ncd phosphene\ngit clone https:\u002F\u002Fgithub.com\u002Fdgrauet\u002Fltx-2-mlx.git ltx-2-mlx\ncd ltx-2-mlx && git checkout v0.14.0 && cd ..\n\n# 2. Create the Python 3.11 venv inside ltx-2-mlx (uv-managed).\ncd ltx-2-mlx\nuv venv --python 3.11 --seed env\n\n# 3. Install the MLX pipeline + trainer packages. Pin mlx to 0.31.1 —\n#    0.31.2 attenuates the LTX vocoder by 22 dB.\n.\u002Fenv\u002Fbin\u002Fuv pip install --python env\u002Fbin\u002Fpython \\\n  'mlx==0.31.1' 'mlx-lm==0.31.1' 'mlx-metal==0.31.1'\n.\u002Fenv\u002Fbin\u002Fuv pip install --python env\u002Fbin\u002Fpython \\\n  .\u002Fpackages\u002Fltx-core-mlx .\u002Fpackages\u002Fltx-pipelines-mlx .\u002Fpackages\u002Fltx-trainer\n.\u002Fenv\u002Fbin\u002Fuv pip install --python env\u002Fbin\u002Fpython \\\n  pyyaml pydantic tqdm rich\n# mlx-vlm powers Gemma 3 auto-caption. --no-deps so it doesn't drag mlx-lm past 0.31.1.\n.\u002Fenv\u002Fbin\u002Fuv pip install --python env\u002Fbin\u002Fpython --no-deps 'mlx-vlm==0.4.4'\n# Agent + downloader + hub pin range.\n.\u002Fenv\u002Fbin\u002Fpip install pillow numpy 'huggingface-hub>=1.5.0,\u003C2.0' \\\n  'hf_transfer>=0.1.6' 'litellm>=1.83.14' 'smolagents>=1.24.0'\ncd ..\n\n# 4. Apply the runtime patches (idempotent, fail loud on upstream drift).\n.\u002Fltx-2-mlx\u002Fenv\u002Fbin\u002Fpython3.11 patch_ltx_codec.py\n\n# 5. Download the Q4 LTX weights + the Gemma 3 4-bit encoder (~28 GB total).\nHF_HUB_ENABLE_HF_TRANSFER=1 .\u002Fltx-2-mlx\u002Fenv\u002Fbin\u002Fhf download \\\n  dgrauet\u002Fltx-2.3-mlx-q4 --local-dir mlx_models\u002Fltx-2.3-mlx-q4\nHF_HUB_ENABLE_HF_TRANSFER=1 .\u002Fltx-2-mlx\u002Fenv\u002Fbin\u002Fhf download \\\n  mlx-community\u002Fgemma-3-12b-it-4bit --local-dir mlx_models\u002Fgemma-3-12b-it-4bit\n\n# 6. (Optional) Image tab — install mflux + apply the FBCache patch.\n.\u002Fltx-2-mlx\u002Fenv\u002Fbin\u002Fpip install 'mflux==0.17.5'\n.\u002Fltx-2-mlx\u002Fenv\u002Fbin\u002Fpip install --force-reinstall --no-deps 'mflux==0.17.5'\n.\u002Fltx-2-mlx\u002Fenv\u002Fbin\u002Fpython3.11 patch_mflux_fbcache.py\n\n# 7. (Optional) HiDream — separate one-time clone for the photoreal engine.\n#    Clone HIDREAM-O1-MLX-LAB-active into your home directory, or set\n#    HIDREAM_LAB_DIR to point at it.\n#    git clone \u003Chidream-lab-repo> ~\u002FHIDREAM-O1-MLX-LAB-active\n\n# 8. Launch the panel.\n.\u002Fltx-2-mlx\u002Fenv\u002Fbin\u002Fpython3.11 mlx_ltx_panel.py\n```\n\nAbout the version pins: `mlx 0.31.2` attenuates the LTX vocoder by 22 dB. Stay on 0.31.1. `ltx-2-mlx` is pinned to `v0.14.0` — upstream is about to ship breaking changes. `mflux 0.17.5` is the version `patch_mflux_fbcache.py` is line-targeted against.\n\n## Interface\n\nFour workflow tabs at the top of the panel: Video, Images, Audio, Train Character. Each is a single page; the helper subprocess and model state persist across tab switches.\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"50%\">\u003Cimg src=\"assets\u002Fscreenshots\u002Fphos_05_character_mode.png\" alt=\"Video tab · Character mode — compact avatar picker\">\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\u003Cimg src=\"assets\u002Fscreenshots\u002Fphos_02_images_tab.png\" alt=\"Images tab — multi-reference subject composition\">\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Csub>\u003Cb>Video \u002F Character mode\u003C\u002Fb> · round-avatar picker, voice indicator, manage modal\u003C\u002Fsub>\u003C\u002Ftd>\n\u003Ctd align=\"center\">\u003Csub>\u003Cb>Images\u003C\u002Fb> · Qwen Edit, HiDream-O1, multi-ref composition\u003C\u002Fsub>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd width=\"50%\">\u003Cimg src=\"assets\u002Fscreenshots\u002Fphos_03_audio_tab.png\" alt=\"Audio tab — audio drives the generation\">\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\u003Cimg src=\"assets\u002Fscreenshots\u002Fphos_04_train_tab.png\" alt=\"Train Character tab — dataset + auto-caption + voice LoRA\">\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Csub>\u003Cb>Audio\u003C\u002Fb> · voice or music clip drives generation; optional reference image anchors frame 0\u003C\u002Fsub>\u003C\u002Ftd>\n\u003Ctd align=\"center\">\u003Csub>\u003Cb>Train Character\u003C\u002Fb> · drop 15-50 photos, Gemma 3 auto-captions, optional voice LoRA\u003C\u002Fsub>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\nPrompting notes:\n\n- Video \u002F text mode: describe sound the same way you describe scene; the audio path reads the same prompt as the visual.\n- Video \u002F image mode: prompt with motion beats rather than describing the still. Roughly one beat per 2–3 seconds of clip length.\n- Video \u002F character mode: select an avatar from the picker, include the trigger word in the prompt. Q8 Draft (736×416) for iteration, Q8 Pro (1024×576 → 1280×720 final) for delivery.\n- Images: zero to three reference slots. Empty zone is text-to-image. Qwen-Image-Edit instructions are read literally — \"change the white jacket to red\" preserves the rest of the scene.\n- Train Character: center crop for tight portraits, letterbox for wide-shot proportions. The default preset (rank 32, alpha 32, 100 epochs, lr 1e-4) is validated end-to-end and recommended as the starting point.\n\n## Migrating from 2.0\n\nQuit Pinokio (or the panel terminal), then click Update, then Start. Renders, settings, queue, models, and LoRAs all persist across the upgrade via Pinokio's `fs.link` persistent drive. The first update takes a few minutes.\n\n> **Click Update twice on the first v2 → v3 upgrade.** Pinokio loads the user's existing on-disk `update.js` before pulling the new one, which means the v2.x script runs first and doesn't install the new dependencies (ltx-trainer package, mlx-vlm, the trainer's transitive deps). The second Update click runs the new 3.0 script and installs everything. This only applies to the very first migration from a v2.x install.\n\nBehavioral changes worth noting in 3.0:\n\n- Character is a first-class mode pill on the Video tab, no longer a chip nested inside T2V.\n- Q8 HQ is the default quality for character renders. The server-side validator rejects Q4 + character combinations to prevent identity-degraded output.\n- TeaCache is wired through both Extend and Audio-to-Video stage 1.\n- Vertical-player chrome is positioned outside the right edge so 9:16 clips are no longer occluded by controls.\n- Training presets now scale step count by `epochs × image_count`. The 100-epoch \"high\" preset that produced the validated v2 LoRAs preserves its shape regardless of dataset size.\n\n## What's in the repo\n\n- `mlx_ltx_panel.py` is the panel HTTP server. One file, around 22k lines, with HTML, CSS, and JS inlined as the page string. Worker thread plus helper subprocess management plus capability tier detection.\n- `mlx_warm_helper.py` is the long-running inference subprocess. Holds T2V, I2V, Extend, HQ, and Keyframe pipelines. Reads job specs from stdin, emits events to stdout.\n- `image_engine.py` dispatches the Image tab. Backends `hidream`, `mflux`, `mock`. Each spawns its own subprocess with `start_new_session=True` so `\u002Fstop` kills the whole tree.\n- `patch_ltx_codec.py` applies idempotent runtime patches: lossless H.264, free-DiT-before-decode, VAE temporal streaming for long clips.\n- `lora_lab\u002F` is vendored from the [`lora-lab`](https:\u002F\u002Fgithub.com\u002Fmrbizarro\u002Flora-lab) authoring tree. Training works out of the box; set `LTX_LORA_LAB_ROOT` to iterate against an external clone.\n- `mlx_models\u002F` and `mlx_outputs\u002F` both persist across Pinokio Reset via fs.link.\n\nAn MLX port of [HiDream-O1-Image-Dev BF16](https:\u002F\u002Fhuggingface.co\u002Fmlx-community\u002FHiDream-O1-Image-Dev-mlx-bf16) (8B Qwen3-VL backbone, unified pixel-patch transformer, MIT) is included for the Image tab. HiDream lives in a sibling clone (see Setup).\n\n## License and credits\n\nPanel: MIT, see [LICENSE](LICENSE). LTX-Video 2.3 weights: Lightricks' license. MLX: Apache 2.0. Gemma 3 12B: Google's terms. PiperSR: AGPL-3.0.\n\nPhosphene depends on the following projects:\n\n- [Lightricks](https:\u002F\u002Fgithub.com\u002FLightricks\u002FLTX-Video) — LTX 2.3 and the joint audio + video architecture\n- [@dgrauet](https:\u002F\u002Fgithub.com\u002Fdgrauet\u002Fltx-2-mlx) — MLX port of LTX-Video; the foundation everything else builds on\n- [Apple ML team](https:\u002F\u002Fgithub.com\u002Fml-explore\u002Fmlx) — MLX\n- [HiDream-ai](https:\u002F\u002Fhuggingface.co\u002FHiDream-ai\u002FHiDream-O1-Image-Dev) — HiDream-O1 weights and reference implementation\n- [filipstrand\u002Fmflux](https:\u002F\u002Fgithub.com\u002Ffilipstrand\u002Fmflux) — MLX-native FLUX and Qwen-Edit family\n- [mlx-community](https:\u002F\u002Fhuggingface.co\u002Fmlx-community) — Gemma 3 12B 4-bit\n- [ModelPiper \u002F PiperSR](https:\u002F\u002Fgithub.com\u002FModelPiper\u002FPiperSR) — optional 2× upscale on the Apple Neural Engine\n- [@cocktailpeanut](https:\u002F\u002Ftwitter.com\u002Fcocktailpeanut) — Pinokio\n\nWhat Phosphene adds on top of those: a persistent batch queue, a warm helper subprocess with capability-tier feature gating, lossless H.264 output with JSON sidecars, the in-panel character + voice LoRA training pipeline, the Image tab dispatch layer with adaptive wall-time estimates, the agentic prompt-enhancer \u002F shot planner, and the Pinokio install + update lifecycle scripts.\n\n## Roadmap\n\nUpcoming work — three-aspect character LoRAs, scene\u002Froom LoRAs for\nlocation continuity across clips, a real multi-character workflow,\nand stacking-aware strength balance — is tracked in [ROADMAP.md](ROADMAP.md).\nContributors and feature requests welcome via GitHub Issues.\n\n## Support development\n\nPhosphene is free and open source.\n\n- Follow [@PhospheneAI](https:\u002F\u002Fx.com\u002FPhospheneAI) on X for releases and clips\n- Patreon: https:\u002F\u002Fwww.patreon.com\u002FPhospheneAI\n- Issues and PRs: https:\u002F\u002Fgithub.com\u002Fmrbizarro\u002Fphosphene\n\n## Network note\n\nPhosphene runs locally. No telemetry. A clean production install checks GitHub every 30 minutes for an update badge, and only touches Hugging Face or CivitAI when you download models or LoRAs. Disable the update check with `PHOSPHENE_DISABLE_VERSION_CHECK=1`. The panel binds to `127.0.0.1` with no auth. It's not designed for LAN exposure or tunneling.\n","Phosphene是一个针对Apple Silicon设计的本地生成式视频面板，支持联合音频和视频合成。该项目基于LTX-Video 2.3（MLX端口）运行，并集成了Qwen-Image-Edit-2511和HiDream-O1-Image-Dev图像处理模型，同时提供了一个用于训练角色身份（包括面部和可选的声音）的LoRA管道。其核心特点是完全在设备上运行，无需云服务、API密钥或遥测数据。适合于需要在Mac上进行高质量生成式媒体创作而不想依赖外部资源的场景，如独立开发者、小团队或者对隐私有较高要求的内容创作者。根据硬件配置的不同，界面会自动调整可用功能，确保最佳性能体验。","2026-06-11 03:59:04","CREATED_QUERY"]