Source Code
AI Picture Book
Generate picture book videos from stories or descriptions.
Workflow
- Create Task: Submit story + type โ get task ID
- Poll Status: Query every 5-10s until completion
- Get Results: Retrieve video URLs when status = 2
Book Types
| Type | Method | Description |
|---|---|---|
| Static | 9 | Static picture book |
| Dynamic | 10 | Dynamic picture book |
Required: User must specify type (static/9 or dynamic/10). If not provided, ask them to choose.
Status Codes
| Code | Status | Action |
|---|---|---|
| 0, 1, 3 | In Progress | Continue polling |
| 2 | Completed | Return results |
| Other | Failed | Show error |
APIs
Create Task
Endpoint: POST /v2/tools/ai_picture_book/task_create
Parameters:
method(required):9for static,10for dynamiccontent(required): Story or description
Example:
python3 scripts/ai_picture_book_task_create.py 9 "A brave cat explores the world."
Response:
{ "task_id": "uuid-string" }
Query Task
Endpoint: GET /v2/tools/ai_picture_book/query
Parameters:
task_id(required): Task ID from create endpoint
Example:
python3 scripts/ai_picture_book_task_query.py "task-id-here"
Response (Completed):
{
"status": 2,
"video_bos_url": "https://...",
}
Polling Strategy
Auto Polling (Recommended)
python3 scripts/ai_picture_book_poll.py <task_id> [max_attempts] [interval_seconds]
Examples:
# Default: 20 attempts, 5s intervals
python3 scripts/ai_picture_book_poll.py "task-id-here"
# Custom: 30 attempts, 10s intervals
python3 scripts/ai_picture_book_poll.py "task-id-here" 30 10
Manual Polling
- Create task โ store
task_id - Query every 5-10s until status = 2
- Timeout after 2-3 minutes
Error Handling
- Invalid content: "Content cannot be empty"
- Invalid type: "Invalid type. Use 9 (static) or 10 (dynamic)"
- Processing error: "Failed to generate picture book"
- Timeout: "Task timed out. Try again later"