# http2pic
## Introduction
http2pic is an Open Source website renderer. It uses the [wkhtmltox](https://github.com/wkhtmltopdf/wkhtmltopdf) to render websites with various options.
Live demo on https://http2pic.haschek.at/
## Dependencies
- [wkhtmltox](http://wkhtmltopdf.org/downloads.html)
- curl extension for PHP ```apt-get install php5-curl```
- Make sure the server has the "timeout" command ```apt-get install coreutils```
## Install
- Download [this repo](https://github.com/chrisiaut/http2pic/archive/master.zip) and extract it somewhere on your webserver
### With WKHTMLToImage
- Install [wkhtmltox](http://wkhtmltopdf.org/downloads.html) on your server
- Make /usr/sbin/wkhtmltoimage executable for the user that runs the webserver. For Apache it's the ```www-data``` user. Or use sudo
### With PhantomJS
- Install PhantomJS. eg via ```npm install -g phantomjs```
- Make /usr/bin/phantomjs executable for the user that runs the webserver. For Apache it's the ```www-data``` user. Or use sudo
## Upgrade
Whenever you come to this page you can just [download](https://github.com/chrisiaut/http2pic/archive/master.zip) the repo again and overwrite the existing files. Should work out of the box
## Usage
```
https://your-host/api?url=[WEBSITE_URL]&[OPTIONS]
```
### Parameters
| Parameter | Default | Description |
|-----------|---------|-------------|
| `url` | — | Target URL to screenshot (required) |
| `viewport` | `1024x768` | Viewport size as `WIDTHxHEIGHT` (max 3840x2160) |
| `js` | `true` | Enable JavaScript (`true`/`false`) |
| `fullpage` | `false` | Capture full page height instead of viewport only |
| `maxheight` | `15000` | Max pixel height for full-page captures (1–30000) |
| `key` | — | API key (if `API_KEY` env var is set) |
### Examples
```bash
# Standard viewport screenshot
curl "https://your-host/api?url=https://example.com" -o screenshot.png
# Full-page screenshot (great for LLM analysis)
curl "https://your-host/api?url=https://example.com&fullpage=true" -o full.png
# Full-page with custom width and height cap
curl "https://your-host/api?url=https://example.com&fullpage=true&viewport=1280x768&maxheight=20000" -o full.png
# With API key
curl -H "X-API-Key: your-secret" "https://your-host/api?url=https://example.com&fullpage=true" -o full.png
```
Use as an `
` src:
```html
```
### Example php script to proxy an image to the local server
```php
```
---
This is a [HASCHEK SOLUTIONS](https://haschek.solutions) project
[](https://haschek.solutions)