design_generation

<Warning>

This API is currently provided as a preview. Be aware of the following:

  • There might be unannounced breaking changes.
  • Any breaking changes to preview APIs won't produce a new API version.
  • Public integrations that use preview APIs will not pass the review process, and can't be made available to all Canva users.
</Warning>

Starts a new asynchronous job to generate a Canva design from a text brief. A successful job includes metadata for the generated design, which is saved to the user's Canva account.

You can generate a document or presentation. For presentations, you can also provide an outline of the slides to generate.

Requires the design_generation capability. You can check whether the user has this capability using the Get user capabilities API.

Starting a job consumes the user's AI credit allowance. If the user has reached their AI allowance limit, the request returns a 429 error with the credit_quota_exceeded code. Polling for the result of a job doesn't consume any of the allowance.

<Note>

For more information on the workflow for using asynchronous jobs, see API requests and responses. You can check the status and get the results of jobs created with this API using the Get design generation job v2 API.

</Note>
post/v1/generations

Request body

briefstring required

A description of the design to generate, including its subject, purpose, required wording, tone, and visual direction.

Example request

{
  "brief": "A 3-slide pitch deck for a solar-panel startup with an energetic, modern, blue-and-white visual direction.",
  "outline": {
    "sections": [
      {
        "title": "The problem",
        "description": "Rooftop solar installations still take more than six weeks to quote."
      }
    ]
  }
}

Response

OK

Example response

{
  "job": {
    "id": "f81b26fd-a33d-4c2d-9e8c-4a7aca798b17",
    "result": {
      "design": {
        "id": "DAFVztcvd9z",
        "title": "My summer holiday",
        "url": "https://www.canva.com/design/DAFVztcvd9z/edit",
        "thumbnail": {
          "width": 595,
          "height": 335,
          "url": "https://document-export.canva.com/Vczz9/zF9vzVtdADc/2/thumbnail/0001.png?<query-string>"
        },
        "urls": {
          "edit_url": "https://www.canva.com/api/design/eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIiwiZXhwaXJ5IjoxNzQyMDk5NDAzMDc5fQ..GKLx2hrJa3wSSDKQ.hk3HA59qJyxehR-ejzt2DThBW0cbRdMBz7Fb5uCpwD-4o485pCf4kcXt_ypUYX0qMHVeZ131YvfwGPIhbk-C245D8c12IIJSDbZUZTS7WiCOJZQ.sNz3mPSQxsETBvl_-upMYA/edit",
          "view_url": "https://www.canva.com/api/design/eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIiwiZXhwaXJ5IjoxNzQyMDk5NDAzMDc5fQ..GKLx2hrJa3wSSDKQ.hk3HA59qJyxehR-ejzt2DThBW0cbRdMBz7Fb5uCpwD-4o485pCf4kcXt_ypUYX0qMHVeZ131YvfwGPIhbk-C245D8c12IIJSDbZUZTS7WiCOJZQ.sNz3mPSQxsETBvl_-upMYA/view"
        },
        "created_at": 1377396000,
        "updated_at": 1692928800,
        "page_count": 3
      }
    }
  }
}

Changes

Changed in 2 of the 16 revisions of this API.21