Agent-JAE/default-skills/venice-video-retrieve
jae c42cd9a062 feat: add 11 Venice AI skills as bundled defaults
Skills included:
- venice-chat: Chat with Venice LLM models, vision, reasoning
- venice-chat-benchmark: Benchmark chat models with infographics
- venice-image-gen: Generate images via Venice API
- venice-list-image-models: List available image models
- venice-list-text-models: List available text models
- venice-list-video-models: List available video models
- venice-tts: Text-to-speech via Venice API
- venice-video-generate: Generate videos from text/images
- venice-video-queue: Queue video generation jobs
- venice-video-quote: Get video generation cost quotes
- venice-video-retrieve: Retrieve completed videos

All rebranded from Agent Zero paths to Agent JAE (~/.jae/agent/skills/).
Requires VENICE_API_KEY environment variable.
2026-03-23 18:47:33 +01:00
..
scripts feat: add 11 Venice AI skills as bundled defaults 2026-03-23 18:47:33 +01:00
README.md feat: add 11 Venice AI skills as bundled defaults 2026-03-23 18:47:33 +01:00
SKILL.md feat: add 11 Venice AI skills as bundled defaults 2026-03-23 18:47:33 +01:00

Venice Video Retrieve

Retrieve and download queued videos from Venice.ai. Polls automatically until generation is complete, then saves the video to disk.

For a simpler all-in-one workflow, use venice-video-generate instead.

Features

  • Automatic polling until video generation completes
  • Handles both JSON status responses and binary video data
  • Supports video URL download, base64 data URIs, and raw binary responses
  • Configurable poll interval and timeout
  • JSON output mode for scripting
  • Optional server-side deletion after download

Prerequisites

pip install requests pydantic
export VENICE_API_KEY="your_venice_api_key"

Usage

Basic retrieval

python scripts/retrieve_video.py wan-2.5-preview-text-to-video abc123-queue-id

Save to specific path

python scripts/retrieve_video.py wan-2.5-preview-text-to-video abc123-queue-id \
  --output /path/to/my_video.mp4

Custom polling settings

python scripts/retrieve_video.py wan-2.5-preview-text-to-video abc123-queue-id \
  --interval 10 --max-wait 900

Quiet mode with JSON

python scripts/retrieve_video.py wan-2.5-preview-text-to-video abc123-queue-id --quiet --json
# Output: {"status": "completed", "path": "/root/venice_videos/video_1234567890.mp4"}

Options

Option Short Default Description
model -- (required) Model used for generation
queue_id -- (required) Queue ID from venice-video-queue
--output -o auto Output file path
--interval -i 5 Poll interval in seconds
--max-wait -w 600 Maximum wait time in seconds
--delete-after -- off Delete from Venice servers after download
--quiet -q off Suppress progress output
--json -- off JSON output

Exit Codes

Code Meaning
0 Success
1 General error (API, network, etc.)
2 Timeout -- generation took too long

Python Import

from retrieve_video import retrieve_and_save, poll_until_complete

# Full workflow: poll and save
path = retrieve_and_save(
    model="wan-2.5-preview-text-to-video",
    queue_id="abc123-def456",
    output_path="/path/to/video.mp4",
    poll_interval=5,
    max_wait=600
)
print(f"Saved to: {path}")

# Just poll (without saving)
result = poll_until_complete(
    model="wan-2.5-preview-text-to-video",
    queue_id="abc123-def456"
)
# Access result.video_data or result.video_url

Complete Two-Step Workflow

# Step 1: Queue
python ../venice-video-queue/scripts/queue_video.py "A cat playing piano" --json
# Output: {"model": "wan-2.5-preview-text-to-video", "queue_id": "abc123..."}

# Step 2: Retrieve
python scripts/retrieve_video.py wan-2.5-preview-text-to-video abc123...

Environment Variables

Variable Required Description
VENICE_API_KEY Yes Venice.ai API key