Generation
LiveCreate images, animate stills, extend videos, and generate illustrated storybooks. Seven capabilities callable today.
Live Capabilities
| Slug | What it does |
|---|---|
| image:generate | Generate an image from a text prompt |
| image:edit | Edit an image with a text instruction and optional mask |
| image:upscale | Upscale an image 2× or 4× |
| image:background-remove | Remove the background from an image |
| video:image-to-video | Animate a still image into a short video clip |
| video:extend | Extend an existing video clip |
| storybook:from-image | Generate an illustrated storybook from an image |
Quick Start — JavaScript SDK
import { WhizuraiClient } from '@whizurai/sdk-js'
const client = new WhizuraiClient({ apiKey: process.env.WHIZURAI_API_KEY })
// Kick off an async run — returns immediately with a runId
const run = await client.capabilities.run('image:generate', {
prompt: 'A golden retriever on a surfboard at sunset',
size: '1024x1024',
})
console.log(run.id) // poll GET /v1/workflow-runs/:id for statusQuick Start — cURL
curl -X POST https://api.whizur.ai/v1/capabilities/image:generate/execute \
-H "X-API-Key: cw_dev_..." \
-H "Content-Type: application/json" \
-d '{
"input": {
"prompt": "A golden retriever on a surfboard at sunset",
"size": "1024x1024"
}
}'Response (202 Accepted):
{
"workflowRunId": "run_abc123",
"status": "queued"
}Poll GET /v1/workflow-runs/run_abc123 until status === "completed", then fetch artifacts via GET /v1/workflow-runs/run_abc123/artifacts.
Input / Output Shapes
image:generate
Input
{
"prompt": string, // required — text description
"size"?: "1024x1024" | "2048x2048",
"quality"?: "standard" | "hd"
}Output artifact
{ "type": "image.png", "url": "https://..." }image:edit
Input
{
"imageUrl": string, // required — source image URL
"prompt": string, // required — edit instruction
"mask"?: string, // optional — mask image URL
"size"?: "1024x1024" | "1024x1792" | "1792x1024"
}Output artifact
{ "type": "image.png", "url": "https://..." }image:upscale
Input
{
"imageUrl": string, // required — source image URL
"scale"?: 2 | 4 // default: 2
}Output artifact
{ "type": "image.png", "url": "https://...", "width": number, "height": number }image:background-remove
Input
{
"imageUrl": string, // required — source image URL
"outputMask"?: boolean // default: false
}Output artifact
{ "type": "image.png", "url": "https://...", "hasTransparency": true }video:image-to-video
Input
{
"imageUrl": string, // required — source still image URL
"prompt"?: string, // optional — motion description
"duration"?: number // seconds, default: 5
}Output artifact
{ "type": "video.mp4", "url": "https://...", "durationSeconds": number }video:extend
Input
{
"videoUrl": string, // required — source video URL
"duration"?: number // extra seconds to add, default: 4
}Output artifact
{ "type": "video.mp4", "url": "https://...", "durationSeconds": number }storybook:from-image
Input
{
"imageUrl": string, // required — seed image URL
"pages"?: number // default: 5
}Output artifact
{ "type": "storybook.json", "pages": [{ "imageUrl": string, "text": string }] }How Runs Work
All generation runs are async. POST /v1/capabilities/:slug/execute returns a workflowRunId immediately. Poll GET /v1/workflow-runs/:id until status is completed or failed, then retrieve artifacts from GET /v1/workflow-runs/:id/artifacts.