--- name: video version: 3.3.1 description: | AI video generation: text-to-video, image-to-video, video-to-video, model selection. Use when generating a short video clip from a prompt or reference (e.g. 5s clip of a cat in rain, animate this photo, restyle this video). metadata: starchild: emoji: "๐ŸŽฌ" skillKey: video requires: env: [FAL_KEY] user-invocable: true disable-model-invocation: false --- # video Use this skill for **all video-generation requests** on Starchild. **Core principle:** call the provided scripts. Do not re-implement proxy/billing/upload plumbing. --- ## 1. Text-to-video (most common) ```python exec(open('skills/video/generate_video.py').read()) result = generate_video( prompt="A cinematic drone shot over snowy mountains at sunrise", model="balanced", # "budget" | "balanced" | "premium" duration=5, ) # result -> {"success": True, "cost": 0.70, "video_url": "...", "local_path": "output/videos/..."} ``` `generate_video` automatically: submits โ†’ polls โ†’ fetches result โ†’ downloads mp4 to `output/videos/`. ### Delivering the result to the user โ€” IMPORTANT **Never hand the user the raw `video_url` (e.g. `https://*.fal.media/.../*.mp4`).** fal serves these files with `Content-Security-Policy: sandbox; default-src 'none'`, which means: - Opening the link in a browser shows a **blank page** (no inline player triggered). - Embedding via `