Skip to content

Releases: mrbizarro/Phosphene

v3.6.0 — Quality × Length, the Native tier, and a UI that only shows what your engine can do

Choose a tag to compare

@mrbizarro mrbizarro released this 07 Aug 09:47

Pick quality and length separately

Hailuo H3 renders used to come from a fixed menu of six presets, which quietly made most combinations impossible — the best canvas could only ever produce 5-second clips. Now there are two axes:

Quality — Draft 640×384 · Standard 768×448 · High 1024×576 (true 16:9) · Native 1344×768
Length — 3s · 5s · 10s · 15s

Every cell is renderable. High at 10s and Native at any length were previously inexpressible.

The estimates are computed, not looked up. A cost model fitted to real renders on an M4 Max prices each combination, and the two top canvases carry measured end-to-end Turbo numbers. Sample, with the Turbo adapter installed:

5s 10s
High 1024×576 (16:9) ~8-9 min ~17 min
Native 1344×768 ~20 min ~38 min

The engine picker is where it belongs

It moved out of the middle of the Video form into the top right, as a segmented control with its own mark per engine, separated from the status pills by a hairline — choice on one side, state on the other. It renders from an engine registry, so adding a third engine is one table entry rather than a UI rewrite.

Every control now belongs to an engine

The H3 surface was advertising things H3 cannot do. Gone when H3 is active: Character, FFLF, Keyframes, Extend, Remix, the character strips, Enhance (it rewrites prompts in LTX's style and destroys H3's dialogue tags) and Avoid (H3 is guidance-distilled — there is no negative prompt, so the field did nothing). In its place, a line explaining the in-prompt approach that does work.

Also fixed:

  • Load Params restores the engine and its settings, not just geometry — loading an LTX clip while H3 was open used to leave LTX dimensions under an H3 tier strip. It now confirms visibly instead of succeeding in silence.
  • Speed prints two comparable absolute times (Standard 8 min / Turbo 4 min) instead of a sampler description next to a tilde that read as a minus sign.
  • Export is called Upscale, Steps is back on the surface where you can find it, and Turbo is the default when the adapter is installed.
  • A true 16:9 canvas exports to 720p and 1080p as a pure scale — no letterbox bars — and every tier states its aspect out loud.

Install no longer loops forever

If an install failed, Phosphene retried it automatically, forever, showing shell restarts instead of the error. It now stops after a failed attempt, says what broke, and offers Reset. This has been present in every release since v2.0.0 — thanks to @natxou for the screenshot that made it findable.

Also: the header badge has claimed "3.0" on every release since 3.0. It reads the actual version now.

Update via Pinokio.

v3.5.0 — Turbo: half the wall clock, better faces

Choose a tag to compare

@mrbizarro mrbizarro released this 06 Aug 10:32

Turbo for Hailuo H3

A 4-step distillation LoRA renders in 3 forwards instead of 6 — roughly 0.6× the wall clock of the 9-step default at every tier. In matched face crops it comes out sharper at the mouth and less glossy than the full-step render it replaces, so this is not the usual speed-for-quality trade.

  • One toggle in the new Speed row on the H3 strip. Off by default; the non-Turbo path is byte-identical to before (verified: --lora …:0 renders sha256-identical to no adapter at all).
  • The toggle only appears when the adapter is actually installed and your H3 pack supports it — one click downloads ~0.8 GB.
  • Adapter by @larryvrh (Apache-2.0). Weights are never bundled; they're fetched from Hugging Face on demand.

Draft → Finish

Render the ~3-minute Draft tier to check your shot, then one click re-queues the identical job — same seed, same prompt, same first frame — at a delivery tier. The draft tier now also says what it's for: composition, motion and dialogue timing. Faces and fine detail resolve at the higher tiers.

Notes

  • Turbo is an early distill from an in-progress training run upstream. It's a speed mode, not a replacement for the full-step path.
  • VERSION had drifted at 3.4.1 through the v3.4.2 release; corrected.

Update via Pinokio. Existing H3 installs need one re-clone of the H3 pack to pick up the runner's adapter support.

Thanks to drbaph for the pointer that led to the better EMA checkpoint, and @ivanfioravanti for the ongoing H3 testing.

v3.4.2 — pick your H3 steps + community fix wave

Choose a tag to compare

@mrbizarro mrbizarro released this 05 Aug 18:32

Same-day follow-up to v3.4.1.

New

  • H3 Steps control — pills on the H3 tier strip: Auto / 12 / 16 / 20. Auto keeps each tier's tuned 9-step point; 20 is the official reference recipe (~2.4× render time). Requested by @ivanfioravanti.

