oatda-video-status

Use when the user wants to check the status of an asynchronous video generation task from OATDA. Returns the video URL when generation is complete.

16 stars

Best use case

oatda-video-status is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use when the user wants to check the status of an asynchronous video generation task from OATDA. Returns the video URL when generation is complete.

Teams using oatda-video-status should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/oatda-video-status/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/tools/oatda-video-status/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/oatda-video-status/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How oatda-video-status Compares

Feature / Agentoatda-video-statusStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use when the user wants to check the status of an asynchronous video generation task from OATDA. Returns the video URL when generation is complete.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# OATDA Video Status

Check the status of asynchronous video generation tasks. This is the companion skill to `oatda-generate-video`.

## When to Use

Use this skill when the user wants to:
- Check if a previously submitted video has finished generating
- Retrieve the video URL after generation completes
- Get the status of a video generation task by its task ID

## Prerequisites

The user needs:
- An OATDA API key (`$OATDA_API_KEY` or `~/.oatda/credentials.json`)
- A task ID from a previous `/oatda:oatda-generate-video` call

## Step-by-Step Instructions

### 1. Resolve the API key

```bash
# Check env var first; if empty, auto-load from credentials file
if [[ -z "$OATDA_API_KEY" ]]; then
  export OATDA_API_KEY=$(cat ~/.oatda/credentials.json 2>/dev/null | jq -r '.profiles[.defaultProfile].apiKey' 2>/dev/null)
fi

# Verify key exists (show first 8 chars only)
echo "${OATDA_API_KEY:0:8}"
```

If the output is empty or `null`, stop and ask the user to configure their API key.

**IMPORTANT**:
- Never print the full API key. Only show the first 8 characters for verification.
- The key resolution script and subsequent `curl` commands **must run in the same shell session**. Each separate bash/terminal invocation starts with an isolated environment where previously exported variables are lost. Either run all commands in one session, or chain them (e.g., `export OATDA_API_KEY=... && curl ...`).

### 2. Get the task ID

The user must provide a task ID from a previous video generation request. If they don't have one, tell them to generate a video first with `/oatda:oatda-generate-video`.

### 3. Make the API call

```bash
curl -s -X GET "https://oatda.com/api/v1/llm/video-status/<TASK_ID>" \
  -H "Authorization: Bearer $OATDA_API_KEY"
```

Replace `<TASK_ID>` with the actual task ID. URL-encode the task ID if it contains special characters.

### 4. Parse the response

```json
{
  "taskId": "minimax-T2V01-abc123def456",
  "status": "completed",
  "videoUrl": "https://cdn.example.com/video.mp4",
  "directVideoUrl": "https://cdn.example.com/video-direct.mp4",
  "provider": "minimax",
  "model": "T2V-01",
  "createdAt": "2025-01-15T10:30:00Z",
  "completedAt": "2025-01-15T10:32:15Z",
  "costs": {
    "totalCost": 0.05,
    "currency": "USD"
  }
}
```

### 5. Present results based on status

| Status | What to tell the user |
|--------|----------------------|
| `pending` | "Your video is queued and hasn't started yet. Check again in a minute." |
| `processing` | "Your video is being generated. Check again in a minute." |
| `completed` | "Your video is ready!" — show `videoUrl` (or `directVideoUrl`). Mention cost if available. |
| `failed` | "Video generation failed." — show `errorMessage` if present. Suggest trying again with a different prompt. |

### 6. Handle errors

| HTTP Status | Meaning | Action |
|-------------|---------|--------|
| 401 | Invalid API key | Tell user to check their key |
| 404 | Task not found | Verify task ID is correct. Tasks may expire. |
| 429 | Rate limited | Wait and retry |

## Full Example

User asks: "Check the status of my video task minimax-T2V01-abc123"

```bash
curl -s -X GET "https://oatda.com/api/v1/llm/video-status/minimax-T2V01-abc123" \
  -H "Authorization: Bearer $OATDA_API_KEY"
```

If completed, tell the user:
> Your video is ready! Download it here: `<videoUrl>`
> Cost: $0.05

If still processing:
> Your video is still being generated. Try checking again in about a minute.

## Tips

- This is a GET request, not POST — no request body needed
- Video generation typically takes 30 seconds to 5 minutes
- Video URLs may be temporary — recommend downloading promptly
- If status is `processing`, suggest waiting 30-60 seconds before checking again
- NEVER expose the full API key in output
- Related skills: `/oatda:oatda-generate-video` (companion for starting generation)

