<< All versions

Skill v1.0.0

currentAutomated scan100/100
ziho7/agnes-skills/agnes-videogen
──Details
PublishedOctober 15, 2026 at 03:18 AM
Content Hashsha256:c857ebd4cbc61c6c...
Git SHA898e8cd9370c
──Files
Files (1 file, 6.4 KB)
SKILL.md6.4 KBactive
SKILL.md · 216 lines · 6.4 KB

version: "1.0.0" name: agnes-videogen description: "Generate videos using the Agnes Video V2.0 model API. Use when the user asks to generate videos via Agnes AI platform (apihub.agnes-ai.com). Triggers on: agnes video, agnes 视频, video gen, generate video, text to video, image to video, keyframe interpolation, 生视频, 文生视频, 图生视频."


Agnes Video Generation

Generate videos using the Agnes Video V2.0 API.

Prerequisites

  • An Agnes AI API key from API Platform
  • Base URL: https://apihub.agnes-ai.com/v1

API Architecture

Agnes Video V2.0 uses an asynchronous two-step workflow:

  1. Create Video Task — submit the request, get a video_id
  2. Retrieve Video Result — poll the video_id to get the final video

API Endpoints

Step 1: Create Video Task

Endpoint: POST https://apihub.agnes-ai.com/v1/videos

Headers:

  • Authorization: Bearer YOUR_API_KEY
  • Content-Type: application/json

Step 2: Retrieve Video Result

Endpoint: GET https://apihub.agnes-ai.com/agnesapi?video_id=<VIDEO_ID>

Headers:

  • Authorization: Bearer YOUR_API_KEY

Optional parameter: model_name — specify model explicitly (e.g., agnes-video-v2.0)

Legacy method (compatibility): GET https://apihub.agnes-ai.com/v1/videos/<TASK_ID>

Model Name

agnes-video-v2.0

Request Parameters (Create Task)

ParameterTypeRequiredDescription
modelstringYesUse agnes-video-v2.0
promptstringYesText description of the video content
imagestring / arrayNoImage URL or image URL array (for image-to-video)
modestringNoGeneration mode: ti2vid (text-to-video) or keyframes
heightintegerNoVideo height. Default: 768
widthintegerNoVideo width. Default: 1152
num_framesintegerNoNumber of frames. Must be ≤ 441, follows 8n + 1 rule
frame_ratenumberNoVideo FPS. Range: 1–60
num_inference_stepsintegerNoNumber of inference steps
seedintegerNoRandom seed for reproducible results
negative_promptstringNoContent to avoid
extra_body.imagearrayNoInput image URLs for multi-image or keyframe mode
extra_body.modestringNoAdditional mode setting, e.g., keyframes

Workflows

1. Text-to-Video

bash
curl -X POST https://apihub.agnes-ai.com/v1/videos \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "agnes-video-v2.0",
"prompt": "A cinematic shot of a cat walking on the beach at sunset, soft ocean waves, warm golden lighting, realistic motion",
"height": 768,
"width": 1152,
"num_frames": 121,
"frame_rate": 24
}'

Response:

json
{
"id": "task_YOUR_TASK_ID",
"task_id": "task_YOUR_TASK_ID",
"video_id": "video_YOUR_VIDEO_ID",
"object": "video",
"model": "agnes-video-v2.0",
"status": "queued",
"progress": 0,
"created_at": 1780457477,
"seconds": "10.0",
"size": "1280x768"
}

2. Image-to-Video (single image)

bash
curl -X POST https://apihub.agnes-ai.com/v1/videos \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "agnes-video-v2.0",
"prompt": "The woman slowly turns around and looks back at the camera, natural facial expression, cinematic camera movement",
"image": "https://example.com/image.png",
"num_frames": 121,
"frame_rate": 24
}'

3. Multi-Image Video

bash
curl -X POST https://apihub.agnes-ai.com/v1/videos \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "agnes-video-v2.0",
"prompt": "Create a smooth transformation scene between the two reference images, cinematic lighting, consistent character identity, natural motion",
"extra_body": {
"image": [
"https://example.com/image1.png",
"https://example.com/image2.png"
]
},
"num_frames": 121,
"frame_rate": 24
}'

4. Keyframe Interpolation

bash
curl -X POST https://apihub.agnes-ai.com/v1/videos \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "agnes-video-v2.0",
"prompt": "Generate a smooth cinematic transition between the keyframes, maintaining visual consistency and natural camera movement",
"extra_body": {
"image": [
"https://example.com/keyframe1.png",
"https://example.com/keyframe2.png"
],
"mode": "keyframes"
},
"num_frames": 121,
"frame_rate": 24
}'

Retrieve Video Result

Poll until status is "completed" and progress is 100:

bash
curl --location --request GET \
'https://apihub.agnes-ai.com/agnesapi?video_id=video_xxxxxx' \
--header 'Authorization: Bearer YOUR_API_KEY'

Completed response:

json
{
"id": "task_YOUR_TASK_ID",
"video_id": "video_YOUR_VIDEO_ID",
"model": "agnes-video-v2.0",
"object": "video",
"status": "completed",
"progress": 100,
"seconds": "10.0",
"size": "1280x768",
"remixed_from_video_id": "https://storage.googleapis.com/agnes-aigc/aigc/videos/2026/06/03/video_xxxxxx.mp4",
"error": null
}

Final video URL: remixed_from_video_id

Result Fields

FieldTypeDescription
idstringTask ID
video_idstringVideo ID
modelstringModel used
objectstringAlways "video"
statusstringTask status (queued, processing, completed, failed)
progressintegerProgress percentage (0–100)
secondsstringVideo duration
sizestringVideo resolution (e.g., "1280x768")
remixed_from_video_idstringFinal video URL (only when completed)
errorstring / nullError message if failed

Important Notes

  • Asynchronous workflow: Submit → get video_id → poll for result
  • num_frames must follow 8n + 1 rule and be ≤ 441
  • frame_rate range: 1–60
  • Default resolution: 1152×768
  • Recommended polling interval: 5–10 seconds
  • Timeout recommended: 60s–360s for create request
  • Pricing: Currently free during beta

Supported Capabilities

  • Text-to-Video generation
  • Image-to-Video generation
  • Multi-image video composition
  • Keyframe interpolation
  • Custom resolution, frame rate, and duration
  • Reproducible results via seed
All versions