{"id":26563,"date":"2023-01-25T09:30:53","date_gmt":"2023-01-25T16:30:53","guid":{"rendered":"https:\/\/cloudinary.com\/blog\/?p=26563"},"modified":"2023-07-25T11:31:40","modified_gmt":"2023-07-25T18:31:40","slug":"create-content-using-canva-then-publish-it-to-cloudinary","status":"publish","type":"post","link":"https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary","title":{"rendered":"Create Content Using Canva then Publish it to Cloudinary"},"content":{"rendered":"\n<p><a href=\"https:\/\/www.canva.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Canva<\/a> is an Australian graphic design platform used to create social media graphics, presentations, posters, documents, logos, and other visual content. Over 75 million people use Canva monthly to unlock their creativity and achieve their goals.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Canva Publish Extension<\/h2>\n\n\n\n<p>A Canva Publish Extension adds a publish destination to Canva. This destination appears in the <strong>Publish<\/strong> menu. Users can use publish extensions to seamlessly bridge the gap between Canva and third-party platforms.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cloudinary Canva Publish Extension<\/h2>\n\n\n\n<p>Creating a Cloudinary Canva Publish Extension allows your designs to be published to a Cloudinary account. <a href=\"https:\/\/cloudinary.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Cloudinary provides Programmable Media APIs and Digital Asset Management<\/a> to developers and content managers\u2013 allowing sharing, collaboration, management, and a wide array of creative transformations along with efficient delivery via global CDNs. There are many instances when publishing your Canva creations to a Cloudinary account is useful. For example, if you need to collaborate with website creators and content managers that use Cloudinary as a single source of truth for images and videos &#8211; saving the need to download, upload, email, and\/or Slack media files.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img width=\"315\" height=\"506\" data-public-id=\"canva1\/canva1.png\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/w_315,h_506,c_scale\/f_auto,q_auto\/v1672854898\/canva1\/canva1.png?_i=AA\" alt=\"\" class=\"wp-post-26563 wp-image-26564\" data-format=\"png\" data-transformations=\"f_auto,q_auto\" data-version=\"1672854898\" data-seo=\"1\" srcset=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854898\/canva1\/canva1.png?_i=AA 630w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854898\/canva1\/canva1.png?_i=AA 187w\" sizes=\"auto, (max-width: 315px) 100vw, 315px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Goal<\/h2>\n\n\n\n<p>In this article you will learn how to create a Canva Publish Extension that allows Canva users to publish their content in Cloudinary and create optimized delivery URLs within Canva. This project implements a set of simple RESTful APIs endpoints based on <a href=\"https:\/\/docs.developer.canva.com\/apps\/extensions\/publish-extensions\" target=\"_blank\" rel=\"noreferrer noopener\">Canva Publish Extension documentation<\/a>. It uses <a href=\"https:\/\/expressjs.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Express<\/a>, a minimal and flexible Node.js framework that includes a number of HTTP utility methods for quickly using Cloudinary APIs via the <a href=\"https:\/\/cloudinary.com\/documentation\/node_integration\" target=\"_blank\" rel=\"noreferrer noopener\">Cloudinary Node.js SDK<\/a>.&nbsp;<\/p>\n\n\n\n<p>This project uses&nbsp;<a href=\"https:\/\/glitch.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Glitch<\/a> where millions of creators, professionals, and educators build and host dynamic websites. The extension is a private, team-level one. This post is educational in focus and is intended to explain how to customize and extend Cloudinary\u2019s integration with Canva.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Let&#8217;s Get Building<\/h2>\n\n\n\n<p>Building the app is a two-stage process. First, create the Glitch backend to integrate with Cloudinary. Second, create the Canva app that connects the Canva UI to the Glitch backend via a publish app.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Stage 1 &#8211; Creating the Glitch Project<\/h3>\n\n\n\n<p>If you don&#8217;t already have a Glitch account &#8211; sign up, it&#8217;s free.&nbsp;<\/p>\n\n\n\n<p>Once you&#8217;re signed up, <strong><em>Remix<\/em><\/strong> our <a href=\"https:\/\/glitch.com\/edit\/#!\/cloudinary-canva-publishext-public?path=README.md\" target=\"_blank\" rel=\"noreferrer noopener\">Cloudinary Canva Sample Publish Extension<\/a> project on Glitch to create a copy of an existing project. From there, you can customize the project and make other changes.&nbsp;<\/p>\n\n\n\n<p>For this integration, you will use your existing Cloudinary account or <a href=\"https:\/\/cloudinary.com\/users\/register_free\" target=\"_blank\" rel=\"noreferrer noopener\">create a free account<\/a> if you don\u2019t already have one. (For more information on how to open Cloudinary&#8217;s <strong>Programmable Media<\/strong> account please review our <a href=\"https:\/\/cloudinary.com\/documentation\/how_to_integrate_cloudinary\" target=\"_blank\" rel=\"noreferrer noopener\">documentation<\/a>.)<\/p>\n\n\n<div class=\"wp-block-cloudinary-markdown \"><div class=\"glitch-embed-wrap\" style=\"height: 420px; width: 100%;\">\n<iframe\nsrc=\"https:\/\/glitch.com\/embed\/#!\/embed\/cloudinary-canva-publishext-public?path=README.md&#038;previewSize=0\"\ntitle=\"cloudinary-canva-publishext-public on Glitch\"\nallow=\"geolocation; microphone; camera; midi; encrypted-media; xr-spatial-tracking; fullscreen\"\nallowFullScreen\nstyle=\"height: 100%; width: 100%; border: 0;\" loading=\"lazy\">\n<\/iframe>\n<\/div>\n<\/div>\n\n\n<p>In Glitch, create a <strong>.env<\/strong> file with 2 variables:&nbsp;<\/p>\n\n\n\n<p><strong>CANVA_CLIENT_SECRET<\/strong><\/p>\n\n\n\n<p>Your app must verify that any incoming HTTP requests originate from Canva. When a request can&#8217;t be verified, reject it with a 401 status code.<a href=\"https:\/\/docs.developer.canva.com\/apps\/backend-development\/verify-request\" target=\"_blank\" rel=\"noreferrer noopener\"> In the second stage, when your Canva app is created, you will <\/a><a href=\"https:\/\/docs.developer.canva.com\/apps\/backend-development\/verify-request\/client-secret\/regenerate-client-secret\">Generate Client Secret<\/a> and paste it here.<\/p>\n\n\n\n<p><strong>CLOUDINARY_URL<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/cloudinary.com\/documentation\/node_integration#setting_the_cloudinary_url_environment_variable\" target=\"_blank\" rel=\"noreferrer noopener\">Setting the CLOUDINARY_URL environment variable<\/a> You can configure the required cloud_name, api_key, and api_secret by defining the CLOUDINARY_URL environment variable. The CLOUDINARY_URL value is available on the Dashboard page of the Cloudinary Console.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img width=\"1024\" height=\"992\" data-public-id=\"canva3\/canva3.png\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/w_1024,h_992,c_scale\/f_auto,q_auto\/v1672854897\/canva3\/canva3.png?_i=AA\" alt=\"\" class=\"wp-post-26563 wp-image-26566\" data-format=\"png\" data-transformations=\"f_auto,q_auto\" data-version=\"1672854897\" data-seo=\"1\" srcset=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854897\/canva3\/canva3.png?_i=AA 1430w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854897\/canva3\/canva3.png?_i=AA 300w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854897\/canva3\/canva3.png?_i=AA 768w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854897\/canva3\/canva3.png?_i=AA 1024w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>You can use console.log for debugging purposes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How Publish Extensions work<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Endpoints<\/h4>\n\n\n\n<p>Canva expects REST API to implement find, get and upload endpoints. We implemented all 3 endpoints in our sample project, plus verification.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/docs.developer.canva.com\/apps\/server-api\/post-publish-resources-find\" target=\"_blank\" rel=\"noreferrer noopener\">\/publish\/resources\/find<\/a>&nbsp;&nbsp;<\/li>\n\n\n\n<li><a href=\"https:\/\/docs.developer.canva.com\/apps\/server-api\/post-publish-resources-get\" target=\"_blank\" rel=\"noreferrer noopener\">\/publish\/resources\/get<\/a>&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>Find and Get endpoints are using Cloudinary Admin API <a href=\"https:\/\/cloudinary.com\/documentation\/admin_api#get_subfolders\" target=\"_blank\" rel=\"noreferrer noopener\">get subfolders method<\/a>. If your organization has a large number of folders and subfolders you may need to improve our code and increase max_results and use next_cursor.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/docs.developer.canva.com\/apps\/server-api\/post-publish-resources-upload\" target=\"_blank\" rel=\"noreferrer noopener\">\/publish\/resources\/upload<\/a> endpoint using <a href=\"https:\/\/cloudinary.com\/documentation\/image_upload_api_reference#upload\" target=\"_blank\" rel=\"noreferrer noopener\">Cloudinary Upload API <\/a>and <a href=\"https:\/\/cloudinary.com\/documentation\/image_transformations#cloudinary_url_helper_method\" target=\"_blank\" rel=\"noreferrer noopener\">Cloudinary URL helper method<\/a> to upload and return optimized transformation URL to Canva end users.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-cloudinary-markdown \"><div class=\"glitch-embed-wrap\" style=\"height: 420px; width: 100%;\">\n<iframe\nsrc=\"https:\/\/glitch.com\/embed\/#!\/embed\/cloudinary-canva-publishext-public?path=README.md&#038;previewSize=0\"\ntitle=\"cloudinary-canva-publishext-public on Glitch\"\nallow=\"geolocation; microphone; camera; midi; encrypted-media; xr-spatial-tracking; fullscreen\"\nallowFullScreen\nstyle=\"height: 100%; width: 100%; border: 0;\" loading=\"lazy\">\n<\/iframe>\n<\/div>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">Stage 2 &#8211; Creating your Canva App<\/h3>\n\n\n\n<p>Canva makes developing apps easy and straightforward, for more information follow the <a href=\"https:\/\/docs.developer.canva.com\/apps\/\" target=\"_blank\" rel=\"noreferrer noopener\">Canva App Development Documentation<\/a>&nbsp;<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Log in to the Developer Portal.<\/li>\n\n\n\n<li>Create an app.<\/li>\n\n\n\n<li>Choose a way to distribute the app. Public or Team App. You can&#8217;t change a public app into a team app (or vice-versa), in this project we will use a <strong>Team App<\/strong> distribution App. For the most part, creating a team app is the same as creating a public app. The main difference is that Canva doesn\u2019t review team apps before they\u2019re released. Instead, an owner or administrator of the team must review the app. This gives the owners and administrators a chance to verify that the app meets their organization\u2019s guidelines. Choose extension type, an app can support multiple extensions, but only one extension of the same type. Each extension adds a distinct behavior to the app and requires a different sequence of steps to get it up and running. In our project, we will use <a href=\"https:\/\/docs.developer.canva.com\/apps\/extensions\/publish-extensions\" target=\"_blank\" rel=\"noreferrer noopener\">Publish Extension Type<\/a>.<\/li>\n\n\n\n<li>Develop the extension. We provide a sample project with all you need and implemented signature verification requirements to verify that requests received by the application are from Canva.<\/li>\n\n\n\n<li>Prepare for the app review, and verify that your app meets the required quality standards before submitting it for review. The review criteria for a team app are at the discretion of the team and the reviewer.<\/li>\n\n\n\n<li>Submit a team app for review to your team admin. Canva only gets involved when approving publicly available apps.<\/li>\n\n\n\n<li>Review and Approve your App.<\/li>\n\n\n\n<li>Release the app. For a Team app, Canva sends an email to the creator of the app and immediately makes the app available to members of the team.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Sample Publish Extension<\/h3>\n\n\n\n<p>To Create a Sample Publish Extension App using Cloudinary Node JS SDK&nbsp; please follow our simple steps or follow <a href=\"https:\/\/docs.developer.canva.com\/apps\/extensions\/publish-extensions\/quick-start\" target=\"_blank\" rel=\"noreferrer noopener\">Quick Start For Publish Extension&nbsp;<\/a><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Details<\/h4>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img width=\"1024\" height=\"959\" data-public-id=\"canva5\/canva5.png\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/w_1024,h_959,c_scale\/f_auto,q_auto\/v1672854900\/canva5\/canva5.png?_i=AA\" alt=\"\" class=\"wp-post-26563 wp-image-26568\" data-format=\"png\" data-transformations=\"f_auto,q_auto\" data-version=\"1672854900\" data-seo=\"1\" srcset=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854900\/canva5\/canva5.png?_i=AA 1536w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854900\/canva5\/canva5.png?_i=AA 300w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854900\/canva5\/canva5.png?_i=AA 768w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854900\/canva5\/canva5.png?_i=AA 1024w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Extensions<\/h4>\n\n\n\n<p>We provide a sample code that allows end users to select a folder within Cloudinary DAM to publish their design. That is why we select the \u201cNested list\u201d layout option. Point your Canva publish Extension to your Glitch project by setting the Base URL to your https:\/\/<strong>{{Project_name}}<\/strong>.glitch.me hostname created in stage 1.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img width=\"1024\" height=\"941\" data-public-id=\"canva6\/canva6.png\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/w_1024,h_941,c_scale\/f_auto,q_auto\/v1672854897\/canva6\/canva6.png?_i=AA\" alt=\"\" class=\"wp-post-26563 wp-image-26569\" data-format=\"png\" data-transformations=\"f_auto,q_auto\" data-version=\"1672854897\" data-seo=\"1\" srcset=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854897\/canva6\/canva6.png?_i=AA 1600w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854897\/canva6\/canva6.png?_i=AA 300w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854897\/canva6\/canva6.png?_i=AA 768w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854897\/canva6\/canva6.png?_i=AA 1024w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854897\/canva6\/canva6.png?_i=AA 1536w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Authentication<\/h4>\n\n\n\n<p>For that sample integration, we are going to hardcode Cloudinary authentication within our application. We will not provide user authentication since our assumption is that you will use this integration within your organization as a team app that points to your organization&#8217;s Cloudinary account. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img width=\"1024\" height=\"817\" data-public-id=\"canva7\/canva7.png\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/w_1024,h_817,c_scale\/f_auto,q_auto\/v1672854899\/canva7\/canva7.png?_i=AA\" alt=\"\" class=\"wp-post-26563 wp-image-26570\" data-format=\"png\" data-transformations=\"f_auto,q_auto\" data-version=\"1672854899\" data-seo=\"1\" srcset=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/canva7\/canva7.png?_i=AA 1592w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/canva7\/canva7.png?_i=AA 300w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/canva7\/canva7.png?_i=AA 768w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/canva7\/canva7.png?_i=AA 1024w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/canva7\/canva7.png?_i=AA 1536w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Verification<\/h4>\n\n\n\n<p>Signature verification is a security mechanism that verifies the authenticity of HTTP requests. Once set up, it guarantees that all requests received by an app originate from Canva and haven&#8217;t been tampered with. We implemented verification within our sample project. For more information please visit <a href=\"https:\/\/docs.developer.canva.com\/apps\/backend-development\/verify-request\" target=\"_blank\" rel=\"noreferrer noopener\">signature verification<\/a>. The <strong>Client secret<\/strong> created in this stage should be pasted into the .env file of your Glitch project &#8211; go back to Glitch and paste it there (CANVA_CLIENT_SECRET).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img width=\"881\" height=\"1024\" data-public-id=\"Canva8\/Canva8.png\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/w_881,h_1024,c_scale\/f_auto,q_auto\/v1672854899\/Canva8\/Canva8.png?_i=AA\" alt=\"\" class=\"wp-post-26563 wp-image-26571\" data-format=\"png\" data-transformations=\"f_auto,q_auto\" data-version=\"1672854899\" data-seo=\"1\" srcset=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/Canva8\/Canva8.png?_i=AA 1346w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/Canva8\/Canva8.png?_i=AA 258w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/Canva8\/Canva8.png?_i=AA 768w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/Canva8\/Canva8.png?_i=AA 881w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/Canva8\/Canva8.png?_i=AA 1322w\" sizes=\"auto, (max-width: 881px) 100vw, 881px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Preview and test your application<\/h4>\n\n\n\n<p>Click Preview and select the extension from the dropdown list. When a user publishes their design by clicking the extension&#8217;s <strong>Save<\/strong> button, Canva sends a POST request to the following endpoint: &lt;base_url&gt;\/publish\/resources\/upload. This endpoint uploads the user&#8217;s design to the Cloudinary server and responds with a URL that lets users view the published design. We added f_auto, and q_auto within our implementation to deliver optimized media.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img width=\"1024\" height=\"610\" data-public-id=\"canva9\/canva9.png\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/w_1024,h_610,c_scale\/f_auto,q_auto\/v1672854898\/canva9\/canva9.png?_i=AA\" alt=\"\" class=\"wp-post-26563 wp-image-26567\" data-format=\"png\" data-transformations=\"f_auto,q_auto\" data-version=\"1672854898\" data-seo=\"1\" srcset=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854898\/canva9\/canva9.png?_i=AA 1600w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854898\/canva9\/canva9.png?_i=AA 300w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854898\/canva9\/canva9.png?_i=AA 768w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854898\/canva9\/canva9.png?_i=AA 1024w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854898\/canva9\/canva9.png?_i=AA 1536w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img width=\"1024\" height=\"860\" data-public-id=\"canva11\/canva11.png\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/w_1024,h_860,c_scale\/f_auto,q_auto\/v1672854899\/canva11\/canva11.png?_i=AA\" alt=\"\" class=\"wp-post-26563 wp-image-26572\" data-format=\"png\" data-transformations=\"f_auto,q_auto\" data-version=\"1672854899\" data-seo=\"1\" srcset=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/canva11\/canva11.png?_i=AA 1600w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/canva11\/canva11.png?_i=AA 300w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/canva11\/canva11.png?_i=AA 768w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/canva11\/canva11.png?_i=AA 1024w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/canva11\/canva11.png?_i=AA 1536w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large is-resized\"><img width=\"1024\" height=\"905\" data-public-id=\"canva12\/canva12.png\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/w_1024,h_905,c_scale\/f_auto,q_auto\/v1672854899\/canva12\/canva12.png?_i=AA\" alt=\"\" class=\"wp-post-26563 wp-image-26573\" data-format=\"png\" data-transformations=\"f_auto,q_auto\" data-version=\"1672854899\" data-seo=\"1\" srcset=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/canva12\/canva12.png?_i=AA 1534w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/canva12\/canva12.png?_i=AA 300w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/canva12\/canva12.png?_i=AA 768w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/canva12\/canva12.png?_i=AA 1024w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Submission<\/h4>\n\n\n\n<p>Once you&#8217;ve developed an app, the next step is to submit it for review. A <a href=\"https:\/\/docs.developer.canva.com\/apps\/platform-concepts\/apps\/team-apps\" target=\"_blank\" rel=\"noreferrer noopener\"><em>team app<\/em><\/a> is an app that can only be made available to members of a specific team. This is in contrast to public apps, which can be made available to all of Canva\u2019s users.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img width=\"979\" height=\"1024\" data-public-id=\"canva13\/canva13.png\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/w_979,h_1024,c_scale\/f_auto,q_auto\/v1672854899\/canva13\/canva13.png?_i=AA\" alt=\"\" class=\"wp-post-26563 wp-image-26575\" data-format=\"png\" data-transformations=\"f_auto,q_auto\" data-version=\"1672854899\" data-seo=\"1\" srcset=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/canva13\/canva13.png?_i=AA 1480w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/canva13\/canva13.png?_i=AA 287w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/canva13\/canva13.png?_i=AA 768w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/canva13\/canva13.png?_i=AA 979w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/canva13\/canva13.png?_i=AA 1469w\" sizes=\"auto, (max-width: 979px) 100vw, 979px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img width=\"1024\" height=\"768\" data-public-id=\"canva14\/canva14.png\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/w_1024,h_768,c_scale\/f_auto,q_auto\/v1672854900\/canva14\/canva14.png?_i=AA\" alt=\"\" class=\"wp-post-26563 wp-image-26574\" data-format=\"png\" data-transformations=\"f_auto,q_auto\" data-version=\"1672854900\" data-seo=\"1\" srcset=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854900\/canva14\/canva14.png?_i=AA 1326w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854900\/canva14\/canva14.png?_i=AA 300w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854900\/canva14\/canva14.png?_i=AA 768w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854900\/canva14\/canva14.png?_i=AA 1024w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Team Apps Application Approval&nbsp;<\/h4>\n\n\n\n<p>Team app administrators can approve or reject an application. The developer can modify and submit a new version for review.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img width=\"1024\" height=\"585\" data-public-id=\"Canva15\/Canva15.png\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/w_1024,h_585,c_scale\/f_auto,q_auto\/v1672854899\/Canva15\/Canva15.png?_i=AA\" alt=\"\" class=\"wp-post-26563 wp-image-26576\" data-format=\"png\" data-transformations=\"f_auto,q_auto\" data-version=\"1672854899\" data-seo=\"1\" srcset=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/Canva15\/Canva15.png?_i=AA 1600w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/Canva15\/Canva15.png?_i=AA 300w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/Canva15\/Canva15.png?_i=AA 768w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/Canva15\/Canva15.png?_i=AA 1024w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1672854899\/Canva15\/Canva15.png?_i=AA 1536w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>With your added Cloudinary Canva Publish Extension you bridge the gap between Canva and Cloudinary platforms allowing your designs to publish their creatives to Cloudinary. Cloudinary will transcode those assets to the most efficient format based on the content and viewing context and adjust the quality based on the most optimal compression without visual degradation.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Canva is an Australian graphic design platform used to create social media graphics, presentations, posters, documents, logos, and other visual content. Over 75 million people use Canva monthly to unlock their creativity and achieve their goals. Canva Publish Extension A Canva Publish Extension adds a publish destination to Canva. This destination appears in the Publish [&hellip;]<\/p>\n","protected":false},"author":54,"featured_media":26687,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_cloudinary_featured_overwrite":false,"footnotes":""},"categories":[1],"tags":[25],"class_list":["post-26563","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-asset-management"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.6 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Create Content Using Canva then Publish it to Cloudinary<\/title>\n<meta name=\"description\" content=\"The Cloudinary Canva Publish Extension allows your Canva designs to be published to your Cloudinary account.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Create Content Using Canva then Publish it to Cloudinary\" \/>\n<meta property=\"og:description\" content=\"The Cloudinary Canva Publish Extension allows your Canva designs to be published to your Cloudinary account.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary\" \/>\n<meta property=\"og:site_name\" content=\"Cloudinary Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-01-25T16:30:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-07-25T18:31:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/v1673484543\/blog-canva\/blog-canva-jpg?_i=AA\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"1100\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"NewsArticle\",\"@id\":\"https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary#article\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"Create Content Using Canva then Publish it to Cloudinary\",\"datePublished\":\"2023-01-25T16:30:53+00:00\",\"dateModified\":\"2023-07-25T18:31:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary\"},\"wordCount\":1363,\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1673484543\/blog-canva\/blog-canva.jpg?_i=AA\",\"keywords\":[\"Asset Management\"],\"inLanguage\":\"en-US\",\"copyrightYear\":\"2023\",\"copyrightHolder\":{\"@id\":\"https:\/\/cloudinary.com\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary\",\"url\":\"https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary\",\"name\":\"Create Content Using Canva then Publish it to Cloudinary\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1673484543\/blog-canva\/blog-canva.jpg?_i=AA\",\"datePublished\":\"2023-01-25T16:30:53+00:00\",\"dateModified\":\"2023-07-25T18:31:40+00:00\",\"description\":\"The Cloudinary Canva Publish Extension allows your Canva designs to be published to your Cloudinary account.\",\"breadcrumb\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary#primaryimage\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1673484543\/blog-canva\/blog-canva.jpg?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1673484543\/blog-canva\/blog-canva.jpg?_i=AA\",\"width\":2000,\"height\":1100},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudinary.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create Content Using Canva then Publish it to Cloudinary\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"name\":\"Cloudinary Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cloudinary.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\",\"name\":\"Cloudinary Blog\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"width\":312,\"height\":60,\"caption\":\"Cloudinary Blog\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Create Content Using Canva then Publish it to Cloudinary","description":"The Cloudinary Canva Publish Extension allows your Canva designs to be published to your Cloudinary account.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary","og_locale":"en_US","og_type":"article","og_title":"Create Content Using Canva then Publish it to Cloudinary","og_description":"The Cloudinary Canva Publish Extension allows your Canva designs to be published to your Cloudinary account.","og_url":"https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary","og_site_name":"Cloudinary Blog","article_published_time":"2023-01-25T16:30:53+00:00","article_modified_time":"2023-07-25T18:31:40+00:00","og_image":[{"width":2000,"height":1100,"url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/v1673484543\/blog-canva\/blog-canva-jpg?_i=AA","type":"image\/jpeg"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary#article","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary"},"author":{"name":"","@id":""},"headline":"Create Content Using Canva then Publish it to Cloudinary","datePublished":"2023-01-25T16:30:53+00:00","dateModified":"2023-07-25T18:31:40+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary"},"wordCount":1363,"publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1673484543\/blog-canva\/blog-canva.jpg?_i=AA","keywords":["Asset Management"],"inLanguage":"en-US","copyrightYear":"2023","copyrightHolder":{"@id":"https:\/\/cloudinary.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary","url":"https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary","name":"Create Content Using Canva then Publish it to Cloudinary","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary#primaryimage"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1673484543\/blog-canva\/blog-canva.jpg?_i=AA","datePublished":"2023-01-25T16:30:53+00:00","dateModified":"2023-07-25T18:31:40+00:00","description":"The Cloudinary Canva Publish Extension allows your Canva designs to be published to your Cloudinary account.","breadcrumb":{"@id":"https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary#primaryimage","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1673484543\/blog-canva\/blog-canva.jpg?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1673484543\/blog-canva\/blog-canva.jpg?_i=AA","width":2000,"height":1100},{"@type":"BreadcrumbList","@id":"https:\/\/cloudinary.com\/blog\/create-content-using-canva-then-publish-it-to-cloudinary#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudinary.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Create Content Using Canva then Publish it to Cloudinary"}]},{"@type":"WebSite","@id":"https:\/\/cloudinary.com\/blog\/#website","url":"https:\/\/cloudinary.com\/blog\/","name":"Cloudinary Blog","description":"","publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cloudinary.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/cloudinary.com\/blog\/#organization","name":"Cloudinary Blog","url":"https:\/\/cloudinary.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","width":312,"height":60,"caption":"Cloudinary Blog"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":""}]}},"jetpack_featured_media_url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1673484543\/blog-canva\/blog-canva.jpg?_i=AA","_links":{"self":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/26563","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/users\/54"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/comments?post=26563"}],"version-history":[{"count":16,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/26563\/revisions"}],"predecessor-version":[{"id":30537,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/26563\/revisions\/30537"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media\/26687"}],"wp:attachment":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media?parent=26563"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/categories?post=26563"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/tags?post=26563"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}