Nimply Developers
API ReferenceDesigns

Create a design from a prompt

POST
/v1/designs/generate

Starts a Composer run that makes a new, editable design (one per size) in the workspace and spends AI credits (only what the run really uses, never more than creditsReserved). Returns 202 with a design job; poll GET /v1/design-jobs/{id}?wait=25 until done. About 1–3 minutes per size. Paid plans and trials only.

AuthorizationBearer <token>

Workspace API key (nim_live_...)

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/v1/designs/generate" \  -H "Content-Type: application/json" \  -d '{    "prompt": "Instagram post announcing our summer sale: 20% off all cold brew, 1–15 July."  }'
{  "id": "6a1f8c0e-2d3b-4c5a-8e9f-0a1b2c3d4e5f",  "kind": "generate",  "status": "running",  "progress": 40,  "stage": "Designing Instagram post (4:5)",  "creditsReserved": 290,  "creditsCharged": 140,  "estimatedSeconds": 90,  "designs": [    {      "id": "0d9c3a52-7b1e-4f7a-9d55-3f4b2a1c9e10",      "name": "Summer sale",      "width": 1080,      "height": 1350,      "pageCount": 1,      "sizePreset": "ig-post-45",      "editUrl": "https://app.nimply.io/workspace/8b2e5821-…/studio/design/0d9c3a52-…",      "previewUrls": [        "string"      ],      "thumbnailUrl": "string",      "createdAt": "2026-10-21T09:00:00.000Z",      "brandMatch": 82,      "styleVersion": 3    }  ],  "error": {    "code": "GENERATION_FAILED",    "message": "The design could not be made."  },  "createdAt": "2026-10-21T09:00:00.000Z",  "finishedAt": "string"}
Empty
Empty
Empty
Empty
Empty