Quick start
- Create a template in the dashboard and add layers (images, text).
- For layers that should change per render, enable Dynamic and set a Placeholder (e.g.
img_1,text_1). - Use the Render URL with parameters:
https://rendro.io/r/your-slug?img_1=https://...&text_1=Hello - The URL returns a PNG image. Use it in
imgsrc, or fetch it in your app.
URL API (GET)
Append query parameters to your template’s render URL. Simple and works everywhere: img tags, links, embeds.
Parameter names must match the Placeholder values in your layers (e.g. img_1 for image, text_1 for text).
POST API
Send a JSON body for programmatic access. Better for APIs: no URL length limits, easier handling of special characters.
Content-Type: application/json
{
"img_1": "https://example.com/photo.jpg",
"text_1": "Hello World"
}
Example: cURL
curl -X POST "https://rendro.io/r/your-slug" \
-H "Content-Type: application/json" \
-d '{"img_1":"https://example.com/photo.jpg","text_1":"Hello"}' \
--output image.pngExample: JavaScript (fetch)
const res = await fetch("https://rendro.io/r/your-slug", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
img_1: "https://example.com/photo.jpg",
text_1: "Hello",
}),
});
const blob = await res.blob(); // PNG imagePrivate templates & API keys
Private templates require an API key. You can pass it in several ways:
- Query:
?key=YOUR_KEY - Header:
Authorization: Bearer YOUR_KEYorX-Render-Key: YOUR_KEY - JSON body (POST):
{ "key": "YOUR_KEY", "img_1": "..." }
Create and manage API keys in the template settings (Dashboard → Edit template → Template settings → API keys).
Placeholder naming
Use clear, unique placeholders: img_1, img_logo, text_title, etc. They become the parameter names in your URL or JSON body.
Need help?
Check the template editor: each template shows its Render URL and which placeholders to use. Enable Dynamic on a layer to make it configurable via the API.
Go to Dashboard