Google Fonts
google_fontsRobotoGenerate a simple, branded invoice or receipt image.

Interactive example
Change the HTML, CSS, or API options. The browser preview updates as you edit; select Image to render the final output through the API.
Example code
Choose a language and copy a complete request using this example's HTML, CSS, and API options.
# pip install requests
import os
import requests
request = {
"html": """
<div class='wrapper'>
<div class='invoice'>
<header>
<h1>Acme Corp</h1>
<p>Invoice #12345</p>
</header>
<section class='details'>
<p><strong>Billed To:</strong> John Doe<br>
123 Main St<br>
Springfield, USA</p>
<p><strong>Date:</strong> Sept 18, 2025</p>
</section>
<table class='items'>
<thead>
<tr>
<th>Description</th>
<th>Qty</th>
<th>Unit Price</th>
<th>Total</th>
</tr>
</thead>
<tbody>
<tr>
<td>Website Design</td>
<td>1</td>
<td>$500.00</td>
<td>$500.00</td>
</tr>
<tr>
<td>Hosting (12 months)</td>
<td>1</td>
<td>$120.00</td>
<td>$120.00</td>
</tr>
<tr>
<td>Domain Name (1 year)</td>
<td>1</td>
<td>$12.00</td>
<td>$12.00</td>
</tr>
</tbody>
</table>
<section class='summary'>
<p><strong>Subtotal:</strong> $632.00</p>
<p><strong>Tax (10%):</strong> $63.20</p>
<p class='total'><strong>Total Due:</strong> $695.20</p>
</section>
<footer>
<p>Thank you for your business!</p>
</footer>
</div>
</div>
""",
"css": """
.wrapper{
font-family: 'Roboto', sans-serif;
background: #f7f7f7;
padding: 20px;
}
.invoice {
min-width: 500px;
max-width: 600px;
margin: auto;
background: #fff;
padding: 24px;
border: 1px solid #ddd;
box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}
header {
border-bottom: 2px solid #333;
margin-bottom: 20px;
}
header h1 {
margin: 0;
font-size: 24px;
}
.details {
margin-bottom: 20px;
}
.items {
width: 100%;
border-collapse: collapse;
margin-bottom: 20px;
}
.items th, .items td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
}
.items th {
background: #f0f0f0;
}
.summary {
text-align: right;
}
.summary p {
margin: 0.6em 0;
}
.summary .total {
border-top: 1px solid #ddd;
padding-top:8px;
font-size: 18px;
font-weight: bold;
width: fit-content;
margin-left: auto
}
footer {
border-top: 1px solid #ddd;
text-align: center;
padding-top: 10px;
color: #555;
font-size: 14px;
}
""",
"google_fonts": "Roboto",
"render_when_ready": False,
"selector": ".wrapper",
"timezone": "UTC",
}
response = requests.post(
"https://hcti.io/v1/image",
auth=(os.environ["HCTI_API_ID"], os.environ["HCTI_API_KEY"]),
json=request,
timeout=30,
)
response.raise_for_status()
result = response.json()
print(result["url"])
Request configuration
These values are sent with the HTML and CSS to control how HCTI loads the page and captures the final screenshot. You can change each one in the editor above.
google_fontsRobotoselector.wrappertimezoneUTCFrom code to screenshot
HTML/CSS to Image renders HTML and CSS in hosted Chrome, then captures the result as an image or PDF. Each example combines real source code with the API options used for the render, so it is both a working demo and a starting point for your own request.
Edit the source and options above to test changes in the browser, then render through the API to see the production result.
Yes. Open an example to inspect and edit its complete HTML, CSS, and render options. Use it as a starting point, then send the resulting request from your application.
Examples are complete API requests built from HTML and CSS. Templates are saved, reusable designs created in the visual editor and rendered repeatedly with different variable values.
Yes. HCTI can render HTML and CSS or capture a public webpage as an image, and it can generate PDFs when you need document output instead of a screenshot.
Send the example’s HTML, CSS, and request options from your application.
Use HCTI with MCP-enabled AI tools, Zapier, Make, and other automation platforms.
Start with a visual preset, customize it in the template editor, and render it repeatedly with dynamic values.
Keep exploring
Social card with a fun SVG background and highlighted text.
Explore example