HTML to Image/PDF API

Render HTML to
Images & PDFs

Convert any HTML to high-quality PNG, JPEG, or PDF using headless Chrome. Perfect for generating invoices, certificates, social cards, and automated screenshots.

Quick Start

cURL
Copy and paste to test instantly
curl -X POST "https://api.cullx.com/v1/render" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "html": "<h1>Invoice #12345</h1>",
    "format": "pdf",
    "width": 1920,
    "height": 1080
  }'
JavaScript / Node.js
Works with any Node.js project
const response = await fetch(
  'https://api.cullx.com/v1/render',
  {
    method: 'POST',
    headers: {
      'x-api-key': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      html: '<h1>Invoice #12345</h1>',
      format: 'pdf'
    })
  }
);

const data = await response.json();
console.log(data.data.result); // Base64 PDF
Python
Perfect for automation scripts
import requests

response = requests.post(
    'https://api.cullx.com/v1/render',
    headers={'x-api-key': 'YOUR_API_KEY'},
    json={
        'html': '<h1>Invoice #12345</h1>',
        'format': 'pdf',
        'width': 1920
    }
)

data = response.json()
pdf_base64 = data['data']['result']
Go
High-performance backend services
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
)

func main() {
    payload := map[string]interface{}{
        "html": "<h1>Invoice #12345</h1>",
        "format": "pdf",
    }

    jsonData, _ := json.Marshal(payload)

    req, _ := http.NewRequest(
        "POST",
        "https://api.cullx.com/v1/render",
        bytes.NewBuffer(jsonData)
    )

    req.Header.Set("x-api-key", "YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")

    client := &http.Client{}
    resp, _ := client.Do(req)
}

Powerful Features

Headless Chrome

Uses real Chrome engine for pixel-perfect rendering. Supports all modern CSS, JavaScript, and web fonts.

Multiple Formats

Export to PNG, JPEG, or PDF. Perfect for screenshots, invoices, certificates, and social media cards.

Custom Viewports

Set exact dimensions (100-4000px) or capture full-page screenshots with responsive layouts.

Fast & Reliable

Average processing time under 2 seconds. 99.9% uptime SLA with automatic retries.

CSS Customization

Inject custom CSS for precise styling. Supports external stylesheets and inline styles.

Base64 Output

Returns data URIs for immediate use. No file storage or CDN required.

Real-World Use Cases

📄 Invoice & Receipt Generation

Generate professional PDF invoices from HTML templates. Perfect for SaaS billing, e-commerce receipts, and automated accounting.

Target audience: SaaS platforms, e-commerce sites, accounting software

🎨 Social Media Cards

Create dynamic Open Graph images for blog posts, product pages, and social shares. Boost engagement with custom visuals.

Target audience: Content platforms, marketing teams, bloggers

📸 Automated Screenshots

Capture full-page screenshots for QA testing, visual regression, and documentation. Integrate with Playwright, Cypress, or CI/CD.

Target audience: QA teams, developers, testing tools

🏆 Certificates & Diplomas

Generate personalized certificates for online courses, events, and achievements. Professional PDFs ready for download.

Target audience: EdTech platforms, event organizers, HR systems

Why Cullx Render API?

2x Faster than Screenshot.one

Optimized Chrome engine with intelligent caching. Average response time: 1.8s vs 3.5s.

50% Lower Cost than ApiFlash

No per-screenshot fees. Predictable pricing: $29/mo for 5,000 renders vs $49/mo elsewhere.

No External Dependencies

Self-hosted rendering engine. No third-party APIs, no surprise downtime, full control.

Developer-Friendly API

Simple REST API, comprehensive docs, SDKs for popular languages. Get started in 5 minutes.

Start Rendering in 5 Minutes

Free tier includes 100 renders/month. No credit card required.