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

API Reference

Complete reference for all Georender API endpoints.

Base URL: https://api.georender.io/v1

Endpoints Overview

MethodEndpointDescription
POST/renderCreate a new render job
GET/status/{job_id}Check job status
GET/stylesList available map styles
POST/templatesCreate a template
GET/templatesList your templates
POST/render/batchSubmit batch render jobs

POST /render

Create a new render job. Returns a job ID for status polling.

POST /v1/render

Request Body

ParameterTypeRequiredDescription
waypointsarrayrequiredArray of coordinates (min 2 for route mode)
modestringoptionalroute_animation, region_focus, multi_route, country_data
stylestringoptionalMap style (default: maritime-dark)
durationintegeroptionalVideo duration in seconds (default: 12)
resolutionstringoptional720p, 1080p, 4k
fpsintegeroptional24, 30, 60
transportstringoptionalship, truck, plane
routeobjectoptionalRoute calculation options
route_styleobjectoptionalRoute line styling
cameraobjectoptionalCamera presets and settings
hudobject/booloptionalHUD configuration
terrainobjectoptional3D terrain settings
text_overlaysarrayoptionalText overlay configuration
template_idstringoptionalUse a saved template
webhook_urlstringoptionalURL for completion callback

Response (202 Accepted)

{
  "job_id": "job_8f3k2m9x",
  "status": "queued",
  "estimated_duration_seconds": 36,
  "status_url": "https://api.georender.io/v1/status/job_8f3k2m9x"
}

GET /status/{job_id}

Check the status of a render job.

GET /v1/status/{job_id}

Response (Job Complete)

{
  "job_id": "job_8f3k2m9x",
  "status": "complete",
  "video_url": "https://cdn.georender.io/renders/job_8f3k2m9x.mp4",
  "thumbnail_url": "https://cdn.georender.io/renders/job_8f3k2m9x_thumb.jpg",
  "duration_seconds": 12,
  "resolution": "1920x1080",
  "file_size_bytes": 18432000,
  "expires_at": "2026-04-01T12:00:00Z"
}

Job Status Values

StatusDescription
queuedJob is waiting to be processed
processingRender is in progress
completeVideo is ready for download
failedRender failed (check error field)

GET /styles

List all available map styles.

GET /v1/styles

Response

{
  "styles": [
    {
      "id": "maritime-dark",
      "name": "Maritime Dark",
      "description": "Deep navy background, white route line...",
      "preview_url": "https://cdn.georender.io/previews/maritime-dark.jpg",
      "terrain_default": false
    },
    // ... more styles
  ]
}

POST /templates

Create a reusable render template.

POST /v1/templates

Request Body

{
  "name": "suez-cinematic",
  "description": "Cinematic style for Suez Canal videos",
  "style": "maritime-dark",
  "duration": 15,
  "route_style": {
    "color": "#FF0000",
    "width": 4,
    "vehicle_icon": "ship"
  },
  "camera": {
    "preset": "canal_bottleneck"
  }
}

Using a Template

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

POST /render/batch

Submit multiple render jobs at once. Studio tier only.

POST /v1/render/batch

Request Body

{
  "jobs": [
    {
      "waypoints": [
        { "lat": 29.9792, "lng": 32.5731 },
        { "lat": 12.3567, "lng": 43.6028 }
      ],
      "style": "maritime-dark"
    },
    {
      "waypoints": [
        { "lat": 1.2644, "lng": 103.8176 },
        { "lat": 35.4437, "lng": 139.6380 }
      ],
      "style": "satellite"
    }
  ],
  "webhook_url": "https://your-server.com/batch-complete"
}

Response

{
  "batch_id": "batch_xyz123",
  "jobs": [
    { "job_id": "job_1", "status": "queued" },
    { "job_id": "job_2", "status": "queued" }
  ],
  "total": 2
}

Batch Limits

TierMax Jobs per Batch
FreeNot available
CreatorNot available
Studio25