Comprehensive AI content generation API designed for AI agents. Monet AI provides unified access to state-of-the-art AI generation models for video (Sora, Veo, Doubao Seedance, Wan, Hailuo, Kling), image (GPT-4o, Nano Banana, Seedream, Flux, Imagen, Ideogram), and music (MiniMax Music) generation. Build intelligent workflows that combine multiple AI capabilities for automated content creation pipelines.
Use this skill when:
If you don't have an API Key, ask your owner to apply at monet.vision.
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": "sora-2",
"prompt": "A cat running in the park",
"duration": 5,
"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"
}
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": "sora-2",
"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)); // Wait 5 seconds
}
}
}
pollTask();
sora-2 - Sora 2
_OpenAI latest video generation model_
{
model: "sora-2",
prompt: string, // Required
images?: string[], // Optional: Reference images
duration?: 10 | 15, // Optional, default: 10
aspect_ratio?: "16:9" | "9:16"
}
sora-2-pro - Sora 2 Pro
_Perfect quality for cinematic scenes_
{
model: "sora-2-pro",
prompt: string,
images?: string[],
duration?: 15 | 25, // Optional, default: 15
aspect_ratio?: "16:9" | "9:16"
}
veo-3-1-fast - Google Veo 3.1 Fast
_Ultra-fast video generation_
{
model: "veo-3-1-fast",
prompt: string,
images?: string[], // Reference images
aspect_ratio?: "16:9" | "9:16"
}
veo-3-1 - Google Veo 3.1
_Advanced AI video with sound_
{
model: "veo-3-1",
prompt: string,
images?: string[],
aspect_ratio?: "16:9" | "9:16"
}
veo-3-fast - Google Veo 3 Fast
_30% faster than standard Veo 3_
{
model: "veo-3-fast",
prompt: string,
images?: string[],
negative_prompt?: string // Specify unwanted content
}
veo-3 - Google Veo 3
_High-quality video generation_
{
model: "veo-3",
prompt: string,
images?: string[],
negative_prompt?: string
}
wan-2-6 - Wan 2.6
_Multi-shot and automatic audio_
{
model: "wan-2-6",
prompt: string,
images?: string[],
duration?: 5 | 10 | 15,
resolution?: "720p" | "1080p",
aspect_ratio?: "16:9" | "9:16" | "4:3" | "3:4" | "1:1",
shot_type?: "single" | "multi" // Single/multi-shot switching
}
wan-2-5 - Wan 2.5
_Supports automatic audio generation_
{
model: "wan-2-5",
prompt: string,
images?: string[],
duration?: 5 | 10,
resolution?: "480p" | "720p" | "1080p",
aspect_ratio?: "16:9" | "9:16" | "4:3" | "3:4" | "1:1"
}
wan-2-2-flash - Wan 2.2 Flash
_Instruction understanding, controllable camera movement_
{
model: "wan-2-2-flash",
prompt: string,
images?: string[],
duration?: 5 | 10,
resolution?: "480p" | "720p" | "1080p",
negative_prompt?: string
}
wan-2-2 - Wan 2.2
_Excellent image details, strong motion stability_
{
model: "wan-2-2",
prompt: string,
images?: string[],
duration?: 5 | 10,
resolution?: "480p" | "1080p",
aspect_ratio?: "16:9" | "9:16" | "4:3" | "3:4" | "1:1",
negative_prompt?: string
}
kling-2-6 - Kling 2.6
_Cinematic videos and audio_
{
model: "kling-2-6",
prompt: string,
images?: string[],
duration?: 5 | 10,
aspect_ratio?: "1:1" | "16:9" | "9:16",
generate_audio?: boolean
}
kling-2-5 - Kling 2.5 Turbo
_Smooth motion, stronger consistency_
{
model: "kling-2-5",
prompt: string,
images?: string[],
duration?: 5 | 10,
aspect_ratio?: "1:1" | "16:9" | "9:16",
negative_prompt?: string
}
kling-v2-1-master - Kling 2.1 Master
_Strong visual realism with enhanced features_
{
model: "kling-v2-1-master",
prompt: string,
images?: string[],
duration?: 5 | 10,
aspect_ratio?: "1:1" | "16:9" | "9:16",
strength?: number, // 0-1: Control generation effect
negative_prompt?: string
}
kling-v2-1 - Kling 2.1
_Strong visual realism_
{
model: "kling-v2-1",
prompt: string,
images?: string[],
duration?: 5 | 10,
aspect_ratio?: "1:1" | "16:9" | "9:16",
strength?: number, // 0-1
negative_prompt?: string
}
kling-v2 - Kling 2.0
_Excellent aesthetics_
{
model: "kling-v2",
prompt: string,
images?: string[],
duration?: 5 | 10,
aspect_ratio?: "1:1" | "16:9" | "9:16",
strength?: number, // 0-1
negative_prompt?: string
}
hailuo-2-3 - Hailuo 2.3
_Excellent body movements and physics performance_
{
model: "hailuo-2-3",
prompt: string,
images?: string[],
duration?: 6 | 10,
resolution?: "768p" | "1080p"
}
hailuo-2-3-fast - Hailuo 2.3 Fast
_Fast generation speed_
{
model: "hailuo-2-3-fast",
prompt: string,
images?: string[],
duration?: 6 | 10,
resolution?: "768p" | "1080p"
}
hailuo-02 - Hailuo 02
_Extreme physics simulations_
{
model: "hailuo-02",
prompt: string,
images?: string[],
duration?: 6 | 10,
resolution?: "768p" | "1080p"
}
hailuo-01-live2d - Hailuo 01 Live2d
_Hailuo Live2D model_
{
model: "hailuo-01-live2d",
prompt: string,
images?: string[]
}
hailuo-01 - Hailuo 01
_Highest video quality_
{
model: "hailuo-01",
prompt: string,
images?: string[]
}
doubao-seedance-1-5-pro - Seedance 1.5 Pro
_Pro-grade audio-visual sync_
{
model: "doubao-seedance-1-5-pro",
prompt: string,
images?: string[],
duration?: number,
resolution?: "480p" | "720p",
aspect_ratio?: "1:1" | "4:3" | "16:9" | "3:4" | "9:16" | "21:9",
generate_audio?: boolean
}
doubao-seedance-1-0-pro-fast - Seedance 1.0 Pro Fast
_Premium quality & unbeatable efficiency_
{
model: "doubao-seedance-1-0-pro-fast",
prompt: string,
images?: string[],
duration?: number,
resolution?: "720p" | "1080p",
aspect_ratio?: "1:1" | "4:3" | "16:9" | "3:4" | "9:16" | "21:9"
}
doubao-seedance-1-0-pro - Seedance 1.0 Pro
_Stable motion performance_
{
model: "doubao-seedance-1-0-pro",
prompt: string,
images?: string[],
duration?: 5 | 10,
resolution?: "480p" | "1080p",
aspect_ratio?: "1:1" | "4:3" | "16:9" | "3:4" | "9:16"
}
doubao-seedance-1-0-lite - Seedance 1.0 Lite
_Precise semantic understanding_
{
model: "doubao-seedance-1-0-lite",
prompt: string,
images?: string[],
duration?: 5 | 10,
resolution?: "480p" | "720p" | "1080p"
}
kling-motion-control - Kling Motion Control
_Precision motion control via video references_
{
model: "kling-motion-control",
prompt: string, // Required: Detailed motion description
images: string[], // Required: min 1 reference image
videos: string[], // Required: min 1 reference video
resolution?: "720p" | "1080p"
}
runway-act-two - Runway Act Two
_Runway Next-Generation Motion Capture Model_
{
model: "runway-act-two",
images: string[], // Required: min 1 target character image
videos: string[], // Required: min 1 motion reference video
aspect_ratio?: "1:1" | "4:3" | "16:9" | "3:4" | "9:16" | "21:9"
}
wan-animate-mix - Wan Animate Mix (Standard)
_Perfect for character replacement scenarios_
{
model: "wan-animate-mix",
videos: string[], // Required: Original videos
images: string[] // Required: Target character images
}
wan-animate-mix-pro - Wan Animate Mix Pro (Professional)
_High animation fluidity with better results_
{
model: "wan-animate-mix-pro",
videos: string[], // Required
images: string[] // Required
}
wan-animate-move - Wan Animate Move (Standard)
_Replicate dance and challenging body movements_
{
model: "wan-animate-move",
videos: string[], // Required: Motion reference videos
images: string[] // Required: Target character images
}
wan-animate-move-pro - Wan Animate Move Pro (Professional)
_High animation fluidity with better results_
{
model: "wan-animate-move-pro",
videos: string[], // Required
images: string[] // Required
}
gpt-4o - GPT 4o
_Accurate, realistic output_
{
model: "gpt-4o",
prompt: string,
images?: string[], // Reference images for style guidance
aspect_ratio?: "1:1" | "4:3" | "3:2" | "16:9" | "3:4" | "2:3" | "9:16",
style?: string // Custom style description
}
gpt-image-1-5 - GPT Image 1.5
_True-color precision rendering_
{
model: "gpt-image-1-5",
prompt: string,
images?: string[], // max 10 reference images
aspect_ratio?: "1:1" | "3:2" | "2:3",
quality?: "auto" | "low" | "medium" | "high"
}
nano-banana-1 - Google Nano Banana
_Ultra-high character consistency_
{
model: "nano-banana-1",
prompt: string,
images?: string[], // max 5 reference images
aspect_ratio?: "1:1" | "2:3" | "3:2" | "4:3" | "3:4" | "16:9" | "9:16"
}
nano-banana-1-pro - Nano Banana Pro
_Google's flagship generation model_
{
model: "nano-banana-1-pro",
prompt: string,
images?: string[], // max 14 reference images
aspect_ratio?: "1:1" | "2:3" | "3:2" | "4:3" | "3:4" | "4:5" | "5:4" | "16:9" | "9:16" | "21:9",
resolution?: "1K" | "2K" | "4K"
}
nano-banana-2 - Nano Banana 2
_Google Gemini latest model_
{
model: "nano-banana-2",
prompt: string,
images?: string[], // max 14 reference images
aspect_ratio?: "1:1" | "2:3" | "3:2" | "4:3" | "3:4" | "4:5" | "5:4" | "16:9" | "9:16" | "21:9" | "4:1" | "1:4" | "8:1" | "1:8",
resolution?: "1K" | "2K" | "4K"
}
wan-i-2-6 - Wan 2.6
_High-quality and expressive_
{
model: "wan-i-2-6",
prompt: string,
images?: string[], // max 4 reference images
aspect_ratio?: "1:1" | "4:3" | "3:2" | "16:9" | "3:4" | "2:3" | "9:16" | "21:9"
}
wan-2-5 - Wan 2.5
_Fast, creative image generation_
{
model: "wan-2-5",
prompt: string,
images?: string[], // max 2 reference images
aspect_ratio?: "1:1" | "4:3" | "3:2" | "16:9" | "3:4" | "2:3" | "9:16" | "21:9"
}
seedream-5-0 - Seedream 5.0 Lite
_Intelligent visual reasoning_
{
model: "seedream-5-0",
prompt: string,
images?: string[], // max 14 reference images
aspect_ratio?: "1:1" | "2:3" | "3:2" | "3:4" | "4:3" | "4:5" | "5:4" | "9:16" | "16:9" | "21:9",
resolution?: "2K" | "3K"
}
seedream-4-5 - Seedream 4.5
_ByteDance's 4K image model_
{
model: "seedream-4-5",
prompt: string,
images?: string[], // max 14 reference images
aspect_ratio?: "1:1" | "2:3" | "3:2" | "3:4" | "4:3" | "4:5" | "5:4" | "9:16" | "16:9" | "21:9",
resolution?: "2K" | "4K"
}
seedream-4-0 - Seedream 4.0
_Support images with cohesive styles_
{
model: "seedream-4-0",
prompt: string,
images?: string[], // max 10 reference images
aspect_ratio?: "1:1" | "4:3" | "3:2" | "16:9" | "3:4" | "2:3" | "9:16"
}
flux-2-dev - Flux.2 Dev
_Photorealistic output_
{
model: "flux-2-dev",
prompt: string,
aspect_ratio?: "1:1" | "4:3" | "3:2" | "16:9" | "3:4" | "2:3" | "9:16"
}
flux-kontext-pro - Flux Kontext Pro
_Perfect for editing, compositing_
{
model: "flux-kontext-pro",
prompt: string,
images?: string[],
aspect_ratio?: "1:1" | "4:3" | "3:2" | "16:9" | "3:4" | "2:3" | "9:16",
style?: string
}
flux-kontext-max - Flux Kontext Max
_Excellent for prompt accuracy_
{
model: "flux-kontext-max",
prompt: string,
images?: string[],
aspect_ratio?: "1:1" | "4:3" | "3:2" | "16:9" | "3:4" | "2:3" | "9:16",
style?: string
}
flux-1-schnell - Flux Schnell
_Suitable for simple basic scenes_
{
model: "flux-1-schnell",
prompt: string
}
imagen-3-0 - Imagen 3.0
_Fast, high-quality results_
{
model: "imagen-3-0",
prompt: string,
aspect_ratio?: "1:1" | "3:4" | "4:3" | "9:16" | "16:9",
style?: string
}
imagen-4-0 - Imagen 4.0
_Google's latest generation model_
{
model: "imagen-4-0",
prompt: string,
aspect_ratio?: "1:1" | "3:4" | "4:3" | "9:16" | "16:9",
style?: string
}
ideogram-v2 - Ideogram V2
_Highly recommended for text editing_
{
model: "ideogram-v2",
prompt: string,
aspect_ratio?: "1:1" | "4:3" | "3:2" | "16:9" | "3:4" | "2:3" | "9:16",
style?: string
}
ideogram-v3 - Ideogram V3
_Outstanding design capabilities_
{
model: "ideogram-v3",
prompt: string,
aspect_ratio?: "1:1" | "4:3" | "3:2" | "16:9" | "3:4" | "2:3" | "9:16",
style?: string
}
stability-1-0 - Stability 1.0
_Perfect for generating detailed images_
{
model: "stability-1-0",
prompt: string,
aspect_ratio?: "1:1" | "4:3" | "3:2" | "16:9" | "3:4" | "2:3" | "9:16",
style?: string,
negative_prompt?: string // Specify unwanted content
}
minimax-music - MiniMax Music
_AI music generation from text with custom lyrics support_
{
model: "minimax-music",
prompt: string, // Required: Music generation description (max 300 characters)
lyrics?: string // Optional: Custom lyrics (max 3000 characters)
}
POST /api/v1/tasks/async - Create an async task. Returns immediately with task ID.
Request:
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": "sora-2",
"prompt": "A cat running"
},
"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"
}
POST /api/v1/tasks/sync - Create a task with SSE streaming. Waits for completion and streams progress.
Request:
curl -X POST https://monet.vision/api/v1/tasks/sync \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $MONET_API_KEY" \
-N \
-d '{
"type": "video",
"input": {
"model": "sora-2",
"prompt": "A cat running"
},
"idempotency_key": "unique-key-123"
}'
GET /api/v1/tasks/{taskId} - Get task status and result.
Request:
curl https://monet.vision/api/v1/tasks/task_abc123 \
-H "Authorization: Bearer $MONET_API_KEY"
Response:
{
"id": "task_abc123",
"status": "success",
"type": "video",
"outputs": [
{
"model": "sora-2",
"status": "success",
"progress": 100,
"url": "https://files.monet.vision/..."
}
],
"created_at": "2026-02-27T10:00:00Z",
"updated_at": "2026-02-27T10:01:30Z"
}
GET /api/v1/tasks/list - List tasks with pagination.
Request:
curl "https://monet.vision/api/v1/tasks/list?page=1&pageSize=20" \
-H "Authorization: Bearer $MONET_API_KEY"
Response:
{
"tasks": [
{
"id": "task_abc123",
"status": "success",
"type": "video",
"outputs": [
{
"model": "sora-2",
"status": "success",
"progress": 100,
"url": "https://files.monet.vision/..."
}
],
"created_at": "2026-02-27T10:00:00Z",
"updated_at": "2026-02-27T10:01:30Z"
}
],
"page": 1,
"pageSize": 20,
"total": 100
}
POST /api/v1/files - Upload a file to get an online access URL.
> 📁 File Storage: Uploaded files are stored for 24 hours and will be automatically deleted after expiration.
Request:
curl -X POST https://monet.vision/api/v1/files \
-H "Authorization: Bearer $MONET_API_KEY" \
-F "file=@/path/to/your/file.mp4" \
-v
Use Cases:
Response:
{
"id": "file_xyz789",
"url": "...",
"filename": "file.mp4",
"size": 1048576,
"content_type": "video/mp4",
"created_at": "2026-02-27T10:00:00Z"
}
export MONET_API_KEY="monet_xxx"
All API requests require authentication via the Authorization header:
Authorization: Bearer monet_xxx
共 1 个版本