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.
POST https://api.rivermark.ai/designRequest body
{
"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
{
"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.
