Code Examples
Language-specific implementations for the Canvelete Render API.
Prerequisites
- API key (obtain from dashboard)
- Design ID from your Canvelete account
Authentication
All requests require Bearer token authentication:
Authorization: Bearer cvt_YOUR_API_KEYBase URL
https://api.canvelete.com/api/v1Render Endpoint
POST /render/design/{designId}
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
designId | string | Yes | Target design identifier |
format | string | Yes | Output format: png, jpg, webp, pdf |
quality | integer | No | Image quality (1-100). Default: 90 |
dynamicElements | object | No | Override design element values |
cache | boolean | No | Use cached render if available. Default: true |
Dynamic Elements Structure
{
"element_id": {
"text": "string", // For text elements
"src": "url" // For image elements
}
}Code Examples
import requests
import json
url = "https://api.canvelete.com/api/v1/render/design/cmi554f5i00zbo90k0as0h038"
headers = {
"Authorization": "Bearer cvt_YOUR_API_KEY",
"Content-Type": "application/json"
}
payload = {
"designId": "cmi554f5i00zbo90k0as0h038",
"format": "png",
"quality": 90,
"dynamicElements": {
"product_image": {
"src": "https://images.unsplash.com/photo-1602143407151-7111542de6e8"
},
"main_headline_primary": {
"text": "Your Custom Headline Text"
}
},
"cache": True
}
response = requests.post(url, headers=headers, json=payload)
data = response.json()
if data["success"]:
print(f"Image URL: {data['data']['imageUrl']}")
else:
print(f"Error: {data['error']}")Response Format
Success Response
{
"success": true,
"data": {
"imageUrl": "https://cdn.canvelete.com/renders/abc123.png",
"format": "png",
"width": 1920,
"height": 1080,
"fileSize": 245678,
"renderTime": 1234
}
}Response Fields
| Field | Type | Description |
|---|---|---|
success | boolean | Request status |
data.imageUrl | string | CDN URL of rendered image |
data.format | string | Output format |
data.width | integer | Image width in pixels |
data.height | integer | Image height in pixels |
data.fileSize | integer | File size in bytes |
data.renderTime | integer | Render duration in milliseconds |
Error Response
{
"success": false,
"error": {
"code": "INVALID_DESIGN_ID",
"message": "Design not found or inaccessible"
}
}Error Codes
| Code | HTTP Status | Description |
|---|---|---|
INVALID_API_KEY | 401 | Missing or invalid authentication |
INVALID_DESIGN_ID | 404 | Design does not exist or is inaccessible |
INVALID_FORMAT | 400 | Unsupported output format |
RATE_LIMIT_EXCEEDED | 429 | Too many requests |
RENDER_FAILED | 500 | Internal rendering error |