The Extensions documentation is no longer updated. Read the new Canva API docs here.

Embeds

When creating a content extension, one of the available options for the Content type field is Embeds. If you select this option, the extension can import embeddable media into Canva, such as YouTube videos or Instagram photos.

If you're looking for the API reference, see /content/resources/find.

Examples

These are some examples of apps with content extensions that support embeds:

To find more examples, see canva.com/apps(opens in a new tab or window).

Supported embed types

Canva uses Iframely(opens in a new tab or window) to embed media into designs. This means an extension can import any Iframely supported content into Canva. The media itself is embedded via an iframe.

To check if a URL is supported by Iframely, see URLs supported by Iframely(opens in a new tab or window).

For additional requirements that apply to this content type, see Choose the best content types.

Additional considerations

For guidelines on choosing the layout that's most appropriate for your content type, see Choose the best layout.

Limitations

  • Users can't apply effects to embeds. They can only manipulate the size, position, and rotation of the embed.
  • Canva only stores a reference to the embedded media. If the original media is deleted or otherwise becomes unavailable, an error appears in place of the media.

Example

This example assumes the extension is configured to support embeds.

const express = require("express");
const app = express();
app.use(express.json());
app.use(express.static("public"));
app.post("/content/resources/find", async (request, response) => {
response.send({
type: "SUCCESS",
resources: [
{
id: "dQw4w9WgXcQ",
name: "Rick Astley - Never Gonna Give You Up",
type: "EMBED",
thumbnail: {
url: "https://i.imgur.com/Q2Unw.gif",
},
url: "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
},
],
});
});
app.listen(process.env.PORT || 3000);
JAVASCRIPT