🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Veo Skill

by @seekton

Veo, Veo 3.1 Fast - Google AI video generation models for AI agents. 1080p HD output, reference image support, intelligent audio generation.

⚑ When to Use
TriggerAction
- **High-Quality Video Generation**: Create professional-grade 1080p HD videos
- veo-3-1: Advanced AI video with sound generation
- veo-3-1-fast: Ultra-fast video generation
- **Reference Image to Video**: Use reference images to guide video content and style
- **Multiple Aspect Ratios**: Generate videos for different platforms (16:9 for YouTube, 9:16 for TikTok)
- **Audio-Visual Content**: Veo 3.1 includes intelligent audio generation
πŸ’‘ Examples

Create a Video Generation Task

curl -X POST https://monet.vision/api/v1/tasks/async \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $MONET_API_KEY" \
  -d '{
    "type": "video",
    "input": {
      "model": "veo-3-1",
      "prompt": "A cat running in the park",
      "duration": 8,
      "aspect_ratio": "16:9"
    },
    "idempotency_key": "unique-key-123"
  }'

> ⚠️ Important: idempotency_key is required. Use a unique value (e.g., UUID) to prevent duplicate task creation if the request is retried.

Response:

{
  "id": "task_abc123",
  "status": "pending",
  "type": "video",
  "created_at": "2026-02-27T10:00:00Z"
}

Get Task Status and Result

Task processing is asynchronous. You need to poll the task status until it becomes success or failed. Recommended polling interval: 5 seconds.

curl https://monet.vision/api/v1/tasks/task_abc123 \
  -H "Authorization: Bearer $MONET_API_KEY"

Response when completed:

{
  "id": "task_abc123",
  "status": "success",
  "type": "video",
  "outputs": [
    {
      "model": "veo-3-1",
      "status": "success",
      "progress": 100,
      "url": "https://files.monet.vision/..."
    }
  ],
  "created_at": "2026-02-27T10:00:00Z",
  "updated_at": "2026-02-27T10:01:30Z"
}

Example: Poll until completion

const TASK_ID = "task_abc123";
const MONET_API_KEY = process.env.MONET_API_KEY;

async function pollTask() { while (true) { const response = await fetch( https://monet.vision/api/v1/tasks/${TASK_ID}, { headers: { Authorization: Bearer ${MONET_API_KEY}, }, }, );

const data = await response.json(); const status = data.status;

if (status === "success") { console.log("Task completed successfully!"); console.log(JSON.stringify(data, null, 2)); break; } else if (status === "failed") { console.log("Task failed!"); console.log(JSON.stringify(data, null, 2)); break; } else { console.log(Task status: ${status}, waiting...); await new Promise((resolve) => setTimeout(resolve, 5000)); } } }

pollTask();

βš™οΈ Configuration

Environment Variables

export MONET_API_KEY="monet_xxx"

Authentication

All API requests require authentication via the Authorization header:

Authorization: Bearer monet_xxx

View on ClawHub
TERMINAL
clawhub install veo-skill

πŸ§ͺ Use this skill with your agent

Most visitors already have an agent. Pick your environment, install or copy the workflow, then run the smoke-test prompt above.

πŸ” Can't find the right skill?

Search 60,000+ AI agent skills β€” free, no login needed.

Search Skills β†’