RivermarkRivermark
API reference

POST /design

Perform an agentic design task.

Performs an agentic design task and returns the rendered frames and a persistent design ID. The returned design ID can be used in a subsequent /design call as a reference or continue_from ID.

Endpoint
POST https://api.rivermark.ai/design

Request body

Full example
{
  "task": "Create an Instagram story for the summer sale. Headline: 'Summer sale — 30% off everything'. Subline: 'This weekend only.'",
  "user_prompt": "make it feel sunny",
  "references": [
    { "type": "design", "id": "rmd_cj4hbqz4f0005mz6x7p9q2xr" },
    { "type": "file", "id": "rmf_cj4hbqz9x0001v2x8n6tqz7e" }
  ],
  "output": [
    { "id": "instagram_story_1", "size": "1080x1920" },
    { "id": "instagram_story_2", "size": "1080x1920" }
  ],
  "creativity": 1,
  "continue_from": null,
  "image_source": "ai",
  "allow_fetch": false,
  "auto_review": true
}

Parameters

Prop

Type

Output entries

Each entry in the output array:

Prop

Type

Response

200 OK
{
  "design_id": "rmd_cj4hbqz2w0003mz6x7p9q2xe",
  "output": [
    {
      "id": "instagram_story_1",
      "url": "https://cdn.rivermark.ai/rmd_cj4hbqz2w0003mz6x7p9q2xe/k3f8qz1w/instagram_story_1.png",
      "format": "png",
      "width": 1080,
      "height": 1920
    },
    {
      "id": "instagram_story_2",
      "url": "https://cdn.rivermark.ai/rmd_cj4hbqz2w0003mz6x7p9q2xe/k3f8qz1w/instagram_story_2.png",
      "format": "png",
      "width": 1080,
      "height": 1920
    }
  ],
  "change_summary": "Created two Instagram story options for the summer sale",
  "change_description": "Both options use the brand kit's Oat background with Roast typography; option 1 leads with a photo, option 2 with a typographic treatment. Verified safe zones and legibility.",
  "changes": [
    {
      "kind": "created",
      "path": "frames/instagram_story_1.html",
      "url": "https://cdn.rivermark.ai/rmd_cj4hbqz2w0003mz6x7p9q2xe/k3f8qz1w/source/instagram_story_1.html"
    },
    {
      "kind": "created",
      "path": "frames/instagram_story_2.html",
      "url": "https://cdn.rivermark.ai/rmd_cj4hbqz2w0003mz6x7p9q2xe/k3f8qz1w/source/instagram_story_2.html"
    },
    {
      "kind": "image",
      "path": "assets/hero.png",
      "url": "https://cdn.rivermark.ai/rmd_cj4hbqz2w0003mz6x7p9q2xe/k3f8qz1w/source/assets/hero.png"
    }
  ],
  "cost": 0.104
}

Prop

Type

Change entries

Prop

Type

Streaming

Add ?stream=true to receive SSE events: progress, preview, and a terminal completed (or error) with the same payload as above. See Streaming.

Example tasks

Create an Instagram post from the provided brand kit with the following
text: '…'

Resize the provided design to Instagram story and LinkedIn post sizes

Based on the provided carousel template, create a short explainer
carousel for the referenced blog post.

Create 6 ad creative ideas for the user's brand based on the provided
best-selling product list.

On this page