{"repo": "bigsk1/jarvis-voice", "files": {"skills/generate_video.tool.json": {"dab7d61d44422b0b96bbd1c4e417683efa9d5185": {"t": 1785846891.6232915, "n": 4041, "h": "c64d963f2cc832bb", "c": "{\n \"enabled\": true,\n \"name\": \"generate_video\",\n \"description\": \"Generate AI videos with xAI Grok, Google Gemini, or OpenAI Sora. Create videos from text prompts or images. Use when user says 'generate a video', 'create a video', 'make a video animation', 'animate this'. PROVIDERS: xAI Grok (default, 1-15s), OpenAI Sora (4-12s, audio), Google Gemini (Veo default: 4-8s and up to 4K; Omni Flash opt-in: 3-10s and 720p). Videos save to stash for use with other tools.\",\n \"script\": \"generate_video.py\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"prompt\": {\n \"type\": \"string\",\n \"description\": \"Detailed description of the video. Be specific about subject, action, movement, style, mood. For audio: Use quotes for dialogue like 'Hello!' and describe sounds. Example: 'A cat playing with a ball, slow motion, cinematic lighting'\"\n },\n \"provider\": {\n \"type\": \"string\",\n \"enum\": [\n \"xai\",\n \"gemini\",\n \"openai\"\n ],\n \"description\": \"Video provider: 'xai' (default, Grok - 1-15s), 'openai' (Sora 2 - 4-12s, audio, remix), 'gemini' (Veo 3.1 by default; Omni Flash when configured). If not specified, uses VIDEO_TOOL_PROVIDER from config.\"\n },\n \"duration\": {\n \"type\": \"integer\",\n \"description\": \"Video duration in seconds. xAI: 1-15s (any). OpenAI: rounds to 4, 8, or 12s. Gemini Veo: rounds to 4, 6, or 8s. Gemini Omni Flash: clamps to 3-10s. Default: 5 seconds.\"\n },\n \"aspect_ratio\": {\n \"type\": \"string\",\n \"enum\": [\n \"16:9\",\n \"4:3\",\n \"1:1\",\n \"9:16\",\n \"3:4\",\n \"3:2\",\n \"2:3\"\n ],\n \"description\": \"Video shape. xAI supports all 7. Gemini/OpenAI only support '16:9' (widescreen) or '9:16' (vertical) - others mapped.\"\n },\n \"resolution\": {\n \"type\": \"string\",\n \"enum\": [\n \"720p\",\n \"480p\",\n \"1080p\",\n \"4k\"\n ],\n \"description\": \"Video resolution. xAI: 720p/480p. OpenAI: 720p or 1080p (pro model). Gemini Veo: 720p-4k (1080p/4k requires 8s). Gemini Omni Flash: 720p only.\"\n },\n \"image_url\": {\n \"type\": \"string\",\n \"description\": \"Image source for image-to-video. Accepts: stash reference (stash://space_xxx/file_id), local file path, or URL. For uploaded images, use the stash reference from 'Image stashed at:' in the conversation.\"\n },\n \"video_url\": {\n \"type\": \"string\",\n \"description\": \"Edit an existing video's visual content/style ONLY. xAI editing CANNOT change duration, aspect ratio, or resolution \\u2014 only what happens visually. If user wants different duration/size, regenerate from source image using image_url instead. xAI: MUST be a public http(s) URL, stash refs will NOT work. OpenAI: video ID to remix (starts with 'video_'). Provider URLs expire after ~4 hours.\"\n },\n \"negative_prompt\": {\n \"type\": \"string\",\n \"description\": \"GEMINI ONLY: What to avoid in the video. Sent as Veo's negative prompt or appended as regular prompt guidance for Omni Flash.\"\n },\n \"save\": {\n \"type\": \"boolean\",\n \"description\": \"Save to stash for use with other tools (default: true). Video is downloaded and stored locally.\"\n }\n },\n \"required\": [\n \"prompt\"\n ]\n },\n \"permissions\": {\n \"dangerous\": false,\n \"bash\": false,\n \"network\": true,\n \"filesystem\": true,\n \"auto_approve\": true\n },\n \"availability\": {\n \"provider_setting\": \"VIDEO_TOOL_PROVIDER\",\n \"provider_default\": \"xai\",\n \"provider_requirements\": {\n \"gemini\": {\n \"all_of_env\": [\n \"GEMINI_API_KEY\"\n ]\n },\n \"openai\": {\n \"all_of_env\": [\n \"OPENAI_API_KEY\"\n ]\n },\n \"xai\": {\n \"all_of_env\": [\n \"XAI_API_KEY\"\n ]\n }\n },\n \"setup_hint\": \"Configure at least one video provider API key (GEMINI_API_KEY, OPENAI_API_KEY, or XAI_API_KEY) in the active mode env file.\"\n }\n}\n"}}}}