Lolly
App öffnen

Generated once, rendered the same

signed by Lollyai-features.htmlHTMLpixels, not shapes14 KBAI generatedgenerated by ClaudePrüfen Sie es selbstSignierte Datei holen

Lolly uses AI in a few specific places. It can speak a script aloud, enlarge a small image, lift a subject off its background, suggest a rewording, sing a song's lyrics and estimate a photo's depth, and it can read the words in an image or a recording. All of them follow the same pattern: a model does one probabilistic thing, once, under guard-rails, and everything after that is a deterministic render that never guesses again.

That split is what makes a generated element safe to build on. The moment a voice clip or an enlarged photo exists, it stops being a model's shifting output and becomes a fixed set of bytes. Every tool that uses it works from those same bytes, so the same input produces the same asset in the browser, in the terminal and on the desktop, today and next year.

A generated storm image opened in Verify, its GEN AI badge beside the green Made with Lolly verdict and the credential-intact and bytes-unchanged checks signed by Lollyvector SVG192 paths~23k nodes316 groups3 images546 KBPrüfen Sie es selbstSignierte Datei holenA generated storm image opened in Verify, its GEN AI badge beside the green Made with Lolly verdict and the credential-intact and bytes-unchanged checks signed by Lollyvector SVG192 paths~23k nodes316 groups3 images548 KBPrüfen Sie es selbstSignierte Datei holen

One guess, then a fixed asset

Generation is the probabilistic step. Asking a model to invent a voice, or to infer detail that was never in the pixels, is by nature a guess. Lolly boxes that guess in: it runs on your own device with no upload, it happens as one explicit, cancellable action rather than inside a render loop, and its output is disclosed for what it is. Then it is over. The result is saved as an ordinary asset, a clip or an image, and the model is not consulted again.

The render is deterministic. Every tool's state lives in its inputs, and those inputs live in the URL, so a link is a reproducible render (see URL Mode). The CLI is the same render path under a different transport: the Design tool's --narrationVoice=… on the command line is the same value the web shell reads from ?narrationVoice=…. One path, so a browser and a build server cannot drift.

Re-open a project next year, render it in CI or send the link to a colleague on another platform, and the speech, the upscaled photo and the cutout compose exactly the same way, because none of them is generated again. Provenance rests on this too: a Content Credential that attests to these bytes means something only when those bytes are stable.

A spoken clip turned into an audiogram, its waveform the actual shape of the audio - the kind of card a synthesised voice arrives in before it chains into a video's credentials signed by Lollyvector SVG5 paths~1.4k nodes11 groups22 KBPrüfen Sie es selbstSignierte Datei holenA spoken clip turned into an audiogram, its waveform the actual shape of the audio - the kind of card a synthesised voice arrives in before it chains into a video's credentials signed by Lollyvector SVG5 paths~1.4k nodes11 groups22 KBPrüfen Sie es selbstSignierte Datei holen

The test: did a model invent what you see?

The line between "marked as AI" and "an honest edit" is a mechanical test: did the model invent content that was not there? Using a model is not enough to earn the label: depth estimation and reading text both use models, and neither carries the badge.

OperationTrained model?Adds content that was not there?Marked as
Text to speechYesYes: a voiceAI-generated, with the GEN AI badge
UpscalingYesYes: inferred detailAI-generated composite, with the badge
Rewording, when you keep a model's sentenceYesYes: wordsAI-assisted
Synthesised singingYesYes: a singing voiceAI-generated, with the models listed
Background removalYes, or a colour key with noneNo: keeps the original pixelsA plain edit
Pixel-art scalingNoNo: copies existing pixelsA plain edit
RetouchNoNo model invents anything: it fills from nearby pixelsA plain edit
Depth for Spatial PhotoYesNo: moves the photo's own pixelsNo badge; the photo stays an ingredient
Reading text or speechYesNo: produces no media at allNothing

Keeping the test this strict keeps the badge worth reading. It means "a model made up part of what you are looking at", not "a model was involved somewhere nearby". A badge that fired on every AI-adjacent operation would tell a viewer nothing, and over-claiming provenance is as dishonest as hiding provenance.

What gets marked

We mark synthetic speech even though today's synthetic voices are audibly robotic. That tell belongs to this year's models, not to a safeguard, so the practice has to be in place before the tell disappears. Machine-readable disclosure of synthetic audio is also what transparency rules ask for; see AI marking and the EU AI Act.

Assets, where an image generated in Gemini or OpenAI and brought in sits beside the brand's own assets, each tile a permanent id every tool can call signed by Lollyvector SVG541 paths~18k nodes620 groups455 KBPrüfen Sie es selbstSignierte Datei holenAssets, where an image generated in Gemini or OpenAI and brought in sits beside the brand's own assets, each tile a permanent id every tool can call signed by Lollyvector SVG541 paths~18k nodes620 groups456 KBPrüfen Sie es selbstSignierte Datei holen

What does not get marked

Retouch's four methods

Method chooses how the fill works. Content-Aware copies texture from the nearby patch whose surroundings match best. Proximity Match prefers the closest such patch. Create Texture fills smoothly and adds grain like the detail around the spot. Smooth is the Telea fast-marching fill, which spreads nearby pixels inward along the mask's edge. Each copied patch is blended to meet the surrounding tone, and each separate painted area is healed on its own.

Reading is not making

The on-device text reader (a recognition model, downloaded once) is behind Read the text in this image on Verify, Read text in Assets, Snap to text in Annotate and Suggest in Redact. The image never leaves the device. It carries no badge and writes no credential at all, by the same test: reading produces no media, so no pixel is invented or even edited. What you do with the words afterwards is a separate act with its own record.

Speech to text follows the same rule. An on-device speech model (Whisper) turns a recording into timed words for subtitles, and that text is not flagged as AI-generated.

The export panel's Content Credentials card, pre-ticked, so an AI-origin ingredient rides into whatever file the render becomes rather than being left behind signed by Lollyvector SVG8 paths340 nodes14 groups2 images10 KBPrüfen Sie es selbstSignierte Datei holenThe export panel's Content Credentials card, pre-ticked, so an AI-origin ingredient rides into whatever file the render becomes rather than being left behind signed by Lollyvector SVG8 paths340 nodes14 groups2 images10 KBPrüfen Sie es selbstSignierte Datei holen

Check these claims yourself

Each claim here rests on a mechanism, and each mechanism ships with tests: the on-device boundary, the source type each operation stamps and the flag that does or does not appear. Run any output through Verify It Yourself and read the change history back. The bridges behind these features are in Host API, and the wider position they follow from is Our AI Stance.