Guide
How Publishly works
In short
Everything here is free to use and needs no account. Making screenshots, reading an APK, translating strings and exporting all happen in your browser. Only the AI features leave your machine, and you can do most of the work without them. Saving to Google Drive and running an app on a device are optional extras.
1. What it costs
Nothing. There is no account, no trial and no paid tier. Publishly is open source under the AGPL-3.0; what you make with it — designs, screenshots, videos, translations, reports — is yours.
Two things can cost you money, and both are yours to set up, not ours: Google charges for Firebase Test Lab beyond its free allowance, and Lyria 3 music needs a Gemini key with billing turned on. Everything else, including the AI features on Google's free tier, costs nothing.
2. What needs AI, and what doesn't
These use Google's Gemini API, so they need a key:
- Picking your best screens and writing captions, and the “Suggest 3” captions in the editor.
- Translating captions, app strings and listing text.
- Reading the words off screenshots, and matching another app's style or layout.
- Store listing text, voice-over scripts, the voice-over itself, and music.
These never do:
- The whole app check — every finding is read from the APK or bundle itself, in your browser. The page counts the requests it made while checking, and shows the number: it is zero. Comparing your libraries with Google's Maven repository is the one step that leaves, and it only happens when you press the button.
- The design review, the store checks, the store preview, and the privacy-policy checker.
- Templates, the editor, 3D devices, export, video rendering, and the drafts written without AI (privacy policy, listing text).
- Offline mode in the wizard: screens are grouped and captioned on your own machine.
3. Your Gemini key and the free tier
A key is free from Google AI Studio and takes a minute: sign in, create a key, paste it into Gemini key at the top of any page. It is kept in this browser only, sent with your own requests, and never saved on our server. If the site's owner has added a key of their own, Publishly falls back to it when you have none.
Google's free tier is generous but finite: the full-size Flash models allow roughly 20 requests a day per model, the smaller Flash-Lite models many more, and everything resets at midnight Pacific time. Publishly is built around that — one request per wizard run, one per translation batch of up to 80 strings and 6 languages, one per listing, one per voice-over — and the Usage tab of the Gemini key dialog counts what you have spent, learning the real limits from Google's own refusals. When a day runs out, the work done so far is saved: come back tomorrow and carry on.
Lyria 3 music is the one AI feature Google does not offer on the free tier at all; it needs a key with billing enabled. Lyria RealTime, in the same panel, is free.
4. Where each thing runs
| Where | What |
|---|---|
| Your browser | The editor and video studio, rendering and export, APK and app bundle parsing, the strings studio, store checks, and the design review's measurements. Your APK is never uploaded. |
| Our server | Passing AI requests to Google and handing back the answer; fetching a public store listing or a privacy-policy page for you; looking up library versions on Google Maven. |
| Your computer | Recording an app and the on-computer design review drive adb. At localhost they work directly; on this site, through the helper (below). |
| Your Google account | Saving projects, videos, brand kits and your translation memory in your own Drive; Firebase Test Lab runs in your own Google Cloud project. |
Signing in is optional and only asks for drive.file, which covers the files Publishly itself creates. See the privacy policy for the details.
5. Using your own emulator or phone
Two features need the Android SDK: Record on Android in the studio, and the design review on your own device — including its extra passes in dark theme, at 200% text, right-to-left, in another language and at tablet size.
Run this in a terminal on the computer with the SDK, and keep it running while you use them:
npx publishly connect
It opens a link that pairs your browser once. The helper answers only this site, only on 127.0.0.1, and only with that pairing token; your APK and recordings go straight from the page to your computer. Without it, these two features work when you run Publishly yourself at http://localhost:3000. Firebase Test Lab is the alternative that needs no local setup, and runs in your own Google Cloud project.
The same package renders your store images from the command line, for a release script: npx publishly render MyApp.publishly --layout fastlane, with the design downloaded from the editor's Project file button.
An unreleased build you'd rather keep off the web? npx publishly check app.apk runs the same Play checks in your terminal and prints the report as Markdown — no browser, no site, and no request unless you add --versions. It exits 1 when something would block a release, so a release script can stop there.
6. Limits worth knowing
| Where | Limit |
|---|---|
| Screenshots you upload | 16 images, 20 MB each (PNG, JPEG or WebP). A folder or zip of screenshot-test output is read the same way. |
| Store sizes | Google Play phone, 7″ and 10″ tablet, Chromebook, Wear OS, Android TV and Android XR; App Store iPhone 6.9″ and iPad 13″. Play allows 2–8 screenshots per size. Wear OS, TV and XR expect shots captured on that hardware, and Wear OS takes the watch screen on its own — no frame, no words. |
| Languages | Up to 20 for screenshots, 3 per request for listing text; app strings go up to 6 languages and 80 strings per request, with 6 screenshots of context. |
| Caption experiments | 2 variants beside the original, which is what Play's store listing experiments take. |
| Video | Up to 4K, with music up to 90 seconds from Lyria RealTime, or a 30-second clip or ~2-minute song from Lyria 3. |
| Recording on a device | Up to about 3 minutes per run; an APK up to 400 MB. A design review keeps 14 screens, plus 6 for each extra setting. |
| Firebase Test Lab | Google's free Spark plan allows 10 virtual and 5 physical device runs a day. |
7. Where your work is kept
Your current project, video, brand kits, translations, translation memory and app reports live in this browser's storage, so a reload never loses them. Signing in adds a copy in your Drive, with version history. The editor's Project file button downloads everything as one .publishly file you can keep beside your code and open again later.
Clearing this site's data in your browser removes the local copy; Drive files stay until you delete them.