openapi: 3.2.0
info:
title: Neutrino Imaging API
version: 3.7.2
contact:
name: Neutrino API
url: https://www.neutrinoapi.com/
email: tech@neutrinoapi.com
description: 'Operations tagged Imaging across 2 of this provider''s published API definitions: neutrino-api-openapi-3.1.json, neutrino-api-swagger-2.0.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://neutrinoapi.net
description: Multicloud endpoint utilizing both GCP and AWS with IP anycast load balancing, DNS based geoproximity and cloud failover
variables: {}
- url: https://aws.neutrinoapi.net
description: AWS only endpoint utilizing IP anycast load balancing and failover
variables: {}
- url: https://gcp.neutrinoapi.net
description: GCP only endpoint utilizing IP anycast load balancing and failover
variables: {}
- url: https://neutrinoapi.com
description: Backup endpoint utilizing a seperate top-level domain and IP addresses
variables: {}
- url: https://eu.neutrinoapi.net
description: European Union geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
- url: https://aus.neutrinoapi.net
description: Australia geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
- url: https://usa.neutrinoapi.net
description: United States geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
security:
- user-id: []
api-key: []
tags:
- name: Imaging
description: APIs for imaging and rendering
paths:
/html-render:
parameters: []
servers:
- url: https://neutrinoapi.net
description: Multicloud endpoint utilizing both GCP and AWS with IP anycast load balancing, DNS based geoproximity and cloud failover
variables: {}
- url: https://aws.neutrinoapi.net
description: AWS only endpoint utilizing IP anycast load balancing and failover
variables: {}
- url: https://gcp.neutrinoapi.net
description: GCP only endpoint utilizing IP anycast load balancing and failover
variables: {}
- url: https://neutrinoapi.com
description: Backup endpoint utilizing a seperate top-level domain and IP addresses
variables: {}
- url: https://eu.neutrinoapi.net
description: European Union geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
- url: https://aus.neutrinoapi.net
description: Australia geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
- url: https://usa.neutrinoapi.net
description: United States geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
post:
tags:
- Imaging
summary: HTML Render
description: Render HTML content to PDF, JPG or PNG
operationId: HTMLRender
parameters: []
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
required:
- content
type: object
properties:
content:
type: string
description: The HTML content. This can be either a URL to load from, a file upload (multipart/form-data) or an HTML content string
examples:
- <h1>TEST DOCUMENT</h1><p>Hello, this is a test page...</p>
format:
type: string
description: 'Which format to output, available options are: PDF, PNG, JPG'
default: PDF
page-size:
type: string
description: 'Set the document page size, can be one of: A0 - A9, B0 - B10, Comm10E, DLE or Letter'
default: A4
title:
type: string
description: The document title
margin:
type: number
description: The document margin (in mm)
contentEncoding: double
default: 0
margin-left:
type: number
description: The document left margin (in mm)
contentEncoding: double
default: 0
margin-right:
type: number
description: The document right margin (in mm)
contentEncoding: double
default: 0
margin-top:
type: number
description: The document top margin (in mm)
contentEncoding: double
default: 0
margin-bottom:
type: number
description: The document bottom margin (in mm)
contentEncoding: double
default: 0
landscape:
type: boolean
description: Set the document to landscape orientation
default: false
zoom:
type: number
description: Set the zoom factor when rendering the page (2.0 for double size, 0.5 for half size)
contentEncoding: double
default: 1
grayscale:
type: boolean
description: Render the final document in grayscale
default: false
css:
type: string
description: 'Inject custom CSS into the HTML. e.g. ''body { background-color: red;}'''
image-width:
type: integer
description: If rendering to an image format (PNG or JPG) use this image width (in pixels)
contentEncoding: int32
default: 1024
image-height:
type: integer
description: If rendering to an image format (PNG or JPG) use this image height (in pixels). The default is automatic which dynamically sets the image height based on the content
contentEncoding: int32
delay:
type: integer
description: Number of seconds to wait before rendering the page (can be useful for pages with animations etc)
contentEncoding: int32
default: 0
page-width:
type: number
description: Set the PDF page width explicitly (in mm)
contentEncoding: double
page-height:
type: number
description: Set the PDF page height explicitly (in mm)
contentEncoding: double
timeout:
type: integer
description: Timeout in seconds. Give up if still trying to load the HTML content after this number of seconds
contentEncoding: int32
default: 300
ignore-certificate-errors:
type: boolean
description: Ignore any TLS/SSL certificate errors
default: false
header:
type: string
description: 'The header HTML to insert into each page. The following dynamic tags are supported: {date}, {title}, {url}, {pageNumber}, {totalPages}'
examples:
- '<div style=''width: 100%; font-size: 8pt;''>{pageNumber} of {totalPages} - {date}</div>'
footer:
type: string
description: 'The footer HTML to insert into each page. The following dynamic tags are supported: {date}, {title}, {url}, {pageNumber}, {totalPages}'
bg-color:
type: string
description: 'For image rendering set the background color in hexadecimal notation (e.g. #0000ff). For PNG output the special value of ''transparent'' can be used to create a transparent PNG'
exec:
type: string
description: 'Execute JavaScript on the website. This parameter accepts JavaScript as either a string containing JavaScript or for sending multiple separate statements a JSON array or POST array can also be used. You can also use the following specially defined user interaction functions: <br> <div> sleep(seconds); Just wait/sleep for the specified number of seconds. <br> click(''selector''); Click on the first element matching the given selector. <br> focus(''selector''); Focus on the first element matching the given selector. <br> keys(''characters''); Send the specified keyboard characters. Use click() or focus() first to send keys to a specific element. <br> enter(); Send the Enter key. <br> tab(); Send the Tab key. <br> </div>'
user-agent:
type: string
description: Override the browsers default user-agent string with this one
contentMediaType: application/x-www-form-urlencoded
required: false
responses:
'200':
description: ''
headers: {}
content:
application/octet-stream:
schema:
type: string
contentEncoding: base64
contentMediaType: application/octet-stream
'400':
description: Your API request has been rejected. Check error code for details
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
'403':
description: You have failed to authenticate
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
'500':
description: We messed up, sorry! Your request has caused a fatal exception
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
default:
description: We messed up, sorry! Your request has caused an error
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
deprecated: false
/image-watermark:
parameters: []
servers:
- url: https://neutrinoapi.net
description: Multicloud endpoint utilizing both GCP and AWS with IP anycast load balancing, DNS based geoproximity and cloud failover
variables: {}
- url: https://aws.neutrinoapi.net
description: AWS only endpoint utilizing IP anycast load balancing and failover
variables: {}
- url: https://gcp.neutrinoapi.net
description: GCP only endpoint utilizing IP anycast load balancing and failover
variables: {}
- url: https://neutrinoapi.com
description: Backup endpoint utilizing a seperate top-level domain and IP addresses
variables: {}
- url: https://eu.neutrinoapi.net
description: European Union geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
- url: https://aus.neutrinoapi.net
description: Australia geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
- url: https://usa.neutrinoapi.net
description: United States geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
post:
tags:
- Imaging
summary: Image Watermark
description: Watermark one image with another image
operationId: ImageWatermark
parameters: []
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
required:
- image-url
- watermark-url
type: object
properties:
image-url:
type: string
description: The URL or Base64 encoded Data URL for the source image. You can also upload an image file directly using multipart/form-data
examples:
- https://www.neutrinoapi.com/img/LOGO.png
watermark-url:
type: string
description: The URL or Base64 encoded Data URL for the watermark image. You can also upload an image file directly using multipart/form-data
examples:
- https://www.neutrinoapi.com/img/icons/security.png
opacity:
type: integer
description: The opacity of the watermark (0 to 100)
contentEncoding: int32
default: 50
examples:
- 90
format:
type: string
description: The output image format, can be either png or jpg
default: png
position:
type: string
description: 'The position of the watermark image, possible values are: <br> center, top-left, top-center, top-right, bottom-left, bottom-center, bottom-right'
default: center
width:
type: integer
description: If set resize the resulting image to this width (in px)
contentEncoding: int32
height:
type: integer
description: If set resize the resulting image to this height (in px)
contentEncoding: int32
resize-mode:
type: string
description: 'The resize mode to use, we support 3 main resizing modes: <ul> <li><b>scale</b> <br> Resize to within the width and height specified while preserving aspect ratio. In this mode the width or height will be automatically adjusted to fit the aspect ratio</li> <li><b>pad</b> <br> Resize to exactly the width and height specified while preserving aspect ratio and pad any space left over. Any padded space will be filled in with the ''bg-color'' value</li> <li><b>crop</b> <br> Resize to exactly the width and height specified while preserving aspect ratio and crop any space which fall outside the area. The cropping window is centered on the original image</li> </ul>'
default: scale
bg-color:
type: string
description: 'The image background color in hexadecimal notation (e.g. #0000ff). For PNG output the special value of ''transparent'' can also be used. For JPG output the default is black (#000000)'
default: transparent
contentMediaType: application/x-www-form-urlencoded
required: false
responses:
'200':
description: ''
headers: {}
content:
application/octet-stream:
schema:
type: string
contentEncoding: base64
contentMediaType: application/octet-stream
'400':
description: Your API request has been rejected. Check error code for details
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
'403':
description: You have failed to authenticate
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
'500':
description: We messed up, sorry! Your request has caused a fatal exception
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
default:
description: We messed up, sorry! Your request has caused an error
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
deprecated: false
/qr-code:
parameters: []
servers:
- url: https://neutrinoapi.net
description: Multicloud endpoint utilizing both GCP and AWS with IP anycast load balancing, DNS based geoproximity and cloud failover
variables: {}
- url: https://aws.neutrinoapi.net
description: AWS only endpoint utilizing IP anycast load balancing and failover
variables: {}
- url: https://gcp.neutrinoapi.net
description: GCP only endpoint utilizing IP anycast load balancing and failover
variables: {}
- url: https://neutrinoapi.com
description: Backup endpoint utilizing a seperate top-level domain and IP addresses
variables: {}
- url: https://eu.neutrinoapi.net
description: European Union geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
- url: https://aus.neutrinoapi.net
description: Australia geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
- url: https://usa.neutrinoapi.net
description: United States geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
post:
tags:
- Imaging
summary: QR Code
description: Generate a QR code as a PNG image
operationId: QRCode
parameters: []
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
required:
- content
type: object
properties:
content:
type: string
description: The content to encode into the QR code (e.g. a URL or a phone number)
examples:
- https://www.neutrinoapi.com/signup/
width:
type: integer
description: The width of the QR code (in px)
contentEncoding: int32
default: 256
height:
type: integer
description: The height of the QR code (in px)
contentEncoding: int32
default: 256
fg-color:
type: string
description: The QR code foreground color
default: '#000000'
bg-color:
type: string
description: The QR code background color
default: '#ffffff'
code-format:
type: string
description: 'The barcode format to output. Accepted formats are: qr, c128'
default: qr
contentMediaType: application/x-www-form-urlencoded
required: false
responses:
'200':
description: ''
headers: {}
content:
application/octet-stream:
schema:
type: string
contentEncoding: base64
contentMediaType: application/octet-stream
'400':
description: Your API request has been rejected. Check error code for details
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
'403':
description: You have failed to authenticate
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
'500':
description: We messed up, sorry! Your request has caused a fatal exception
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
default:
description: We messed up, sorry! Your request has caused an error
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
deprecated: false
/image-resize:
parameters: []
servers:
- url: https://neutrinoapi.net
description: Multicloud endpoint utilizing both GCP and AWS with IP anycast load balancing, DNS based geoproximity and cloud failover
variables: {}
- url: https://aws.neutrinoapi.net
description: AWS only endpoint utilizing IP anycast load balancing and failover
variables: {}
- url: https://gcp.neutrinoapi.net
description: GCP only endpoint utilizing IP anycast load balancing and failover
variables: {}
- url: https://neutrinoapi.com
description: Backup endpoint utilizing a seperate top-level domain and IP addresses
variables: {}
- url: https://eu.neutrinoapi.net
description: European Union geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
- url: https://aus.neutrinoapi.net
description: Australia geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
- url: https://usa.neutrinoapi.net
description: United States geofence endpoint, requests to this endpoint are guaranteed to only be processed on servers within the geofence boundary
variables: {}
post:
tags:
- Imaging
summary: Image Resize
description: Resize an image and output as either JPEG or PNG
operationId: ImageResize
parameters: []
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
required:
- image-url
- width
type: object
properties:
image-url:
type: string
description: The URL or Base64 encoded Data URL for the source image. You can also upload an image file directly using multipart/form-data
examples:
- https://www.neutrinoapi.com/img/LOGO.png
width:
type: integer
description: The width to resize to (in px)
contentEncoding: int32
examples:
- 32
height:
type: integer
description: The height to resize to (in px). If you don't set this field then the height will be automatic based on the requested width and image aspect ratio
contentEncoding: int32
examples:
- 32
format:
type: string
description: The output image format, can be either png or jpg
default: png
resize-mode:
type: string
description: 'The resize mode to use, we support 3 main resizing modes: <ul> <li><b>scale</b> <br> Resize to within the width and height specified while preserving aspect ratio. In this mode the width or height will be automatically adjusted to fit the aspect ratio</li> <li><b>pad</b> <br> Resize to exactly the width and height specified while preserving aspect ratio and pad any space left over. Any padded space will be filled in with the ''bg-color'' value</li> <li><b>crop</b> <br> Resize to exactly the width and height specified while preserving aspect ratio and crop any space which fall outside the area. The cropping window is centered on the original image</li> </ul>'
default: scale
bg-color:
type: string
description: 'The image background color in hexadecimal notation (e.g. #0000ff). For PNG output the special value of ''transparent'' can also be used. For JPG output the default is black (#000000)'
default: transparent
contentMediaType: application/x-www-form-urlencoded
required: false
responses:
'200':
description: ''
headers: {}
content:
application/octet-stream:
schema:
type: string
contentEncoding: base64
contentMediaType: application/octet-stream
'400':
description: Your API request has been rejected. Check error code for details
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
'403':
description: You have failed to authenticate
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
'500':
description: We messed up, sorry! Your request has caused a fatal exception
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
default:
description: We messed up, sorry! Your request has caused an error
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
deprecated: false
components:
schemas:
APIError:
title: APIError
required:
- api-error
- api-error-msg
type: object
properties:
api-error:
type: integer
description: API error code. If set and > 0 then an API error has occurred your request could not be completed
contentEncoding: int32
api-error-msg:
type: string
description: API error message
description: For non-200 responses this contains specific API error details
examples:
- api-error: 43
api-error-msg: ACCESS DENIED. USER ID OR API KEY INVALID
securitySchemes:
user-id:
type: apiKey
description: Your user ID
name: user-id
in: header
api-key:
type: apiKey
description: One of your API keys
name: api-key
in: header
securityDefinitions:
user-id:
type: apiKey
description: Your user ID
name: user-id
in: header
api-key:
type: apiKey
description: One of your API keys
name: api-key
in: header
x-refined-from:
- neutrino-api-openapi-3.1.json
- neutrino-api-swagger-2.0.json