Go
Example of image generation using Go.
The Canvasflare API allows you to create images from specified HTML and CSS. Below is an example of how to use this API in Go to generate an image.
Rendering an Image
To render an image, send a POST request to https://api.canvasflare.com/render with the necessary parameters.
Parameters
html- The HTML content you wish to render, e.g.,<div>Your content</div>.css- The CSS styling for your rendered image, e.g.,.h1 { color: red }.device_scale- Modifies the pixel density of the screenshot.viewport_width- The width of the Chrome viewport.viewport_height- The height of the Chrome viewport.viewport_device- Emulates a given device's metrics and user agent.viewport_has_touch- Indicates whether the viewport supports touch events.viewport_landscape- Indicates whether the viewport is in landscape mode.viewport_mobile- Specifies whether the meta viewport tag is considered.full_page- If set to true screenshots entire webpage.selector- A CSS selector corresponding to an element in the HTML.ms_delay- Additional delay to ensure completion of JavaScript execution.user_agent- An user agent for the request.
Example Request in Go
You can use the net/http package in Go to create and send an HTTP request:
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
apiUrl := "https://api.canvasflare.com/render?api_key=YOUR_API_KEY"
payload := map[string]interface{}{
"html": "<div>This is something</div>",
"css": ".h1 { color: red }",
"device_scale": 2,
"viewport_width": 640,
"viewport_height": 480,
"ms_delay": 500,
}
jsonPayload, err := json.Marshal(payload)
if err != nil {
fmt.Println(err)
return
}
req, err := http.NewRequest("POST", apiUrl, bytes.NewBuffer(jsonPayload))
if err != nil {
fmt.Println(err)
return
}
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println("Response:", string(body))
}
Response
The API response will return a URL to the generated image that you can download or display.
Make Your Image URL Downloadable
You can add the parameter ?dl=true to the image URL to make the browser download the image automatically. For example:
https://api.canvasflare.com/image/8d063c49-3f15-46c1-91c7-9cf61e6758c6?dl=true