Ruby
Get started with Orshot Ruby SDK
Installation
Add this line to your application's Gemfile:
gem 'orshot'And then execute:
$ bundleOr install it yourself as:
$ gem install orshotInitialise a client
require 'orshot'
client = Orshot::Client.new('<ORSHOT_API_KEY>')Render from a template
response = client.render_from_template({
'template_id' => 'open-graph-image-1',
'modifications' => {'title': 'From ruby sdk new'},
'response_type' => 'base64',
'response_format' => 'png'
})Generate a Signed URL
response = client.generate_signed_url({
'template_id' => 'open-graph-image-1',
'modifications' => {'title': 'From ruby sdk new'},
'render_type' => 'images',
'response_format' => 'png',
'expires_at': 1744276943
})Example
base64 response format
require 'orshot'
client = Orshot::Client.new('<ORSHOT_API_KEY>')
response = client.render_from_template({
'template_id' => 'open-graph-image-1',
'modifications' => {'title': 'From ruby sdk new'},
'response_type' => 'base64',
'response_format' => 'png'
}){
"content"=> "data:image/png;base64,iVBORw0KGgoAA...",
"format"=> "png",
"type"=> "base64",
"responseTime"=> 3357.47
}binary response format
require 'orshot'
client = Orshot::Client.new('<ORSHOT_API_KEY>')
File.open("og.png", "w") do |file|
response = client.render_from_template({
'template_id' => 'open-graph-image-1',
'modifications' => {'title': 'From ruby sdk new'},
'response_type' => 'binary',
'response_format' => 'png'
})
file.binmode
file.write(response)
endData is written to the file og.png
url response format
require 'orshot'
client = Orshot::Client.new('<ORSHOT_API_KEY>')
response = client.render_from_template({
'template_id' => 'open-graph-image-1',
'modifications' => {'title': 'From ruby sdk new'},
'response_type' => 'url',
'response_format' => 'png'
}){
"content" => "https://storage.orshot.com/00632982-fd46-44ff-9a61-f52cdf1b8e62/images/nNSTZlMHFkr.png",
"type" => "url",
"format" => "png",
"responseTime" => 3950.87
}Signed URL
require 'orshot'
client = Orshot::Client.new('<ORSHOT_API_KEY>')
response = client.generate_signed_url({
'template_id' => 'open-graph-image-1',
'modifications' => {'title': 'From ruby sdk new'},
'render_type' => 'images',
'response_format' => 'png',
'expires_at' => 1744276943
}){
"url" => "https://api.orshot.com/v1/generate/images?expiresAt=1744276943&id=37&templateId=open-graph-image-1&title=From%20ruby%20sdk%20new&signature=1225f4b65dd19ce6ac6f03c5fq6e42cfb7e254fac26492b35d58e2e2d65c7021"
}render_from_template
Use this function to render an image/pdf. This method accepts a hash with the following keys
| key | required | description |
|---|---|---|
template_id | Yes | ID of the template (open-graph-image-1, tweet-image-1, beautify-screenshot-1, ...) |
modifications | Yes | Modifications for the selected template. |
response_type | No | base64, binary, url (Defaults to base64). |
response_format | No | png, webp, pdf, jpg, jpeg (Defaults to png). |
For available templates and their modifications refer Orshot Templates Page
generate_signed_url
Use this function to generate signed URL. This method accepts a hash with the following keys
| key | required | description |
|---|---|---|
template_id | Yes | ID of the template (open-graph-image-1, tweet-image-1, beautify-screenshot-1, ...) |
modifications | Yes | Modifications for the selected template. |
expires_at | Yes | Expires at in unix timestamp (Number). |
render_type | No | images, pdfs (Defaults to images). |
response_format | No | png, webp, pdf, jpg, jpeg (Defaults to png). |