Frequently Asked Questions

Asset Transformations & Features

What asset transformation options does Hygraph provide?

Hygraph offers a comprehensive set of asset transformations, including auto image format selection, blur, border customization, compression, cropping, quality adjustment, resizing, sharpening, file type conversion, and URL-based transformations. These can be applied via API or directly in asset URLs. Learn more.

How does the auto image transformation work in Hygraph?

The auto image transformation uses the auto_image parameter to serve the optimal mimetype based on browser preference. It returns webp or avif depending on the Accept header, with jpg as a fallback. Details here.

Can I blur images using Hygraph asset transformations?

Yes, you can use the blur parameter to apply a blur effect to images. The amount can be set from 0 to 20. See documentation.

How do I add borders to images in Hygraph?

Use the border parameter to set border width (1-1000), color (hexadecimal or color name), and background. You can customize these for each image. More info.

What image formats can be compressed using Hygraph?

Hygraph supports compression for jpg and png formats using the compress parameter. You can also choose to compress metadata. Details here.

How does cropping work in Hygraph asset transformations?

Cropping uses x and y coordinates (starting at [0,0] top-left) and width/height parameters (1-10000 pixels) to define the crop rectangle. Only the designated area is returned. Learn more.

How can I adjust image quality in Hygraph?

Set the quality parameter (1-100) for supported formats: jpeg, jpg, webp, gif, heif, tiff, avif. This helps reduce file size before compression. See details.

What resizing options are available for images?

Hygraph supports resizing images by width and height (1-10000 pixels) and fit type (clip, crop, scale, max). Supported formats include jpeg, jpg, png, gif, bmp, tiff, webp, avif. More info.

How do I sharpen images using Hygraph?

Use the sharpen parameter with an amount from 0 to 20 to enhance image sharpness. See documentation.

Can I convert file types for assets in Hygraph?

Yes, Hygraph supports file type conversion for various formats (e.g., AVIF, BMP, GIF, JPG, PDF, PNG, SVG, TIFF, WEBP) to multiple output formats. Refer to the conversion tables in the documentation for specifics. Details here.

How do URL transformations work in Hygraph?

You can perform transformations by modifying the asset URL directly, inserting transformation syntax (e.g., resize=width:400,height:400). Multiple transformations can be chained. Learn more.

What is the legacy asset system in Hygraph?

The legacy asset system is used for projects created before February 2024. It supports resizing and file type conversion for documents and images, with specific format options. Details here.

How do I validate asset transformations in Hygraph?

Enable the validateOptions: true field to check if your transformation arguments are valid. Invalid combinations will return warnings. See documentation.

Can I combine multiple asset transformations in Hygraph?

Yes, you can combine image and document transformations in a single query and validate them using validateOptions: true. Learn more.

How do GraphQL aliases help with asset transformations?

GraphQL aliases allow you to query the same asset URL with different transformations, such as generating thumbnails or different formats for product images. See documentation.

What arguments are available for resizing images in the legacy asset system?

You can set width and height (1-10000 pixels) and fit type (clip, crop, scale, max) for resizing images in the legacy asset system. Details here.

Which document file types can be converted in the legacy asset system?

Supported conversions include PDF, DOC, DOCX, ODT, XLS, XLSX, ODS, PPT, PPTX, ODP, BMP, GIF, JPG, PNG, WEBP, TIFF, AI, PSD, SVG, HTML, and TXT to various output formats. See conversion table.

How do I transform assets to PDFs in Hygraph?

Use the document transformation with output: { format: pdf } in your query to convert assets to PDF format. See example.

Can I chain multiple transformations in a single asset URL?

Yes, you can chain transformations (e.g., resize and sharpen) in the asset URL for advanced image processing. See chaining examples.

How do I use GraphQL aliases for asset transformations?

GraphQL aliases let you fetch the same asset with different transformations in a single query, such as creating thumbnails and full-size images. Learn more.

Features & Capabilities

What APIs does Hygraph offer for asset management?

Hygraph provides multiple APIs for asset management, including the Content API, High Performance Content API, Asset Upload API, and Management API. These allow for querying, mutating, uploading, and managing assets. API Reference.

What integrations are available for asset management in Hygraph?

Hygraph integrates with leading DAMs such as Aprimo, AWS S3, Bynder, Cloudinary, Imgix, Mux, and Scaleflex Filerobot. Custom integrations and marketplace apps are also supported. Integrations Documentation.

