What happened
Canva’s October 28, 2026 developer post describes using its first-party image-generation model, CRAFT-1 2K, through the Canva Image generation API. The model identifier is craft_v1_2k. An app sends a text prompt and selects Craft; the resulting image can be used in the app or saved to the authorizing user’s Canva account. Canva calls the API a preview and warns it may change without notice. Apps using it cannot pass public-app review or be made available to all Canva users.
The API uses an asynchronous job workflow. After creating and configuring a REST API app in Canva’s Developer Portal, a developer selects the asset:write scope and obtains user authorization through OAuth. The user must have the image_generation capability, which the app can check through Canva’s Get user capabilities endpoint. The app submits a generation job with a required prompt and idempotency key, then polls the job until completion. A new UUID is required for each generation attempt: reusing a key within 24 hours returns the original job, even if it failed. Without an asset_upload option, the completed job returns a download URL. With asset_upload set to upload, it returns both the URL and an image asset in the user’s Canva account. The completed job and download URL are available for 24 hours.
Canva says each generation consumes part of the user’s AI credit allowance. Its examples position Craft for infographics, posters, slides, portraits, abstract art and patterns, landscapes, product imagery, and marketing materials. The company describes a two-stage architecture in which the model plans a composition before rendering. Canva says this improves precision, consistency, and control for complex layouts, object placement, visual relationships, and text in an image; it also cautions that results vary by prompt and recommends testing the styles, layouts, and subjects an app needs to support.
The post also describes an optional image-to-design import path. It accepts an image asset already saved in Canva, not the generation URL or a raw image file. Developers must first generate with asset_upload, then use the import endpoint with the additional design:content:write scope. The user needs the image_to_design_imports capability, which requires Canva AI and Magic Layers to be enabled by the user’s administrator. This import API is also in preview and uses additional AI credits.
What the archive adds
This is a developer-facing follow-on to Canva’s Craft launch, which covered the model’s Dream Lab and API availability. The new fact here is the documented preview integration workflow, including OAuth, capabilities, credit use, job polling, and restrictions—not a new model launch.
Trend signal
The API supports the pattern that generative media is becoming application infrastructure: generative media becomes application infrastructure. Canva is exposing image generation as a callable workflow that an app can compose with its own user experience, rather than only as a standalone creative interface. The preview constraints show that this boundary is not yet equivalent to unrestricted production availability.
Why now
Canva’s developer post arrives after the Craft launch and supplies implementation details for teams that want to build with the model. The timing supports a move from announcing image-generation capability to documenting how developers can test it, while Canva still labels the API preview and limits public-app distribution.
Why it matters
For a product team, the main change is that image generation can be inserted into an existing workflow while keeping the generated asset connected to a user’s Canva account. The asynchronous job model, OAuth authorization, and explicit capability checks make the integration shape concrete. Teams can prototype a campaign-asset tool, presentation workflow, or creative assistant without treating generation as a separate destination users must visit.
The limits matter as much as the capability. Each generation draws on the user’s AI credits, access depends on their Canva capabilities, and preview apps cannot be publicly distributed to all Canva users. A product plan therefore needs to account for user eligibility, credit consumption, and the possibility that the API changes. The optional editable-design path adds separate permissions and capabilities, so a generated image is not automatically an editable Canva design.
Limits and uncertainty
The source does not specify a monetary price per generation, a general availability date, throughput limits, or a service-level commitment. It does not establish that every Canva user has the required image-generation capability, nor that results will consistently meet a particular quality bar: Canva explicitly says results vary by prompt. The two-stage composition process and its claimed benefits are Canva’s description, not an independent evaluation. Because the API is preview, its behavior and availability may change.
Skill to build now
Prototype the full authorization-to-result path before designing around Craft: request OAuth access, check image_generation, create a job with a fresh UUID, poll for completion, and test both download-only and asset_upload results. Track how many user AI credits representative prompts consume, and verify the 24-hour result window. If editable Canva designs are required, test the separate import flow and its additional scope and user capability rather than assuming an image URL is sufficient.
Reader takeaway
Craft is now usable inside developer-built experiences through a documented Canva API workflow, but the current offer is a preview tied to user authorization and AI credits. Treat it as a prototyping surface until Canva clarifies availability and the restrictions that currently prevent public-app distribution.