Creative AI Briefing: Wednesday, September 16, 2026
Drop a photo into a browser tab and get four images back: the object colours with the lighting stripped out, a depth map, a normal map, and the light by itself as a grey layer you can multiply back in. That is a free CPU demo of a 28 MB file, and it went up yesterday afternoon. Look across the rest of the day and the same shape repeats. Everything shipping right now recovers information the camera did not record. A viewpoint nobody stood at. The paint separated from the light on it. The plate behind an object and the shadow it cast. Type in another language sitting in the original layout. The compute is not the barrier any more. On the most capable release of the day, the barrier is a licence that names your country as out of bounds.
New models
Meridian from Viggle AI (Hugging Face createdAt September 14, 15:07 UTC) re-shoots footage you already have from a camera position that never existed. You feed it a continuous clip at a constant 24 fps, choose a camera path, and it renders a new take along that path: orbit, dolly, slide, rise, change field of view. You can also freeze the action at a chosen frame and keep moving around it, or retime the source first and design the move over the slowed timeline. The card is careful that bullet time is one combination and not the limit. It works from a single photograph too; one of the published examples is a camera move built from one ballet still.
The mechanism tells you where it breaks. VGGT-Omega (4.5k stars) estimates depth and camera poses from your input, turning the selected frames into coloured 3D points. Those points get rendered from your chosen viewpoint, leaving grey holes wherever nothing was ever observed. Meridian takes the original video and that holed render as paired references and fills the gaps. Viggle report the warp preview at 0.24 seconds against roughly 36 seconds for generation, so you can check framing before spending the GPU time. That preview loop is the actual product.
The costs: a 61.7 GiB bf16 transformer plus a 2.5 GiB fast adapter running four steps in three forwards. On one B200 with the service resident, 73 frames take about 36 seconds at 88 GiB peak, 124 frames about 80 seconds at 89 GiB, 243 frames about 150 seconds at 113 GiB. No quantization, no CPU offload, no multi-GPU sharding in the shipped scripts, and Viggle say so plainly while inviting the community to add them. Output is 24 fps, 1344 × 768 for 16:9 input, in takes of 73 to 243 frames.
Then the licence. Code is Apache 2.0. The weights are a Model Derivative under the MiniMax H3 Community License Agreement, which licenses use and distribution of the weights and their outputs inside its Applicable Territory only, and that territory excludes the European Union, the United Kingdom, the Republic of Korea and the United States. VGGT-Omega is not in the download at all and comes from Meta under the FAIR Noncommercial Research License. So the most interesting creative tool of the week is, by its own terms, unavailable to most of the people reading about it. Read the LICENSE before you pull 61.7 GiB.
ShadeNet-2-20M (model, createdAt September 15, 14:02 UTC, Apache 2.0) goes the other way: tiny, permissive, and running for free in a browser right now. One photo in, eight channels out. Three for albedo, which is the object colour with lighting factored away. One for relative depth. Three for surface normals. One for shading, the grey light layer, where albedo times shading reconstructs roughly the input. For anyone doing texture work, matte painting, or relighting, that is a set of maps you would otherwise fake by hand.
It is 20.05 million parameters, shipped as a 333 MB torch checkpoint, an 80 MB fp32 ONNX, and a 28 MB int8 ONNX that runs on CPU with no GPU at all. It was trained from scratch in about 17 hours on a single GTX 1650, on 8,077 Flickr8k photos labelled by Marigold V2. The author publishes a full validation table across 807 images and the limits in plain language: depth is relative and not metric, the shading head assumes white light so sunsets and neon leak colour into the albedo, normals go noisy in foliage and sky, and there is no uncertainty output, so confidently wrong labels get fitted confidently. Free hosted demo, running now: singam96/ShadeNet-2-20M (Space createdAt September 15, 14:45 UTC, int8 on CPU).
Image
Object removal that also removes the shadow. A safetensors mirror of the OSOR SDXL inpainting checkpoint went up this morning (eerie-road/osor-sdxl, createdAt September 16, 06:21 UTC, CreativeML Open RAIL++-M). OSOR is an ECCV 2026 paper, one-step diffusion inpainting for what the authors call effect-aware object removal: it targets the object plus the traces it left, shadows and reflections included. The architecture detail that matters is a widened five-channel output where the fifth channel is a predicted removal alpha, plus a rank-256 adapter over the SDXL inpainting UNet. It runs on one fixed prompt, "Remove the instance of object", which the mirror ships pre-encoded so you never load the text encoders. Upstream code is MIT at Zhouqm-Git/osor (19 stars).
The mirror is also a small model of how redistribution should work. The original release was a PyTorch pickle, which executes code on load. The converter scanned it statically with pickletools without running it, confirmed the only globals were ordinary tensor-rebuilding calls, loaded it once under the restricted unpickler, wrote safetensors, compared bit for bit, and pinned the SHA-256 in the README along with exact byte counts (3,111,950,972 for the weights). The FLUX-Fill variants of OSOR are deliberately not mirrored because those carry the non-commercial licence.
In-image translation, if you have a very large card. UniTranslator (createdAt September 14, 06:30 UTC, ECCV 2026, arXiv 2606.24333) reads text inside a picture, translates it, and repaints the translation into the same regions while trying to hold the typography and background. Eight evaluated directions, all European. The paper reports roughly 50 GB peak GPU memory and 9.51 seconds per image. Weights sit under the FLUX.1 Dev Non-Commercial License because the generator is gated FLUX.1-Kontext-dev. The limitations section is specific about stylized type losing its strokes and backgrounds shifting outside the intended region. Code has 5 stars; this is research you can run, not a tool you can ship.
Video
Beyond Meridian, nothing. The frontier labs published no creative releases inside the window, and the week's video energy is still going into the LTX 2.5 adapters that landed earlier.
Open and local
The local story today is conversion and packaging rather than new capability. People took models that already worked and made them run somewhere they previously could not, and published their verification rather than asking you to trust the output.
- singam96/ShadeNet-2-20M: lighting, colour, depth and normals pulled out of one photo, in a 28 MB file. Why now: createdAt September 15, Apache 2.0, and a live CPU Space lets you test it against your own plates before downloading anything.
- enginil/ClearRealityV1-CoreAI: Kim2091's 4x SPAN upscaler converted to Apple's Core AI format so it runs on the Neural Engine. Why now: createdAt September 15, Apache 2.0, with parity numbers published against the original (max absolute difference 0.0095 on a full 854 × 1280 to 3416 × 5120 run, cosine 0.99999985751). Needs macOS 27 or iOS 27 and Apple Silicon. Tile is locked at 512 by the export; only overlap is adjustable.
- eerie-road/osor-sdxl: effect-aware object removal weights, converted out of a pickle into pinned safetensors. Why now: createdAt September 16, with the full conversion audit in the README.
- fernandotonon/QtMeshEditor-lama-onnx: LaMa inpainting as ONNX, Apache 2.0, createdAt September 15. Unglamorous and useful if you want fill without a diffusion stack.
- cheng118/FLUX.2-klein-base-9B-GGUF: quantized FLUX.2 Klein base, createdAt September 14, 380 downloads. Second-day work, still the fastest route onto a small card.
- Cierpliwy/krea2_lineart_edit: publicly trained editing adapters for Krea 2, the first I have seen on the hub, createdAt September 14, 18 likes. See the workflow below.
Creative workflows
1. Turn your own line drawing into a finished render with Krea 2.
Krea 2 shipped as text-to-image with no reference path. Last week ostris added an edit mode to it through ComfyUI-Krea2-Ostris-Edit (331 stars). Yesterday somebody used that to train and publish adapters for it, and they do something illustrators actually want.
The steps. Install ComfyUI-Krea2-Ostris-Edit and comfyui_controlnet_aux (4.2k stars). Download one of the two files from Cierpliwy/krea2_lineart_edit into ComfyUI/models/loras/: krea2_lineart_edit_v1.safetensors follows your lines closely, krea2_lineart_coarse_edit_v1.safetensors interprets them loosely. Load the supplied lineart_example.json workflow. Put your drawing in the LoadImage node. Write the final look, style, colour, setting, into the TextEncodeKrea2OstrisEdit node. Queue it.
How it works. The adapters were trained on lines produced by the Realistic Lineart preprocessor, so they expect that specific line character. Your drawing carries the structure; the prompt carries everything else. Starting from a photo rather than a sketch, push it through that same preprocessor first so the input matches what the model saw during training.
Why it is good. You keep the composition. A sketch is a far more precise instruction than a paragraph, and this is a free way to give Krea 2, which people picked specifically for its look, a drawing to follow. I have not found another on the hub.
Where it breaks. Line style is the whole ball game: hand-drawn lines with a different weight or texture than the Realistic Lineart output will drift, and the loose variant drifts on purpose. The weights sit under the Krea 2 Community License, not an open one, so check the terms before commercial use. There is no strength dial in the example graph, so your only control between faithful and free is which of the two files you load. Free hosted demo: Cierpliwy/krea2-lineart-edit-demo (Space createdAt September 15, 15:59 UTC).
2. Pull a relighting stack out of a single photograph.
The steps. Open the ShadeNet-2 Space and upload a plate, or run it locally: pip install onnxruntime pillow numpy, grab onnx/model_quantized.onnx (28 MB) from the repo, feed a [1, 3, H, W] array in the range minus one to one at a size that is a multiple of 32, and read back [1, 8, H, W]. Channels 0 to 2 are albedo, 3 is relative depth, 4 to 6 are normals, 7 is shading. There is also a torch CLI: python inference.py photo.jpg --output_dir ./output.
How it works. The shading channel has no ground truth anywhere in training. Its only supervision is the requirement that albedo multiplied by shading comes back out looking like the input. That one constraint forces a split between what colour a surface is and how much light is landing on it, which is exactly the split you need to relight something.
Why it is good. Your normal and depth maps arrive in the same pass and the same registration as the albedo, so you can drop a new light on a photographed object without rebuilding geometry. All Apache 2.0, all of it in 28 MB.
Where it breaks. Depth is relative, so do not read distances off it. Any strongly coloured light source, a sunset, a neon sign, a practical with a gel, bleeds into the albedo instead of staying in the shading layer. That is the failure that will bite you first on real footage. Normals go soft in foliage and sky. And the supervision came from Marigold pseudo-labels on 8,077 Flickr photos, so the training distribution is snapshots, not studio product shots.
Worth testing
- ShadeNet-2 Space, free, no install. Tradeoff: white-light assumption means anything with warm or coloured lighting gives you a contaminated albedo.
- Krea 2 lineart demo, free. Tradeoff: only two fixed strengths, and the licence is Krea's community terms.
- OSOR object removal via the mirrored weights. Tradeoff: no hosted demo surfaced, you assemble the generator yourself, and RAIL++ carries use-based restrictions.
- ClearRealityV1 on Core AI if you are on Apple Silicon. Tradeoff: macOS 27 or iOS 27 only, and the upstream author warns that bokeh regions still artifact.
- Meridian, only if you are outside the excluded territories and have a card with 88 GiB or more free. Tradeoff: that sentence is the tradeoff.
What actually matters from today's signal
The frontier labs published nothing creative in the last 48 hours. What filled the gap is more interesting than another model card would have been: five separate attempts at reconstructing what the sensor missed. New viewpoints, lighting layers, clean plates, extra pixels, replaced type. This is the second act of generative media, and it looks less like prompting and more like post.
The practical lesson is that the cost has moved. A 28 MB file trained for 17 hours on a card from 2019 does a job that used to be a specialist's afternoon, and it runs on your CPU for free. Meanwhile the strongest release of the day needs 88 GiB and is legally out of reach in four of the world's largest creative markets. Your constraint is no longer how much memory you can buy. It is which paragraph of which agreement applies where you live and what you plan to sell.
Which points at the counter-signal. Notice who published their limits. ShadeNet's author tells you the white-light assumption will ruin your sunsets before you find out yourself. The Core AI port publishes its numerical divergence from the original to seven decimals. The OSOR mirror pins a hash and shows the audit. That is not politeness. It is the thing that makes a model usable in paid work, because you can plan around a documented failure and you cannot plan around a surprise. Weigh a release by how specifically it describes its own breakage, and today's rankings look nothing like the download counts.
Source access notes: blog.comfy.org served a JavaScript wall as usual; the ComfyUI GitHub releases API returned an empty body this run and no ComfyUI release is claimed here. The Hugging Face daily papers endpoint exceeded the fetch size budget and was skipped. Hacker News search returned only stale items and contributed nothing. openai.com/news, blog.adobe.com, runwayml.com/research, replicate.com/blog and blog.fal.ai all fetched successfully and had nothing inside the 48-hour window; the most recent creative-generation item on OpenAI's product feed is ChatGPT Images 2.5 dated September 8, and the most recent creative items from the others are dated September 2 (Adobe for Slack), September 3 (Runway GWM Worlds 2), August 4 and August 27. Adobe's blog renders its post list through encoded carousel fragments rather than plain HTML, so that September 2 date came from a single successful pull and was not independently reconfirmed. Midjourney and Civitai were not reachable and are not cited. Every Hugging Face date above comes from the API createdAt field, never a listing "Updated" timestamp; star counts come from shields.io with cache busting. An adversarial fact-check subagent reviewed this draft against primary sources.