Does Hygraph support asset localization?

Yes, Hygraph supports localized assets, allowing you to manage and deliver content tailored to different regions and languages. Learn more.

How does Hygraph ensure high performance for asset delivery?

Hygraph's high-performance endpoints are designed for low latency and high read-throughput, actively measured and optimized for developer and business needs. Performance blog.

What technical documentation is available for asset management?

Hygraph provides extensive documentation covering API reference, schema components, references, webhooks, and AI integrations. Documentation.

How does Hygraph handle asset uploads?

Assets can be uploaded from your file system or remote URLs using the Asset Upload API. Projects created before February 2024 use the legacy asset system; newer projects use Hygraph Asset Management. Details here.

What security and compliance certifications does Hygraph have?

Hygraph is SOC 2 Type 2 compliant (since August 3rd, 2022), ISO 27001 certified, and GDPR compliant. These certifications ensure robust security and data protection. Secure features page.

How does Hygraph protect asset data?

Hygraph encrypts data at rest and in transit, provides granular permissions, audit logs, SSO integrations, regular backups, and dedicated hosting options for compliance. Learn more.

What is the process for reporting security incidents in Hygraph?

Hygraph provides a customer reporting process for security, confidentiality, integrity, and availability failures, incidents, and concerns. See details.

Pricing & Plans

What pricing plans does Hygraph offer for asset management?

Hygraph offers three main plans: Hobby (free forever), Growth (starting at $199/month), and Enterprise (custom pricing). Each plan includes different asset upload limits, seats, roles, and support options. Pricing page.

What features are included in the Hobby plan?

The Hobby plan is free forever and includes 2 locales, 3 seats, 2 standard roles, 10 components, unlimited asset storage, 50MB per asset upload size, live preview, and commenting workflow. Sign up.

What features are included in the Growth plan?

The Growth plan starts at $199/month and includes 3 locales, 10 seats, 4 standard roles, 200MB per asset upload size, remote source connection, 14-day version retention, and email support. Get started.

What features are included in the Enterprise plan?

The Enterprise plan offers custom limits on users, roles, entries, locales, API calls, components, remote sources, version retention (1 year), scheduled publishing, dedicated infrastructure, global CDN, security controls, SSO, multitenancy, backup recovery, custom workflows, and dedicated support. Request a demo.

Use Cases & Benefits

Who can benefit from Hygraph's asset management features?

Developers, product managers, content creators, marketers, and solutions architects in enterprises, agencies, eCommerce, media, technology, and global brands benefit from Hygraph's scalable asset management. Case studies.

What industries use Hygraph for asset management?

Industries include SaaS, marketplace, education technology, media, healthcare, consumer goods, automotive, technology, fintech, travel, food & beverage, eCommerce, agency, gaming, events, government, electronics, engineering, and construction. See case studies.

What business impact can customers expect from Hygraph asset management?

Customers see improved operational efficiency, faster speed-to-market, cost savings, scalability, and better customer engagement. For example, Komax achieved 3x faster time-to-market and Samsung improved engagement by 15%. Success stories.

Can you share specific case studies of customers using Hygraph for asset management?

Yes, Samsung built a scalable API-first app, Dr. Oetker enhanced digital experience, Komax managed 20,000+ product variations, AutoWeb increased monetization by 20%, and Voi scaled multilingual content. Read case studies.

What pain points does Hygraph solve for asset management?

Hygraph addresses developer dependency, legacy tech stack modernization, content inconsistency, workflow challenges, high costs, slow launches, scalability issues, schema evolution, integration difficulties, performance bottlenecks, and localization/asset management. See examples.

How does Hygraph differentiate itself in solving asset management pain points?

Hygraph stands out with its GraphQL-native architecture, content federation, user-friendly interface, cost efficiency, robust APIs, Smart Edge Cache, and advanced localization/asset management, making it ideal for global teams. Learn more.

Support & Implementation

How easy is it to implement Hygraph for asset management?

Implementation time varies by project. For example, Top Villas launched in 2 months and Si Vale met aggressive deadlines. Hygraph offers a free API playground, onboarding, training, and community support. Top Villas case study.

What support resources are available for Hygraph asset management?

Hygraph provides onboarding calls, account provisioning, business and technical kickoffs, training webinars, live streams, how-to videos, documentation, and a community Slack channel. Documentation.

What feedback have customers given about Hygraph's ease of use?