Fixed (all from user reports — thank you)

  • LoRA strength value clipped behind the number spinner (#45)
  • M1/M2: Metal-watchdog kill during Gemma prompt encoding now auto-retries once with a 256-token window instead of failing the render (#44)
  • Extend consumed the 720p export instead of the native render, and the downscaler squashed aspect by up to 3.85% (#48)
  • Model integrity is now placement-aware: right-content-wrong-place weights that shadow the real file are reported with both paths (#36)
  • Train preflight downloaded the quantized dev transformer and green-lit it — the exact file that trains a dead LoRA. Now fetches the full-precision Q8 copy and size-gates the check (#35)
  • LTX + H3 venvs self-heal when Pinokio's shared uv Python gets pruned (the "installed another pack and H3 vanished" class)

Update via Pinokio — installs pick this up from main automatically.

Sample character: Bizarro — test Remix without training your own

Choose a tag to compare

A ready-to-use trained character so you can try Remix / Character mode without spending hours training your own first.

This is a LoRA of my own face (@bizarro) — the same character in the Remix demo, dressed catastrophically wrong for three climates. I trained it in Phosphene's Character tab; I'm shipping it so you can see the feature actually work before deciding whether to train one of your own.

Use it

  • Trigger word: bizarrotrn
  • In-app (easiest): Character tab → Get a sample character → it downloads here and shows up in your character picker.
  • Manual: download bizarrotrn_v2.safetensors below, drop it into mlx_models/loras/ inside your Phosphene folder, restart the panel — it appears in the Character picker as "Bizarro (sample)".
  • Recommended identity strength: ~1.3 (higher tightens the face, lower keeps motion natural).
  • Works on its own for Character mode, and as the Character inside Remix → Ingredients to drop this face into any scene you build.

Notes

  • Visual character LoRA only (no voice). ~817 MB, LTX-2.3, Apple-Silicon MLX.
  • sha256: a52e648a4e3edccd279363acdc85337d1d9813ca5dab30f8948f79393a4ba615
  • It's my own likeness, shipped on purpose for testing the feature. Make fun things; don't be a jerk with it.

v3.2.6 — transformers pin (fixes crash on every generation)

Choose a tag to compare

@mrbizarro mrbizarro released this 11 Jul 15:17

Fixes the crash on every generation

Fresh installs after transformers 5.13.0 released (~Jul 9) failed on every generation with 'str' object has no attribute '__module__' (or the downstream Model not loaded. Call load() first.). Root cause: mlx-lm 0.31.1 requires transformers>=5.0.0 with no upper bound, so the installer pulled 5.13.0 — which breaks mlx_lm.tokenizer_utils, so the Gemma text-encoder silently no-ops.

The fix: install.js now pins transformers>=5.0.0,<5.13.0.

If you're hit by this: just click Update in Pinokio — it re-runs the installer and downgrades transformers to a working version. No manual steps.

Fixes #40, #38, #37, #33. Thanks to @saved-j and @xandreau for the diagnosis.

v3.2.5 — image-to-image + robust first-run downloads

Choose a tag to compare

@mrbizarro mrbizarro released this 16 Jun 05:44

New

  • Image-to-image, made obvious. Qwen-Image-Edit and FLUX.2 Edit (now labeled "Reference Edit") take a reference image for real, pixel-faithful img2img — drop a photo and transform it.
  • Ideogram reference bridge. Ideogram 4 is text-only, but you can now drop a reference and have it redraw the look (vision-captioned into the prompt) while keeping Ideogram's typography. A re-interpretation, not a pixel copy.

Fixes

  • Fast mode (Q4) works again — it was silently falling back to Q6 on the panel queue path in v3.2.4.
  • First-run download progress — shows "Downloading model · first run · X.X GB" with a live bar instead of a frozen "Loading pipeline."
  • First-run download can't time out on a slow connection — a watchdog keeps a slow-but-progressing download alive (proven on a real 41-minute pull) instead of failing with a partial model.
  • Ideogram safety-filter blocks are clear now — if Ideogram's own model blocks a (often benign) prompt, you get a clear message instead of a silent gray placeholder.

Update from Pinokio. Apple Silicon only. Free and open source.

v3.2.4 — Ideogram runs on slower Apple GPUs

Choose a tag to compare

@mrbizarro mrbizarro released this 14 Jun 18:14

Ideogram 4 now runs on M1 / M2 Macs

Big thanks to @cocktailpeanut, who tracked down exactly what it took to get Ideogram 4 running on an M1 Max and sent the fix.

Fixes

  • No more crash on slower Apple GPUs. Ideogram was tripping the macOS Metal command-buffer watchdog (kIOGPUCommandBufferCallbackErrorImpactingInteractivity, SIGABRT). The Ideogram subprocess now runs with MLX_DISABLE_COMPILE + MLX_METAL_FAST_SYNCH, so MLX submits shorter Metal command buffers that stay under the watchdog.
  • Much faster by default. Default quantize is now -q 6 instead of raw fp8 (which was extremely slow). Fast mode (-q 4) is still there for low-RAM Macs.
  • Sane default candidate count. Generates 1 image by default instead of 4 (~4x the time and RAM). Raise it whenever you want.
  • Real progress. Image generation shows live denoise steps instead of sitting on "Loading pipeline".
  • Reveal-in-Finder works. The outputs-folder button now opens the actual folder with your latest render selected.
  • Smaller image sizes. New 768×432 / 512×512 / 432×768 options for weaker machines.

Also bundled (since v3.2.1)

  • Ideogram works out of the box — un-gated mirror, no token, mflux included.
  • Quieter installer (uv — no scary pip dependency-resolver block).
  • Completed the Q4 video "mosaic" fix.

Update from Pinokio to get it.

v3.2.1 — Ideogram 4 out of the box (no token, mflux bundled)

Choose a tag to compare

@mrbizarro mrbizarro released this 13 Jun 16:20

Ideogram 4 now works out of the box — no Hugging Face token, no license click, and the image engine ships by default.

Two things were stopping people from generating with Ideogram 4 even after they added a token and laid out their text:

No more token / gating

The official ideogram-ai/ideogram-4-fp8 repo is license-gated, so everyone had to make a Read token and click "Agree and access" — and a fine-grained token or the wrong account still returned a 403. Phosphene now pulls @cocktailpeanut's un-gated mirror (cocktailpeanut/ideogram-4-fp8, identical fp8 weights): no token, no license step, no 403. If you already downloaded the official weights, they're reused — no 28 GB re-download.

The image engine ships by default

The real reason Generate stayed greyed out was that mflux wasn't installed — it was an opt-in add-on hidden behind a menu item confusingly named "Install Qwen-Image-Edit". Image generation is a core feature now, so the mflux pack (Ideogram 4 + Qwen-Edit) is installed automatically on new installs and on update. It's best-effort, so it can never fail your video install/update. The recovery menu item is renamed "Reinstall image engines (Ideogram 4 + Qwen-Edit)".

Existing users: just hit Update. Your update now installs the image engine and Ideogram 4 will generate with no token.

Thanks to @cocktailpeanut for publishing the un-gated mirror and reporting the friction.

v3.2.0 — Ideogram Layout editor + agent API

Choose a tag to compare

@mrbizarro mrbizarro released this 12 Jun 19:51

The Ideogram 4 integration grows from a placement widget into a real design tool — and gets an API built for AI agents.

The Layout canvas, rebuilt

Pick Ideogram 4Layout and the right side of the panel becomes an artboard:

  • Type directly on the frame — click a box and type, or paste. Double-click any box to edit it.
  • Floating toolbar on the selected box — color swatches, alignment, text style (headline / subhead / body / caps / script / serif), delete. No more round-trips to a side panel.
  • Object regions describe what the model should draw in a rectangle, typed inline the same way.
  • Stage toolbar on the canvas: + Text, + Object, Snap, Undo, Examples, and an Edit canvas / Result toggle. Generate flips to Result automatically so you watch the render land.
  • The canvas is scoped to the Images tab — switching to Video / Audio / Train suspends it cleanly and coming back restores your boxes exactly.

Agent API — compose images with one JSON POST

POST /image/agent takes a plain spec — scene text plus boxes as fractions of the frame — builds the strict caption Ideogram was trained on, and renders:

{"scene": "A retro synthwave concert poster background ...",
 "aspect": "16:9", "quality": "turbo",
 "boxes": [{"type": "text", "text": "PHOSPHENE", "x": 0.1, "y": 0.1, "w": 0.8, "h": 0.24,
            "style": "headline", "align": "center", "color": "#FFFFFF"}]}

GET /image/agent/schema is self-documenting (an agent can read that one URL and start composing), validate_only previews the caption without GPU time, and jobs queue behind UI renders instead of failing when busy. Docs: docs/AGENT_API.md.

Fixed

  • Switching engines no longer overwrites Ideogram's prompt placeholder.
  • Output-card auto-select can no longer yank you out of mid-edit; only a real click (or Generate) flips the stage to Result.

Ideogram 4 setup is unchanged (one-time HF Read token + license acceptance, ~27 GB download, free for personal/research use). Update via Pinokio.

v3.1.1 — Ideogram output-card buttons hotfix

Choose a tag to compare

@mrbizarro mrbizarro released this 12 Jun 06:41

A polish hotfix on top of v3.1.0.

On images generated by Ideogram 4, the output-card action buttons didn't work and the titles/labels showed raw caption JSON. Ideogram stores its prompt as a structured caption (it has to, for the model), and the gallery surfaces weren't handling that shape.

Fixed

  • The Animate button on Ideogram images now works — it was silently broken whenever the caption contained an apostrophe (the ' terminated the inline onclick) — and it now pre-fills the readable description instead of a wall of JSON.
  • Recent-list titles and the engine label now read the description and "Ideogram 4" instead of raw JSON / mflux/ideogram.
  • Load params on an Ideogram image now restores it into Image Studio's visual text-placement canvas instead of dumping JSON into the video prompt box.

Regular (non-Ideogram) image outputs are unchanged. Update via Pinokio.