Dynamic URLs allow you to generate images from Studio templates by passing parameters directly in the URL. This feature enables you to create dynamic images without making API calls, perfect for embedding in emails, social media, or any context where you need on-the-fly image generation
Dynamic URLs work by encoding template modifications as URL parameters. When accessed, the URL automatically generates an image with the specified modifications applied to your Studio template
Video demo:
https://api.orshot.com/v1/studio/dynamic-url/{filename}.{png|webp|jpeg|pdf}?templateId={TEMPLATE_ID}&{PARAMETERS}&sign={SIGNATURE}For multi-page templates, you can pass &page=2 parameter to generate from a specific page.
Make sure to pass page specific parameters relevant to the page for dynamic values, for.eg
&page2@heading=Custom Title&page2@image=https://domain.com/image.png
https://api.orshot.com/v1/studio/dynamic-url/{filename}.{png|webp|jpeg|pdf}?page=2&templateId={TEMPLATE_ID}&{PARAMETERS}&sign={SIGNATURE}filename.extension - Specify the desired filename and extension for the generated output (e.g., my-image.png, report.pdf)&templateId= - Your Studio template ID (required)&page= - Page number you want to render(for multi-page templates only)&sign= - Security signature to authorize access (required)&quality= - control quality of JPEG images only, 10 being lowest and 100 being highest quality{modification_key} - Any text-type modification from your templatehttps://api.orshot.com/v1/studio/dynamic-url/hello-world.png?templateId=123&title=Hello%20World&subtitle=Welcome&sign=abc123def456Navigate to your Studio template's playground and go to the "Dynamic URL" tab. Toggle "Enable Dynamic URL" to activate this feature.
Set a limit on how many times the URL can be used. Leave empty for unlimited renders.
Control how long the URL remains valid:
Each dynamic URL includes a unique signature (sign parameter) that authorizes access. You can:
If your template has text modifications named title and subtitle:
https://api.orshot.com/v1/studio/dynamic-url/dynamic-title.jpg?templateId=123&title=Dynamic%20Title&subtitle=Custom%20Subtitle&sign=your_signature<img
src="https://api.orshot.com/v1/studio/dynamic-url/welcome-image.png?templateId=123&title=Welcome&sign=your_signature"
alt="Dynamic Image"
/><img
src="https://api.orshot.com/v1/studio/dynamic-url/user-card.jpg?templateId=123&name={{user.name}}&date={{current_date}}&sign=your_signature"
/>Always encode parameter values to handle special characters:
const encodedTitle = encodeURIComponent("Hello & Welcome!");
const url = `https://api.orshot.com/v1/studio/dynamic-url/welcome-banner.png?templateId=123&title=${encodedTitle}&sign=your_signature`;# character