Use Cases Pricing Docs About
Get Started
Ready to start creating map animations? Get Started Free →

Templates

Templates let you save render configurations and reuse them across multiple jobs. Perfect for consistent branding or frequently used settings.

Creating a Template

POST /v1/templates

{
  "name": "suez-cinematic",
  "description": "Cinematic style for Suez Canal videos",
  "style": "maritime-dark",
  "duration": 15,
  "resolution": "4k",
  "route_style": {
    "color": "#00D4FF",
    "width": 4,
    "vehicle_icon": "ship"
  },
  "camera": {
    "preset": "canal_bottleneck",
    "intensity": "bold"
  },
  "hud": {
    "stats": { "show_distance": true },
    "progress_bar": true
  }
}

Response

{
  "id": "tpl_abc123",
  "name": "suez-cinematic",
  "description": "Cinematic style for Suez Canal videos",
  "created_at": "2026-03-26T10:00:00Z"
}

Using a Template

Reference the template ID when creating a render:

POST /v1/render

{
  "template_id": "tpl_abc123",
  "waypoints": [
    { "lat": 29.9792, "lng": 32.5731, "label": "Port Said" },
    { "lat": 29.9552, "lng": 32.5490, "label": "Suez" }
  ]
}

The template settings are merged with your request. You can override any template setting:

{
  "template_id": "tpl_abc123",
  "waypoints": [...],
  "duration": 20,  // Override template's 15s duration
  "style": "satellite"  // Override template's maritime-dark style
}

Listing Templates

GET /v1/templates

{
  "templates": [
    {
      "id": "tpl_abc123",
      "name": "suez-cinematic",
      "description": "Cinematic style for Suez Canal videos",
      "created_at": "2026-03-26T10:00:00Z"
    },
    {
      "id": "tpl_def456",
      "name": "global-shipping",
      "description": "Standard shipping route animation",
      "created_at": "2026-03-25T15:30:00Z"
    }
  ]
}

Getting a Template

GET /v1/templates/tpl_abc123

{
  "id": "tpl_abc123",
  "name": "suez-cinematic",
  "description": "Cinematic style for Suez Canal videos",
  "style": "maritime-dark",
  "duration": 15,
  "resolution": "4k",
  "route_style": {...},
  "camera": {...},
  "hud": {...},
  "created_at": "2026-03-26T10:00:00Z"
}

Updating a Template

PUT /v1/templates/tpl_abc123

{
  "name": "suez-cinematic-v2",
  "duration": 20
}

Deleting a Template

DELETE /v1/templates/tpl_abc123

{
  "message": "Template deleted"
}

Template Limits by Tier

TierMax Templates
Free3
Creator15
StudioUnlimited

Template Best Practices

SDK Examples

Python

# Create
template = client.templates.create(
    name="suez-cinematic",
    style="maritime-dark",
    duration=15
)

# List
templates = client.templates.list()

# Use
job = client.render(
    template_id="tpl_abc123",
    waypoints=[...]
)

# Delete
client.templates.delete("tpl_abc123")

Node.js

// Create
const template = await client.templates.create({
  name: 'suez-cinematic',
  style: 'maritime-dark',
  duration: 15,
});

// List
const templates = await client.templates.list();

// Use
const job = await client.render({
  templateId: 'tpl_abc123',
  waypoints: [...],
});

// Delete
await client.templates.delete('tpl_abc123');