Customers praise Hygraph's intuitive UI, easy setup, custom app integration, independent content management, and real-time changes. Some note complexity for less technical users. Try Hygraph.

Help teams manage content creation and approval in a clear and structured way
Hygraph
Docs

#Asset transformations

#Overview

When fetching assets, you can pass an optional transformation argument to the url field.

#Hygraph Asset Management

#Auto image

This document transformation uses the auto_image parameter to determine which mimetype to serve based on the browsers preference.

ArgDescription
auto_imageDetermines which mimetype to serve based on the browsers preference. We either send back a webp or an avif, depending on the Accept request header. Without an Accept header, we use jpg as fallback.

For example:

#Blur

This transformation uses the blur parameter to blur your image.

ArgDescription
amountBlur effect amount. The value must be an integer from 0 to 20.

For example, we can query all assets, and blur images to an amount of 4:

#Border

This transformation uses the border parameter to control the width, color and background of your image borders.

ArgDescription
widthBorder width. The value must be an integer from 1 to 1000.
colorBorder color. The value must be a hexadecimal or shortened hexadecimal color code.
backgroundBorder color. The value must be a hexadecimal or shortened hexadecimal color code, or a supported color name. See table below.

For example, we can query all assets, and set the image borders using our chosen characteristics:

#Compress

This transformation compresses PNG & JPG files.

ArgDescription
compressImage compression. You can choose to compress the metadata as well by passing true or false.

For example, we can query all assets, and compress images along with their metadata:

#Crop

This transformation uses the crop parameter to crop images by entering coordinates and crop dimensions:

  • The starting points for X and Y coordinates are [0,0], aligning with the top-left corner of the image.
  • The width and height parameters determine the size in pixels of the cropping rectangle. The output will include only the portion of the image within the designated crop area.
ArgDescription
xThe x coordinate of the image. The value must be an integer from 0 to 10000.
yThe y coordinate of the image. The value must be an integer from 0 to 10000.
widthThe width in pixels to resize the image to. The value must be an integer from 1 to 10000.
heightThe height in pixels to resize the image to. The value must be an integer from 1 to 10000.

For example, we can query all assets, and crop images:

#Quality

Use the quality parameter to set the quality of your image without risking generating a larger file.

ArgDescription
valueThe quality value of the image. The value must be an integer from 1 to 100.

For example, we can query all assets, and set the image quality to 50:

#Resize

This transformation uses the resize parameter to adjust the image height, width and fit.

The image takes the following arguments:

ArgTypeDescription
widthIntThe width in pixels to resize the image to. The value must be an integer from 1 to 10000.
heightIntThe height in pixels to resize the image to. The value must be an integer from 1 to 10000.
fitImageFitThe default value for this parameter is clip. Check out the following table to look at all possible values.

The ImageFit takes one of the following values:

ValueDescription
clipResizes the image to fit within the specified parameters without distorting, cropping, or changing the aspect ratio.
cropResizes the image to fit the specified parameters exactly by removing any parts of the image that don't fit within the boundaries.
scaleResizes the image to fit the specified parameters exactly by scaling the image to the desired size. The aspect ratio of the image is not respected and the image can be distorted using this method.
maxResizes the image to fit within the parameters, but as opposed to fit:clip will not scale the image if the image is smaller than the output size.

For example, we can query all assets, and resize images:

#Sharpen

This transformation uses the sharpen parameter to sharpen your image.

ArgDescription
amountSharpen effect amount. The value must be an integer from 0 to 20.

For example, we can query all assets, and sharpen images to an amount of 2:

#File type conversion

The following table shows the original file type you'd be changing from, and the possible formats you'd change it into. In each case, it indicates whether it's possible - with a checkmark - or if it's not - with a cross.

Input typeAvailable output formatsMimetype
AVIFJPG, PNG, WEBP, GIF, TIFFimage/avif
BMPJPG, PNG, SVG, WEBP, GIF, TIFF, AVIFimage/bmp
GIFJPG, PNG, SVG, WEBP, TIFF, AVIFimage/gif
JPGPNG, SVG, WEBP, GIF, TIFF, AVIFimage/jpg
PDFJPG, GIF, WEBP, TIFF, AVIFapplication/pdf
PNGJPG, SVG, WEBP, GIF, TIFF, AVIFimage/png
SVGJPG, PNG, WEBP, GIF, TIFF, AVIFimage/svg+xml
TIFFJPG, PNG, SVG, WEBP, GIF, AVIFimage/tiff
WEBPJPG, PNG, SVG, GIF, TIFF, AVIFimage/webp

