---
layout: page
title: Python - HTML to Image Example
nav_title: Python
parent: Example code
permalink: /example-code/python/
description: >-
Convert HTML to an image (png, jpg or webp) with Python + the HTML/CSS to Image
API. Official PyPI package for Python 3.10+.
---
{% include intro.md language="Python" %}
## Official PyPI client
For typed requests, responses, and signed URL helpers, use the official [`html-css-to-image`](https://pypi.org/project/html-css-to-image/) package.
```bash
pip install html-css-to-image
```
```python
from html_css_to_image import CreateHtmlCssImageRequest, HtmlCssToImageClient
with HtmlCssToImageClient("your-api-id", "your-api-key") as client:
result = client.create_image(
CreateHtmlCssImageRequest(
html="
Python ✅
",
css=".box { border: 4px solid #03B875; padding: 20px; }",
)
)
if result.success:
print(result.url)
else:
print(result.status_code, result.error)
```
The client also supports URL screenshots, templates, batches, image deletion, render options, and signed URLs. See the [Python client repository](https://github.com/htmlcsstoimage/python-client) for complete usage and API documentation.
## Direct HTTP example
```python
# pip3 install requests
import requests
HCTI_API_ENDPOINT = "https://hcti.io/v1/image"
# Retrieve these from https://htmlcsstoimage.com/dashboard
HCTI_API_USER_ID = 'your-user-id'
HCTI_API_KEY = 'your-api-key'
data = { 'html': "Hello, world!
",
'css': ".box { color: white; background-color: #0f79b9; padding: 10px; font-family: Roboto }",
'google_fonts': "Roboto" }
image = requests.post(url = HCTI_API_ENDPOINT, data = data, auth=(HCTI_API_USER_ID, HCTI_API_KEY))
print("Your image URL is: %s"%image.json()['url'])
# https://hcti.io/v1/image/7ed741b8-f012-431e-8282-7eedb9910b32
```
{% include code_footer.md version=1 %}