API
Access Shortodella AI generation, screenshots, and search via API. All endpoints require an API key.
API Keys
Endpoints
All endpoints require Authorization: Bearer sk_... header
/v1/runAI agent — natural language commands/v1/generate/imageGenerate image from prompt/v1/generate/videoGenerate video from prompt/v1/tasks/:task_idPoll async task status/v1/assets/searchSearch assets/v1/assets/:uidGet asset details/v1/screenshot/websiteScreenshot a website/v1/extract/brandExtract brand style/v1/describeDescribe image with AI/v1/merge/videosMerge video assets/v1/energyCheck energy balance/v1/aboutAPI info for AI agentsRun
General-purpose AI agent. Send a natural language command and get text + generated assets back.
POST https://api.shortodella.com/v1/run
Parameters
promptNatural language command (required)imagesAsset UIDs to attach as contextimage_modelnanobanana (default) | grok | gpt-image-1video_modelkling (default) | grok | veosize1024x1024 (default)Response (202)
{
"task_id": "task_abc123",
"status": "processing",
"poll_url": "/api/v1/tasks/task_abc123"
}Example
curl -X POST "https://api.shortodella.com/v1/run" \
-H "Authorization: Bearer sk_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt": "generate a logo for a coffee shop called Bean & Brew"}'Poll result
{
"task_id": "task_abc123",
"status": "completed",
"result": {
"message": "I've generated a logo for Bean & Brew.",
"assets": [
{ "uid": "png_xyz", "type": "png", "url": "https://...", "width": 1024, "height": 1024 }
]
}
}Generate
Generate AI images and videos from text prompts. Images are synchronous, videos are async.
Image
POST https://api.shortodella.com/v1/generate/image
Parameters
promptText prompt (required)modelnanobanana (default) | grok | gpt-image-1size1024x1024 | 1248x832 | 832x1248Response
{
"asset_uid": "png_a1b2c3",
"status": "completed",
"url": "https://...",
"width": 1024,
"height": 1024
}Example
curl -X POST "https://api.shortodella.com/v1/generate/image" \
-H "Authorization: Bearer sk_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt": "a cat astronaut floating in space", "model": "nanobanana"}'Video
Async — returns a task_id. Poll /v1/tasks/:task_id until complete.
POST https://api.shortodella.com/v1/generate/video
Parameters
promptText prompt (required)modelgrok | kling (default) | veoduration3-15 seconds (default 5)aspect_ratio16:9 (default) | 9:16 | 1:1 | 4:3 | 3:4Response (202)
{
"task_id": "task_xyz789",
"status": "processing",
"poll_url": "/api/v1/tasks/task_xyz789",
"estimated_seconds": 120
}Check status
GET https://api.shortodella.com/v1/tasks/:task_id
Poll every 3-5 seconds until status is completed or failed.
{
"task_id": "task_xyz789",
"status": "completed",
"progress": 100,
"result": {
"asset_uid": "video_abc",
"url": "https://...",
"width": 1920,
"height": 1080,
"duration": 5
}
}Search
GET https://api.shortodella.com/v1/assets/search
Parameters
qSearch query (required)collectionFilter by collectionlimit1-50 (default 12)Example
curl "https://api.shortodella.com/v1/assets/search?q=sunset&limit=5" \
-H "Authorization: Bearer sk_YOUR_KEY"Asset
GET https://api.shortodella.com/v1/assets/:uid
Returns asset metadata with a presigned download URL valid for 7 days.
{
"uid": "png_a1b2c3",
"title": "Cat in space",
"url": "https://...",
"width": 1024,
"height": 1024,
"media_type": "png"
}Screenshots
POST https://api.shortodella.com/v1/screenshot/website
Parameters
urlWebsite URL (required)viewportdesktop (default) | mobilecount1-5 screenshots (default 1)Example
curl -X POST "https://api.shortodella.com/v1/screenshot/website" \
-H "Authorization: Bearer sk_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://stripe.com", "viewport": "desktop"}'Async — poll /v1/tasks/:task_id for result. Energy cost: 1.
Brand Extraction
POST https://api.shortodella.com/v1/extract/brand
Extracts logo, colors, fonts, and theme from a website. Async — poll for result. Energy cost: 1.
Parameters
urlWebsite URL (required)Result
{
"success": true,
"colors": ["#1a1a2e", "#e94560", "#0f3460"],
"fonts": { "heading": "Inter", "body": "Inter" },
"logo": { "type": "svg", "url": "https://..." },
"site_theme": { "is_dark": false }
}Energy Costs
GET https://api.shortodella.com/v1/energy
{
"total": 91.7,
"permanent": 91.7,
"subscription": 0,
"daily_bonus": 0,
"subscription_plan": null
}