oatda-generate-video

Generate videos from text descriptions using AI models through OATDA's unified API. Triggers when the user wants to generate, create, or produce AI video clips or animations using MiniMax, Google Veo, Alibaba Wan, Bytedance Seedance, ZAI, OpenAI Sora, xAI Grok video, or other video generation models via OATDA. Video generation is asynchronous — submit a request and poll for status.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "oatda-generate-video" with this command: npx skills add devcsde/oatda-generate-video

OATDA Video Generation

Generate videos from text descriptions via OATDA. Video generation is asynchronous — submit a request, receive a task ID, then poll for completion.

API Key Resolution

All commands need the OATDA API key. Resolve it inline for each exec call:

export OATDA_API_KEY="${OATDA_API_KEY:-$(cat ~/.oatda/credentials.json 2>/dev/null | jq -r '.profiles[.defaultProfile].apiKey' 2>/dev/null)}"

If the key is empty or null, tell the user to get one at https://oatda.com and configure it.

Security: Never print the full API key. Only verify existence or show first 8 chars.

Model Mapping

User saysProviderModel
seedance, bytedance (default)bytedanceseedance-1-5-pro-251215
minimax, hailuominimaxT2V-01
veo, google veogoogleveo-3.0-generate-preview
wan, alibabaalibabawan2.5-t2v-preview
soraopenaisora-2
grok videoxaigrok-imagine-video
cogvideo, glm videozaicogvideox-3

Default: bytedance / seedance-1-5-pro-251215 if no model specified.

⚠️ Models update frequently. If a model ID fails, query oatda-list-models with ?type=video for the latest available models.

Discovering Model-Specific Parameters

Different models support different parameters. Query before generating:

export OATDA_API_KEY="${OATDA_API_KEY:-$(cat ~/.oatda/credentials.json 2>/dev/null | jq -r '.profiles[.defaultProfile].apiKey' 2>/dev/null)}" && \
curl -s -X GET "https://oatda.com/api/v1/llm/models?type=video" \
  -H "Authorization: Bearer $OATDA_API_KEY" | jq '.video_models[] | {id, supported_params}'

File-type parameters (like first_frame_image, last_frame_image) require public URLs.

API Call

CRITICAL: The endpoint URL must include ?async=true.

export OATDA_API_KEY="${OATDA_API_KEY:-$(cat ~/.oatda/credentials.json 2>/dev/null | jq -r '.profiles[.defaultProfile].apiKey' 2>/dev/null)}" && \
curl -s -X POST "https://oatda.com/api/v1/llm/generate-video?async=true" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OATDA_API_KEY" \
  -d '{
    "provider": "<PROVIDER>",
    "model": "<MODEL>",
    "prompt": "<VIDEO_DESCRIPTION>"
  }'

Optional Parameters (add to body)

  • duration: Video duration in seconds
  • resolution: "720P" or "1080P"
  • aspectRatio: "16:9", "9:16", "1:1"
  • quality: Quality setting (model-dependent)
  • style: Style setting (model-dependent)
  • width / height: Explicit pixel dimensions
  • model_params: Model-specific key-value pairs

model_params Examples

  • Seedance: {"ratio": "16:9", "duration": "5", "generate_audio": true, "camera_fixed": false}
  • Seedance I2V: {"first_frame_image": "https://...", "last_frame_image": "https://..."}
  • MiniMax: {"first_frame_image": "https://...", "resolution": "720P"}
  • xAI: {"resolution": "720p"}

Response Format

{
  "taskId": "minimax-T2V01-abc123def456",
  "status": "pending",
  "provider": "minimax",
  "model": "T2V-01",
  "message": "Video generation task created",
  "pollUrl": "/api/v1/llm/video-status/minimax-T2V01-abc123def456"
}

Note the taskId — this is needed to check status later.

After Submitting

Tell the user:

Video generation started! Task ID: <taskId> Video generation typically takes 30 seconds to 5 minutes. Use oatda-video-status to check when your video is ready.

Error Handling

