How do I make my first API render call?

POST your template ID and modifications to /v1/studio/render and get back a hosted file 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 the Template Playground. It shows API examples and 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 40+ integrations
  • White-label embed for your own app
  • 100 free credits a month, no credit card required