How do I make my first API render call?

POST your template ID and modifications to /v1/generate/images and get back a hosted image URL.

Updated

You have a template and an API key — now let's generate your first image.

Using REST API#

1. Get Your Template ID#

Go to your templates page and copy the template ID. The quickest way to get started is through the Template Playground — it shows API examples, integration options, and lets you test renders in your browser.

2. Make a Render Request#

Send a POST request with your template ID and the values you want to change:

Shell
curl -X POST "https://api.orshot.com/v1/studio/render" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "templateId": "YOUR_TEMPLATE_ID",
    "modifications": {
      "title": "Hello World",
      "subtitle": "Welcome to Orshot",
      "authorPhoto": "https://example.com/photo.jpg"
    },
    "response": {
      "type": "url",
      "format": "png"
    }
  }'
JavaScript
const response = await fetch("https://api.orshot.com/v1/studio/render", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    templateId: "YOUR_TEMPLATE_ID",
    modifications: {
      title: "Hello World",
      subtitle: "Welcome to Orshot",
      authorPhoto: "https://example.com/photo.jpg"
    },
    response: {
      type: "url",
      format: "png"
    }
  })
});

const data = await response.json();
console.log(data.data.content); // Image URL
Python
import requests

response = requests.post(
    "https://api.orshot.com/v1/studio/render",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json"
    },
    json={
        "templateId": "YOUR_TEMPLATE_ID",
        "modifications": {
            "title": "Hello World",
            "subtitle": "Welcome to Orshot",
            "authorPhoto": "https://example.com/photo.jpg"
        },
        "response": {
            "type": "url",
            "format": "png"
        }
    }
)

data = response.json()
print(data["data"]["content"])  # Image URL

Response Types#

Choose how you want to receive the image:

TypeDescriptionUse Case
urlReturns a hosted URL to the imageWeb applications, sharing
base64Returns base64-encoded image dataEmail, inline embedding
binaryReturns raw image binary dataDirect file download

Response Formats#

Choose your output format:

  • png - Best for graphics with transparency
  • jpg - Smaller file size, no transparency
  • webp - Modern format, smaller size
  • pdf - For printable documents

Learn more about response options →

Example Response#

JSON
{
  "data": {
    "content": "https://storage.orshot.com/renders/user123/image-456.png",
    "type": "url",
    "format": "png",
    "responseTime": 1234.56
  }
}

Using Integrations#

Prefer no-code? Use one of these integrations:

Next Steps#

Was this page helpful?

Ready to automate?

Start rendering images, PDFs and videos from your templates in under 2 minutes. Free plan, no credit card.

Get your API key
  • Image, PDF and video generation via API
  • Visual editor with AI and smart layouts
  • Zapier, Make, MCP and 50+ integrations
  • White-label embed for your own app
  • 100 free credits a month, no credit card required