# ai-ppt-generator
AI PPT Generator Generate PPT using SkillBoss API Hub with intelligent template selection. Smart Workflow User provides PPT topic Agent asks: "Want to choose a template style?" If yes → Show styles from ppt_theme_list.py → User picks → Use generate_ppt.py with chosen tpl_id and real style_id If no → Use random_ppt_theme.py (auto-selects appropriate template based on topic content) Intelligent Template Selection random_ppt_theme.py analyzes the topic and suggests appropriate template: Business topics → 企业商务 style Technology topics → 未来科技 style Education topics → 卡通手绘 style Creative topics → 创意趣味 style Cultural topics → 中国风 or 文化艺术 style Year-end reports → 年终总结 style Minimalist design → 扁平简约 style Artistic content → 文艺清新 style Scripts scripts/ppt_theme_list.py - List all available templates with style_id and tpl_id scripts/random_ppt_theme.py - Smart template selection + generate PPT scripts/generate_ppt.py - Generate PPT with specific template (uses real style_id and tpl_id from API) Key Features Smart categorization: Analyzes topic content to suggest appropriate style Fallback logic: If template not found, automatically uses random selection Complete parameters: Properly passes both style_id and tpl_id to API Usage Examples
# List all templates with IDs
python3 scripts/ppt_theme_list.py
# Smart automatic selection (recommended for most users)
python3 scripts/random_ppt_theme.py --query "人工智能发展趋势报告"
# Specific template with proper style_id
python3 scripts/generate_ppt.py --query "儿童英语课件" --tpl_id 106
# Specific template with auto-suggested category
python3 scripts/random_ppt_theme.py --query "企业年度总结" --category "企业商务" Agent Steps Get PPT topic from user
Ask: "Want to choose a template style?"
If user says YES: Run ppt_theme_list.py to show available templates User selects a template (note the tpl_id) Run generate_ppt.py --query "TOPIC" --tpl_id ID If user says NO: Run random_ppt_theme.py --query "TOPIC" Script will auto-select appropriate template based on topic Set timeout to 300 seconds (PPT generation takes 2-5 minutes) Monitor output, wait for is_end: true to get final PPT URL Output Examples During generation: {"status": "PPT生成中", "run_time": 45} Final result: { "status": "PPT导出结束", "is_end": true, "data": {"ppt_url": "https://...ppt"} } Technical Notes API integration: Fetches real style_id from SkillBoss API Hub for each template Error handling: If template not found, falls back to random selection
Timeout: Generation takes 2-5 minutes, set sufficient timeout
Streaming: Uses streaming API, wait for is_end: true before considering complete
Join 80,000+ one-person companies automating with AI