How does IMG.LY licensing work?
IMG.LY uses two kinds of license key. A trial key gives full access for 30 days with no hostname or bundle ID restrictions, and a paid key stays valid while your subscription is active and checks the identifiers you configure.
Your license key removes the watermark and gives you full access to the editor. How that key behaves depends on whether you hold a trial key or a paid key, and the most common license problems appear when a customer moves from one to the other without updating both the key and the identifiers tied to it.
Trial license keys: A trial key is valid for 30 days from the day it is created and gives full access to every feature, with nothing held back. While it is active it is not restricted to specific hostnames or bundle IDs, which means the same key runs from any domain or app identifier. You can create one by signing up at img.ly/login. If you need more time to evaluate, the sales team can extend the trial for you.
Paid license keys: A paid key is tied to an active subscription and stays valid for as long as that subscription runs, with no expiry date of its own (see Does my IMG.LY license expire?). Unlike a trial, it is checked against the identifiers you configure. For web projects it compares the runtime hostname against the values on your license, and for mobile projects it compares the app's bundle identifier. If neither matches, the SDK returns an error.
You can add several identifiers to one key to cover development, staging, and production. Web hostnames also accept wildcards, where *.example.com covers every subdomain but not the bare domain, which means example.com needs its own entry alongside it. You manage all of these yourself in the Dashboard. For the exact steps and how to fix identifier errors, see How to configure your Bundle IDs?
What happens when there is no valid key?
Without a valid key the SDK still runs and every feature works, but exports carry a watermark. This is the same behavior you see once a trial expires, because an expired trial falls back to the unlicensed state. Adding a valid key removes the watermark straight away.
Moving from a trial to a paid subscription
This is where most license errors come from, because a paid key does not behave like the trial it replaces. When you start a subscription:
- A new key is generated, and the old trial key stops working.
- Copy the new key from the Dashboard into your project, replacing the trial key.
- Add your hostnames or bundle identifiers in the Dashboard. This step is new, because the trial never enforced them.
If you skip step 2 or step 3, you will see one of these errors:
- "The License Key (API Key) you are using to access the IMG.LY SDK is invalid for this app identifier" means the runtime hostname or bundle ID does not match what is on the license. Add the correct identifier in the Dashboard, then download a fresh key.
- "License/commercial use expired" means the project is still using the old trial key, or the subscription has lapsed. Copy the current key from the Dashboard and add it to the project again.
Online and offline validation: By default the SDK validates your key with the IMG.LY servers at runtime. Because the check runs against the server, changes to your identifiers or subscription are picked up automatically, without rebuilding your app. For environments that cannot reach external servers, an offline option is available on enterprise plans, where the key is validated locally with no server calls. The sales team can set this up.
What does license validation send?
Validation is lightweight and never includes your content. When the engine starts it sends the app identifier, the platform, and the SDK version, together with a device identifier on mobile, and it reports export counts for billing based on usage. Your images, designs, videos, and other content stay on the device and are never transmitted. Enterprise customers using offline validation can turn off server communication completely. Full details are in the Security documentation.
Common questions
-
My trial key works on localhost but I get an error after subscribing. A paid key checks hostnames, which the trial did not. Add your domain in the Dashboard and download the updated key.
-
Can I use my trial key on any domain? Yes. A trial key runs from any hostname while it is active, with no restriction.
-
I subscribed but still see a watermark. The project is most likely still using the old trial key. Copy the new key from the Dashboard and add it to the project.
-
Can one key cover development, staging, and production? Yes. Add every hostname or bundle identifier to the license in the Dashboard.
-
Does
*.example.comcoverexample.com? No. The bare domain needs its own entry. Add both*.example.comandexample.com. -
Can the SDK work offline? Standard keys use online validation. Offline validation is available on enterprise plans through the sales team.
- I updated my subscription and now get a license error. When a subscription changes (e.g. adding a platform), a new key is generated. Copy the updated key from the Dashboard and re-integrate it.