requestExport

API reference for the requestExport method.

Exports the user's design as one or more static files.

To learn more, see Exporting designs.

import { requestExport } from "@canva/design";
const response = await requestExport({
acceptedFileTypes: ["PNG", "JPG"],
});
if (response.status === "COMPLETED") {
console.log(response); // => { status: "COMPLETED", title: "My design", exportBlobs: [{ url: "https://example.com/image.png" }] }
} else {
console.log("The user exited the export flow.");
console.log(response); // => { status: "ABORTED" }
}
ts

This method has a rate limit of 10 requests every 10 seconds.

#optionsobject
Required

The options for configuring the export of a design.

#options.acceptedFileTypesarray
Required

The types of files the user can export their design as.

The supported file types include:

  • "GIF"
  • "JPG"
  • "PDF_STANDARD"
  • "PNG"
  • "PPTX"
  • "SVG"
  • "VIDEO"

A Promise that resolves with the following object:

#resultobject
Required

The result of the successful export of a design.

#result.statusstring
Required

A value that identifies if the export was successful or not.

This property may contain any of the following values:

  • "COMPLETED" - The user successfully exported their design.
  • "ABORTED" - The user closed the export dialog without exporting their design.
#result.titlestring
Optional

The title of the design, if it had been set by the user.

#result.exportBlobsarray
Required

The exported files.

If there are multiple files, they'll be provided in a ZIP file and the array will contain one item. In the future, there'll be an option for each file to be a separate item in the array.

#result.exportBlobs[0].urlstring
Required

The URL of the exported file, such as a ZIP or PNG file.

If the user's design contains multiple pages but is exported in a format that doesn't support multiple pages, the URL will point to a ZIP file that contains each page as a separate file.

The following file types support multiple pages:

  • "GIF"
  • "PDF_STANDARD"
  • "PPTX"
  • "VIDEO"

The following file types do not support multiple pages:

  • "JPG"
  • "PNG"
  • "SVG"

If a user selects the "VIDEO" option, they have the choice of exporting each page as a separate file. In this case, the URL will point to a ZIP file that contains a separate video for each page.