Generate images
/api/v1/imagesGenerate one to four images from a prompt. Deducts credits (see Credit costs) and saves each result to your generation history.
Body
json — json{"prompt": "a neon dragon over Tokyo", // required"model": "nano-banana", // optional, default nano-banana"ratio": "16:9", // 1:1 | 16:9 | 9:16 | 4:5 | 3:2 | 2:3"count": 1, // 1 to 4"image_urls": [] // required for edit models}
Response
json — json{"images": [{ "url": "https://….jpg", "id": "uuid" }],"model": "nano-banana","credits_spent": 6,"credits_remaining": 994}
Edit models (nano-banana-edit, flux-kontext-pro) require at least one URL in image_urls.
Generate video
/api/v1/videosVideo generation is asynchronous. Submitting returns a job id and a poll URL; the credits are charged up front and automatically refunded if the render fails.
Body
json — json{"prompt": "a drone shot over a neon city at night", // required"model": "kling-2.5-turbo", // kling-3-pro, seedance-2.0, veo-3, wan-pro, ltx-2.3-fast, …"ratio": "9:16","duration": 5,"image_url": "https://….jpg", // optional first frame (image-to-video)"image_mode": "first-frame"}
Response (202)
json — json{ "id": "uuid", "status": "pending", "credits_spent": 28, "poll": "/api/v1/videos/uuid" }
/api/v1/videos/{id}Poll every few seconds until status is done (with a url) or error.
bash — bashcurl https://intentos.eu/api/v1/videos/uuid -H "Authorization: Bearer sk_live_…"# { "id": "uuid", "status": "done", "url": "https://….mp4" }
Upscale & remove background
/api/v1/upscale4× upscale an image. Cost: 5 credits. Body: { "image_url": "https://…" } → { "url", "credits_spent", "credits_remaining" }.
/api/v1/remove-bgRemove the background (transparent PNG). Cost: 3 credits. Same body and response shape as upscale.
Text to speech
/api/v1/voiceSynthesize speech with your own ElevenLabs voice. Because it uses your own key (configure it in Settings), it does not spend IntentOS credits. Returns audio/mpeg.
bash — bashcurl -X POST https://intentos.eu/api/v1/voice \-H "Authorization: Bearer sk_live_…" -H "Content-Type: application/json" \-d '{ "text": "Hello from IntentOS" }' --output speech.mp3
Get credits
/api/v1/creditsReturns your current balance and plan.
json — json{ "credits": 992, "plan": "pro", "credit_value_eur": 0.05 }
List generations
/api/v1/generations?type=image&limit=20Lists your recent generations, newest first. type is image (default) or video; limit is 1 to 100.
json — json{"type": "image","generations": [{ "id": "uuid", "prompt": "…", "model": "nano-banana","ratio": "1:1", "url": "https://….jpg", "created_at": "…" }]}
Skills marketplace
/api/v1/skills?q=ads&category=ads&sort=popular&limit=20Search published, reviewed skills. sort is newest (default), popular or name. Categories: image video ads carousels shorts branding research voice automation other.
/api/v1/skills/:slugReturns one skill with its full instructions and a ready-to-save file (SKILL.md with frontmatter). Counts as an install for your account.
json — json{"slug": "product-ad-set","name": "Product ad set","version": "1.0.0","creator": "IntentOS","instructions": "# What this skill does…","filename": "product-ad-set/SKILL.md","file": "---name: product-ad-set…"}