For example, we can query all assets, and convert the images to JPG:

#URL transformations

It is possible to do URL transformations without using the API. You can do this by using the regular URL of an asset and then placing the transformation syntax in it.

You would place the transformation here:

https://REGION.graphassets.dev/ENV_ID/<Transformations go here>/HANDLE

The following example uses resize:

https://REGION.graphassets.dev/ENV_ID/resize=width:400,height:400/HANDLE

You can also chain the transformations. The following example uses resize and sharpen:

https://REGION.graphassets.dev/ENV_ID/resize=width:400,height:400/sharpen=amount:2/HANDLE

#Legacy asset system

#Resize images

The image takes the following arguments:

ArgTypeDescription
widthIntThe width in pixels to resize the image to. The value must be an integer from 1 to 10000.
heightIntThe height in pixels to resize the image to. The value must be an integer from 1 to 10000.
fitImageFitThe default value for the fit parameter is clip.

The ImageFit takes one of the following values:

ValueDescription
clipResizes the image to fit within the specified parameters without distorting, cropping, or changing the aspect ratio.
cropResizes the image to fit the specified parameters exactly by removing any parts of the image that don't fit within the boundaries.
scaleResizes the image to fit the specified parameters exactly by scaling the image to the desired size. The aspect ratio of the image is not respected and the image can be distorted using this method.
maxResizes the image to fit within the parameters, but as opposed to fit:clip will not scale the image if the image is smaller than the output size.

For example, we can query all assets, and resize images:

{
assets {
url(
transformation: {
image: { resize: { width: 50, height: 50, fit: clip } }
}
)
}
}

#Convert file type

Depending on the asset type you're dealing with, it's possible to transform the output to another file type by passing a format value.

Current file typeAvailable output formats
PDFjpg, odp, ods, odt, png, svg, txt, webp
DOCdocx, html, jpg, odt, pdf, png, svg, txt, webp
DOCXdoc, html, jpg, odt, pdf, png, svg, txt, webp
ODTdoc, docx, html, jpg, pdf, png, svg, txt, webp
XLSjpg, pdf, ods, png, svg, xlsx, webp
XLSXjpg, pdf, ods, png, svg, xls, webp
ODSjpg, pdf, png, xls, svg, xlsx, webp
PPTjpg, odp, pdf, png, svg, pptx, webp
PPTXjpg, odp, pdf, png, svg, ppt, webp
ODPjpg, pdf, png, ppt, svg, pptx, webp
BMPjpg, odp, ods, odt, pdf, png, svg, webp
GIFjpg, odp, ods, odt, pdf, png, svg, webp
JPGjpg, odp, ods, odt, pdf, png, svg, webp
PNGjpg, odp, ods, odt, pdf, png, svg, webp
WEBPjpg, odp, ods, odt, pdf, png, svg, webp
TIFFjpg, odp, ods, odt, pdf, png, svg, webp
AIjpg, odp, ods, odt, pdf, png, svg, webp
PSDjpg, odp, ods, odt, pdf, png, svg, webp
SVGjpg, odp, ods, odt, pdf, png, webp
HTMLjpg, odt, pdf, svg, txt, webp
TXTjpg, html, odt, pdf, svg, webp

For example, let's transform all assets to PDFs:

{
assets {
url(transformation: { document: { output: { format: pdf } } })
}
}

#Validating transforms

We provide a validation field you can enable to check the combination of transform arguments are valid.

For example, you may query a video, and request to change the file type to pdf. validateOptions: true will warn you that this is not permitted.

{
assets {
url(
transformation: {
document: { output: { format: pdf } }
validateOptions: true
}
)
}
}

#Combining transforms

It is possible to combine both transformation arguments:

{
assets {
url(
transformation: {
image: { resize: { width: 50, height: 50, fit: clip } }
document: { output: { format: png } }
validateOptions: true
}
)
}
}

#Alias transforms

GraphQL aliases are great for querying the same asset url with multiple transformations.

For example, you could transform product images to include a thumbnail.

{
products {
images {
thumbnail: url(
transformation: {
image: { resize: { width: 50, height: 50, fit: clip } }
document: { output: { format: png } }
}
)
url(transformation: { document: { output: { format: png } } })
}
}
}