auto-video-creator
v1.0.1AI-powered video generator using XLXAI Sora2 API. Create professional videos from text prompts or images in seconds.
Installation
Auto Video Creator - XLXAI Video Generation Skill
Generate professional videos from text prompts or images using the XLXAI Sora2 API.
Scope
This skill focuses exclusively on video generation: - ✅ Calls XLXAI Sora2 API to generate videos - ✅ Returns task/result JSON with video URL upon completion - ✅ Supports text-to-video and image-to-video generation - ❌ Does NOT upload, post, or proxy videos to TikTok or other platforms - ❌ Does NOT handle social media publishing
For upload/post functionality, use a separate skill (e.g., post-to-tiktok-getlate) or downstream workflow.
Quick Start
1. Setup Environment
cp skills/xlxai-video/.env.example skills/xlxai-video/.env
# Edit skills/xlxai-video/.env and set XLXAI_API_KEY
export XLXAI_API_KEY="$YOUR_KEY"
2. Generate Video
python3 skills/xlxai-video/scripts/generate_video.py "Your video prompt here" --model sora2-portrait-4s
The script loads the API key from the XLXAI_API_KEY environment variable, handles task creation and polling, and returns JSON with the video URL when complete.
API Response Examples
Task Creation Response (no-wait)
{
"task_id": "task_Ue8FsGswnj3fCaY91yAj84m8AA8lLVpm",
"status": "pending",
"model": "sora2-portrait-4s",
"created_at": "2026-03-03T18:19:30Z"
}
Completed Task Response
{
"task_id": "task_Ue8FsGswnj3fCaY91yAj84m8AA8lLVpm",
"status": "completed",
"video_url": "https://api.xlxai.store/video2-proxy/base/video/79193b56b4792daec07c5564bff412f193a6c20e5ee7ca0a323ab753da2420a9.mp4",
"progress": 100,
"duration": 38,
"message": "Generation complete",
"created_at": "2026-03-03T18:19:30Z",
"completed_at": "2026-03-03T18:20:08Z"
}
Notes: - Field names depend on XLXAI API version; inspect raw JSON for actual fields - video_url may point to third-party CDN; download and self-host if needed
Video Models
Choose based on your needs:
Portrait Models (Vertical Videos)
sora2-portrait-4s— 4-second vertical video (default)sora2-portrait-8s— 8-second vertical videosora2-portrait-12s— 12-second vertical video
Landscape Models (Horizontal Videos)
sora2-landscape-4s— 4-second horizontal videosora2-landscape-8s— 8-second horizontal videosora2-landscape-12s— 12-second horizontal video
Default: sora2-portrait-4s
Usage Patterns
Text-to-Video Generation
Generate videos from text descriptions:
python3 scripts/generate_video.py "A 30-year-old American man in a suit presenting to camera"
--model sora2-landscape-8s
Image-to-Video Generation
Create videos from images with motion (local images auto-converted to data URI):
python3 scripts/generate_video.py "Man showcasing the suit, saying it's well-made and affordable"
--model sora2-portrait-4s
--image "/path/to/local/image.jpg"
Or use image URLs directly:
python3 scripts/generate_video.py "Man showcasing the suit, saying it's well-made and affordable"
--model sora2-portrait-4s
--image "http://example.com/image.jpg"
Non-blocking Task Creation
Get task ID immediately without waiting for completion:
python3 scripts/generate_video.py "Your prompt" --no-wait
Check status later:
python3 scripts/generate_video.py --check-status task_abc123
Script Options
| Option | Description | Default |
|---|---|---|
--model |
Video model (portrait/landscape, 4s/8s/12s) | sora2-portrait-4s |
--image |
Image URL or local file path | — |
--no-wait |
Return task ID immediately | false |
--poll-interval |
Seconds between status checks | 10 |
--timeout |
Max seconds to wait for completion | 600 |
--check-status |
Check status of existing task | — |
Output Format
On success, the script returns JSON with:
- status: "completed"
- video_url: Download link for the generated video
- progress: 100
- duration: Generation time in seconds
- task_id: Unique task identifier
- created_at: Task creation timestamp
- completed_at: Task completion timestamp
Error Handling
The script handles: - ✅ API request failures with retry logic - ✅ Timeout after 600 seconds (configurable) - ✅ Progress reporting during generation - ✅ Clear error messages for failed tasks - ✅ HTTP status code validation
Important Notes
- Copyright & Rights: Verify copyright and portrait rights before publishing generated content
- API Key Security: Keep your API key secret; use environment variables in production
- Video URL: May point to third-party CDN; download and self-host if needed
- Rate Limits: Check XLXAI API documentation for rate limiting
日本語ガイド
セットアップ
cp skills/xlxai-video/.env.example skills/xlxai-video/.env
export XLXAI_API_KEY="$YOUR_KEY"
ビデオ生成
python3 skills/xlxai-video/scripts/generate_video.py "あなたのプロンプト" --model sora2-portrait-4s
画像からビデオを生成
python3 skills/xlxai-video/scripts/generate_video.py "シーンの説明" --image "/path/to/image.jpg"
한국어 가이드
설정
cp skills/xlxai-video/.env.example skills/xlxai-video/.env
export XLXAI_API_KEY="$YOUR_KEY"
비디오 생성
python3 skills/xlxai-video/scripts/generate_video.py "당신의 프롬프트" --model sora2-portrait-4s
이미지에서 비디오 생성
python3 skills/xlxai-video/scripts/generate_video.py "장면 설명" --image "/path/to/image.jpg"
Contact / 連絡先 / 연락처
- Email: [email protected]
- Telegram: @kuajintontu