Related Skills

workflow-status

16
from diegosouzapw/awesome-omni-skill

Display project workflow progress by reading handoff documents in .docs/ directory. This skill should be used when users want to check their workflow status, see what phase they're in, or when other workflow skills need to verify prerequisites. Provides reusable prerequisite-checking templates for integration with other workflow skills.

wan-t2v-video

16
from diegosouzapw/awesome-omni-skill

Build WAN 2.2 Text-to-Video workflows — dual hi-lo models, lightning LoRAs, VACE modules, and KSamplerAdvanced two-pass

video-to-claude

16
from diegosouzapw/awesome-omni-skill

Analyze videos with Gemini and get build instructions for Claude. Supports YouTube URLs, GIFs, screen recordings, and local video files. Use when user shares a video/GIF and wants to understand how to build it, clone a UI, reverse engineer a product, or extract tutorial steps. Triggers on "watch this video", "clone this", "reverse engineer", "how do I build this", "analyze this demo".

video-testimonial

16
from diegosouzapw/awesome-omni-skill

Capture authentic customer testimonials through guided self-recording workflows, from outreach and briefing to recording and publishing. Use when: Building social proof for marketing campaigns; Creating customer success stories; Gathering testimonials for website and ads; Producing case study videos; Collecting user-generated content

video-sourcing

16
from diegosouzapw/awesome-omni-skill

Run the Video Sourcing Agent with deterministic, concise chat UX for /video_sourcing using a pinned self-bootstrap runtime.

video-outreach

16
from diegosouzapw/awesome-omni-skill

When the user wants to build video-first cold outreach, create personalized video at scale, implement async selling, or use AI demo generation for prospecting. Also use when the user mentions 'video outreach,' 'personalized video,' 'video prospecting,' 'Tavus,' 'Sendspark,' 'HeyGen,' 'video email,' 'async selling,' 'video demo,' or 'made this for you.' This skill covers video-first outreach systems from personalization through conversion optimization.

statusline-customization

16
from diegosouzapw/awesome-omni-skill

Configuration reference and troubleshooting for the statusline plugin — sections, themes, bar widths, and script architecture

statuscake-automation

16
from diegosouzapw/awesome-omni-skill

Automate Statuscake tasks via Rube MCP (Composio). Always search tools first for current schemas.

ppt-to-video-workflow

16
from diegosouzapw/awesome-omni-skill

PPT/슬라이드를 나레이션과 자막이 포함된 영상으로 변환합니다. PPTX 파일 또는 slides.json에서 슬라이드 이미지를 추출/렌더링하고, TTS로 나레이션을 생성하며, 자막을 추가하여 최종 MP4 영상을 만듭니다. "PPT를 영상으로 만들어줘", "발표 영상 생성", "자막 포함 영상 만들기" 요청 시 사용합니다.

analyze-video-performance-skill

16
from diegosouzapw/awesome-omni-skill

Analyze your uploaded YouTube videos' performance against competitor benchmarks using Playwright MCP. Use when asked to review video analytics, compare performance, check how a video is doing, or reflect on a video's success.

ai-avatar-video

16
from diegosouzapw/awesome-omni-skill

Create AI avatar and talking head videos with OmniHuman, Fabric, PixVerse via inference.sh CLI. Models: OmniHuman 1.5, OmniHuman 1.0, Fabric 1.0, PixVerse Lipsync. Capabilities: audio-driven avatars, lipsync videos, talking head generation, virtual presenters. Use for: AI presenters, explainer videos, virtual influencers, dubbing, marketing videos. Triggers: ai avatar, talking head, lipsync, avatar video, virtual presenter, ai spokesperson, audio driven video, heygen alternative, synthesia alternative, talking avatar, lip sync, video avatar, ai presenter, digital human

status-determination

16
from diegosouzapw/awesome-omni-skill

Evaluates hospital admission packets to determine if inpatient or observation status is clinically supported. Uses a two-step workflow with clinical review checkpoint. Analyzes ADT, ORU (labs/vitals), and MDM clinical notes against Medicare two-midnight rule and severity criteria. Use when reviewing admission status decisions, inpatient vs observation classification, utilization review, or two-midnight compliance audits.