Offline
Write ad campaigns with no account, no API key and no network
Published · Updated
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.
| Model | Download | Memory needed |
|---|---|---|
| Qwen2.5 1.5B | 0.82 GB | 8 GB |
| Llama 3.2 3B | 1.7 GB | 8 GB |
| Qwen3 4B | 2.12 GB | 8 GB |
| Qwen2.5 7B | 4.0 GB | 12 GB |
| Llama 3.1 8B | 4.22 GB | 12 GB |
| Qwen3 30B (MoE) | 16.02 GB | 36 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.
Which of these actually finishes the job
We ran four of them against a real product description on the same machine, two attempts each. Counts, not percentages:
- Qwen2.5 1.5B — 2 of 2. The smallest model here does finish a campaign.
- Llama 3.2 3B — 0 of 2. Eleven required fields short both times.
- Qwen3 4B — 2 of 2.
- Qwen2.5 7B — 2 of 2.
An earlier version of this page said the 1.5B never finished a campaign, and that was our bug rather than the model. Our JSON extraction cut the answer short and the missing tail looked like missing fields. Three of these four only started working once that was fixed. We are leaving the correction visible because a page that quietly improves its own numbers is not worth reading.
The 3B is the odd one out and it stayed broken after the fix, so on this evidence that is the model. The 8B and 30B have not been run against the campaign schema at all, and we would rather say so than let you assume they sit on a line between the ones we tested.
If you have an API key or Outlier running, use those — a bigger model writes better copy. The built-in models are the floor, and the floor is real.
What it will not do
- Run on an Intel Mac. Apple Silicon only. mlx-metal publishes arm64 wheels for macOS 14, 15 and 26 and nothing for Intel, so on an Intel Mac this list is empty and the cloud providers are the only option.
- Ship the weights inside the installer. The app itself is a 127 MB download. Bundling even the largest model in the table would add 16.02GB to that for everyone, including the people who will never use it, so the weights come down only when you pick one.
- Check for updates on its own. Nothing here contacts anything unless you press something.