HTTP StatusMeaningAction
401Invalid API keyTell user to check their key
400Bad request / prompt too longKeep prompt under 4000 chars
429Rate limitedWait and retry
400 + content_policyContent policy violationAsk user to adjust description

Examples

Seedance (default)

export OATDA_API_KEY="${OATDA_API_KEY:-$(cat ~/.oatda/credentials.json 2>/dev/null | jq -r '.profiles[.defaultProfile].apiKey' 2>/dev/null)}" && \
curl -s -X POST "https://oatda.com/api/v1/llm/generate-video?async=true" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OATDA_API_KEY" \
  -d '{
    "provider": "bytedance",
    "model": "seedance-1-5-pro-251215",
    "prompt": "Ocean waves crashing on a beach at sunset, golden hour lighting, cinematic",
    "model_params": {"ratio": "16:9", "duration": "5", "generate_audio": true, "camera_fixed": false}
  }'

Seedance Image-to-Video

export OATDA_API_KEY="${OATDA_API_KEY:-$(cat ~/.oatda/credentials.json 2>/dev/null | jq -r '.profiles[.defaultProfile].apiKey' 2>/dev/null)}" && \
curl -s -X POST "https://oatda.com/api/v1/llm/generate-video?async=true" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OATDA_API_KEY" \
  -d '{
    "provider": "bytedance",
    "model": "seedance-1-5-pro-251215",
    "prompt": "Smooth transition from day to night",
    "model_params": {
      "ratio": "16:9",
      "first_frame_image": "https://example.com/daytime.jpg",
      "last_frame_image": "https://example.com/nighttime.jpg"
    }
  }'

MiniMax with Reference Image

export OATDA_API_KEY="${OATDA_API_KEY:-$(cat ~/.oatda/credentials.json 2>/dev/null | jq -r '.profiles[.defaultProfile].apiKey' 2>/dev/null)}" && \
curl -s -X POST "https://oatda.com/api/v1/llm/generate-video?async=true" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OATDA_API_KEY" \
  -d '{
    "provider": "minimax",
    "model": "T2V-01",
    "prompt": "The character starts walking forward slowly",
    "model_params": {"first_frame_image": "https://example.com/character.png", "resolution": "720P"}
  }'

Google Veo

export OATDA_API_KEY="${OATDA_API_KEY:-$(cat ~/.oatda/credentials.json 2>/dev/null | jq -r '.profiles[.defaultProfile].apiKey' 2>/dev/null)}" && \
curl -s -X POST "https://oatda.com/api/v1/llm/generate-video?async=true" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OATDA_API_KEY" \
  -d '{
    "provider": "google",
    "model": "veo-3.0-generate-preview",
    "prompt": "A drone shot flying over a misty mountain range at sunrise",
    "duration": 5,
    "aspectRatio": "16:9"
  }'

Notes

  • Always use ?async=true in the URL
  • Generation takes 30 seconds to 5+ minutes depending on model
  • Always give the user the task ID and suggest oatda-video-status to check progress
  • For image-to-video: provide first_frame_image and optionally last_frame_image as public URLs
  • Max prompt: 4000 characters
  • Use oatda-video-status to check task completion
  • Use oatda-list-models for available video models

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

进出口许可文档智能预审系统

进出口许可文档智能预审系统。支持 PDF 和图片处理:自动提取合同号、出口国、进口商、总金额、数量、重量、合格证编号、生产商、报关口岸等字段,检测公章,按审核规则执行审核,生成 MD 和 JSON 审核报告。支持 CLI 和对话交互两种方式触发。

Registry SourceRecently Updated
Coding

generate-developer-ad-creative-brief

Plan campaign visuals and hooks for developer promotions. Use when working on paid campaign planning for developers, technical founders, product engineers.

Registry SourceRecently Updated
Coding

DOOMSCROLLR

Manage DOOMSCROLLR audience hubs by publishing posts, handling subscribers, creating products, connecting feeds, and retrieving embed codes securely.

Registry SourceRecently Updated
Coding

generate-plumbing-service-company-client-education-handout

Create a polished explainer handout with visuals, FAQs, and clear next steps for a plumbing service company. Use when handling client education work...

Registry SourceRecently Updated