How to

How to make a live wallpaper with AI

Step by step

  1. Pick a wallpaper typeA Metal shader for the Mac, an HLSL shader for Windows, or a web wallpaper (Canvas and WebGL) for both. All three are free.
  2. Copy the prompt and describe your ideaOn the docs' prompt page, copy the prompt for your type and replace the DESCRIPTION line with what you have in mind.
  3. Save the files the AI returnsThe AI answers with two code blocks: manifest.json, at the root of the folder, and the shader or index.html, inside content.
  4. Pack it with pack.pyDownload pack.py from the docs and run python3 pack.py with the folder name. It validates everything and writes the .livewallpaper file.
  5. Import and shareIn PrimoEngine, import the file with the + (Import) button in Installed. Then use Share… in the wallpaper's menu to send it to others.

Why can an AI make a wallpaper?

In PrimoEngine, a wallpaper is just a .livewallpaper file: a ZIP with a manifest.json that describes it and a content/ folder with the actual content. That’s a handful of text files, exactly the kind of thing ChatGPT and Claude write well, as long as they know the rules.

That’s what the ready-made prompts in the docs are for: they explain the format, the required names and what’s forbidden, so the result comes out valid.

Which wallpaper type should you pick?

TypeBest forRuns onPlan
metalPatterns, gradients, effects. Lightest on battery.MacFree
hlslThe same on Windows: the twin of a Metal shader.WindowsFree
webIllustrations, particles, Canvas and WebGL.Mac and WindowsFree
videoAny looping video you already have.Mac and WindowsPremium

If you want one file for both systems, go web. If you want the lightest option on a laptop, go shader.

The steps in more detail

1. Write a good description

The prompt has a DESCRIPTION line. Replace it with what you picture, including colors and motion. For example: a soft aurora in greens and purples over a starry sky. The more concrete the description, the better the result.

Tip: if the AI can open links, also give it https://engine.oprimo.dev/docs/llms-full.txt. It’s the whole spec in a single file.

2. Save the files in the right place

The AI returns exactly two code blocks. For a Metal shader, the folder looks like this:

my-aurora/
  manifest.json
  content/
    shader.metal

For a web wallpaper, the second file goes in content/web/index.html. For Windows, in content/shader.hlsl.

3. Pack it

Download pack.py from the docs and run it in Terminal:

python3 pack.py my-aurora

It checks the manifest, computes the checksum and writes my-aurora.livewallpaper. On the Mac, Python 3 ships with the Command Line Tools. On Windows, install Python 3 from the Microsoft Store and run py pack.py my-aurora.

4. Import it into PrimoEngine

Importing a package with the same id again replaces the installed one. That’s how you ship an update (bump version).

5. If something fails

Paste the message from the app or from pack.py back into the chat, together with the error table in the reference, and ask for a fix. The prompts already tell the AI not to use GLSL syntax, but it’s worth checking for that when a shader won’t compile.

How to share a .livewallpaper file

In the menu of a wallpaper you imported, Share… writes a .livewallpaper file. Send it by AirDrop, chat, email or GitHub. The person who gets it imports it with the same + button.

A few rules:

Coming from Shadertoy?

A lot carries over: iTime becomes u.time, iResolution.xy becomes u.resolution and vec2 becomes float2. There’s no iMouse and no textures, though, and the y axis grows downward. The details are in the practical guide.

Start with the app

To try what you make, you need PrimoEngine installed. It’s free and needs no account: download it for Mac or Windows. The full spec, with complete examples, is in the creator docs. And to see what’s already possible, browse the gallery.

Frequently asked questions

Do I need to know how to code to make a live wallpaper with AI?

No. The prompts in the docs already tell the AI the exact format PrimoEngine accepts. You describe the idea, save the files and run one command to pack them.

Does it work with free ChatGPT?

The prompts are written for ChatGPT, Claude or any chat AI, and don't rely on paid features. If the AI can read links, also give it the docs' llms-full.txt, which has the whole spec in one file.

Will the wallpaper I make work on Windows?

Web wallpapers run on Mac and Windows with the same file. A shader is one package per system: metal on the Mac and hlsl on Windows. To port one, paste the Mac shader under the HLSL prompt and ask for the twin, with the same id.

What if the import fails?

Paste the error from the app or from pack.py back into the chat, together with the error table from the reference, and ask for a fix.

Can I make a video wallpaper with AI?

A video wallpaper needs no code: import an .mp4, .mov or .m4v up to 256 MB directly. Using your own video is a Premium feature.

More guides