ℹ️ Available on Pro plan and above
The Dynamic Image URL feature is included in Pro and Suite plans (not available on Start).
What Are Dynamic Images on Abyssale?
Dynamic Images let you automatically generate personalized visuals by modifying parameters directly in an image URL. Whether for marketing campaigns, emails, or user onboarding, they adapt in real-time to your data.
When you first joined Abyssale, you likely saw this feature in action through your Welcome email. With Dynamic Images, you can update visuals by changing values in the URL, instantly generating unique, data-driven assets.
Example use cases:
Personalized greeting or gift cards
Dynamic visuals in email campaigns
Real-time social banners
Customized images in outbound messages
Personalised image in Landing pages
How to Create and Manage Dynamic Images
Note : Dynamic images only work with static designs (JPG or PNG output). Animated, print and multi-page designs can't be turned into a dynamic image.
With Abyssale, every dynamically generated image remains available and displayed, even if you pause an URL or it reaches its expiration date. There are no limitations on the number of dynamic images that can be created from a design. Each design hosts its own set of dynamic images. Here's how you can get started:
Go to your project dashboard.
Select the design you want to make dynamic.
In the left menu, click Dynamic Image URL.
Press Create new dynamic image URL.
Use the URL builder to define your variables and rules.
Each design can have only one dynamic image URL, and each generated image remains accessible even after URL is paused or expires.
Understanding API Credits with Dynamic Image
Every unique image generation = 1 Generation credit. Whether repeated views of the same URL consume additional credits depends on the mode of your Dynamic Image URL, because each mode uses a different caching strategy.
In Test Mode
Generated visuals are cached permanently in our CDN backend.
Once a visual has been generated, any further opening of the same URL serves the cached version and consumes 0 additional credits.
The only exception: if the design was updated in the meantime, the next request regenerates the visual and consumes 1 new credit (see "What Happens If You Update Your Design?" below).
In Production Mode
Production mode is built for large-scale usage and uses a 5-minute cache in our CDN.
If the same URL is requested again within 5 minutes, the cached visual is served and consumes 0 additional credits.
If the URL is opened again after 5 minutes, the visual has been flushed from our system. Re-displaying it counts as a new generation and consumes 1 Generation credit.
In short: in Test mode, one URL = one credit (until the design changes). In Production mode, each request made more than 5 minutes after the last generation triggers a new generation and a new credit.
Pro tip: For high-traffic campaigns, keep in mind that credit consumption in Production mode depends on how often each unique URL is requested over time, not just on the number of unique URLs.
Dynamic Modifications to Image Information
You can update text, color, image, or other properties directly from the URL.
Example:
...img.abyssale.com/34a39c5e-31fa-4bdb-b6d4-0c97445fb9b3?name.payload=Guillaume
Here, name is the layer name, and payload is the layer property.
You can chain multiple parameters using &:
...img.abyssale.com/34a39c5e-31fa-4bdb-b6d4-0c97445fb9b3?name.payload=Guillaume&name.color=%23000000
This changes both the text and its color.
For a complete list of editable properties, visit our developers page.
Test Mode vs. Production Mode
Once your Dynamic Image URL is ready, you can choose how it behaves based on your use case:
Change the mode of your dynamic image url
Go to your project dashboard.
Select the design where the Dynamic image url is created.
In the left menu, click Dynamic Image URL.
Toggle
TestorProductionmode depending on your need
Test Mode (default)
Rate-limited to 10 requests per second.
Each generated image appears in the Abyssale UI ("Generated visuals" page).
Generated visuals are cached permanently: re-opening an already generated URL consumes no additional credits (unless the design was updated in the meantime).
Ideal for testing, QA, or previewing dynamic updates.
When the limit is reached, additional requests return an error message.
Example use case:
You send a personalized "Welcome" image to each new user via a transactional email, using their name and company logo. Some users open that email again weeks later. Because Test mode caches each generated visual permanently, reopening the email months after signup still displays the same image without consuming a new credit, as long as the design hasn't been updated since.
Production Mode
No rate limit, optimized for large-scale use.
Generated visuals are not displayed in the UI (to prevent overload).
Visuals are cached for 5 minutes in our CDN: a request made after this window triggers a new generation and consumes 1 Generation credit.
This 5-minute cache applies both to our CDN and to the viewer's browser (same TTL). So even if a viewer already has the image cached locally, reopening the URL after 5 minutes will trigger a revalidation, a new generation, and a new credit.
Recommended for campaigns, automations, and live integrations.
Example use case:
You run a large-scale ad campaign where a dynamic banner URL is embedded across thousands of ad placements, updated live with product prices pulled from your CRM. Traffic is high and unpredictable, so the 10 req/s limit of Test mode would block requests. In Production mode there's no rate limit, but since the CDN cache only holds each visual for 5 minutes, a placement that gets reloaded an hour later triggers a fresh generation and consumes 1 new credit.
Choose the mode that matches your workflow, Test for experimentation, Production for live usage.
Integrating Your Dynamic Image URL
Integration is simple: just insert your Dynamic Image URL into your preferred tools and update the query parameters dynamically. This allows your visuals to reflect live data from CRMs, automation tools, or APIs.
To learn more about embedding dynamic images on Brevo (Sendinblue), check out our blog article. You'll find this information at the end of the post.
Behavior After Updates and Resource Limits
What Happens If You Update Your Design?
Whenever you make changes to a design connected to a Dynamic Image URL, Abyssale automatically refreshes the cache.
After you save your updated design, cached variants are invalidated — this usually completes within a few minutes. The next time someone accesses the same URL, they'll see the new, updated design.
This is extremely useful for scenarios like:
Correcting a typo or design error in a live email campaign
Updating visuals in running ads without changing the URL
⚠️ However, since a new version of the design is generated, each refreshed image will consume new Generation credit, even if the URL itself hasn’t changed.
What Happens If You Run Out of Bandwidth or Credits?
If your account exceeds its allocated credits or bandwidth, the Dynamic Image URL will temporarily stop serving visuals.
In this case:
Viewers will see a blank image placeholder (as if the file doesn’t exist).
If someone tries to access the image URL directly, they’ll see an error message stating that there are no remaining credits or bandwidth.
To restore normal display, you’ll need to refill your credits or upgrade your plan.
💡 Pro tip: Always monitor your credit and bandwidth usage in your Abyssale dashboard to avoid interruptions in live campaigns.



