Offline

Write ad campaigns with no account, no API key and no network

AdPlaybook can download a language model and run it on your Mac. Nothing about your product is sent anywhere, there is no per-use cost, and it keeps working on a train.

How it works

Pick a model on the first screen and it downloads once, into your own Application Support folder. After that the app generates campaigns using your Mac's GPU. The cloud providers and Outlier stay exactly where they were — this is one more option, not a replacement, and the app will not quietly switch between them.

Which model your Mac can run

Unified memory decides it. The app reads how much this machine has and says which models fit, including the ones that do not and why.

ModelDownloadMemory needed
Qwen2.5 1.5B0.82 GB8 GB
Llama 3.2 3B1.7 GB8 GB
Qwen3 4B2.12 GB8 GB
Qwen2.5 7B4.0 GB12 GB
Llama 3.1 8B4.22 GB12 GB
Qwen3 30B (MoE)16.02 GB36 GB

min_ram_gb is a HEURISTIC and not a measurement: twice the weights plus 4GB, floored at 8. The weights stay resident, the KV cache grows with the prompt, and this app sends long platform specs. Deliberately generous — a model that swaps is not slow, it is unusable, and it presents as a hang rather than an error.

Download sizes read from the Hugging Face API on 2026-08-14, not estimated.

What it costs you in quality

This is the part most pages leave out. None of these models has been run across our test corpus and judged, so we will not tell you they match a frontier model — we have not measured it and neither has anyone else for this particular job.

The one measurement we do have is unflattering: running the smallest model, Qwen2.5 1.5B, on a real product page produced a complete campaign document and one ad variant where three were asked for. A three-cell test is the entire point of the exercise, so on that machine the built-in model gets you a usable draft and not a usable test. The larger models in the table have more room; how much more, we have not measured.

If you have an API key or Outlier running, use those. This is the floor, and the floor exists so that having neither still gets you something.

What it will not do