Ppt Generation
Use this skill when the user requests to generate, create, or make presentations (PPT/PPTX). Creates visually rich slides by generating images for each slide and composing them into a PowerPoint file.
- Skill ID
- bytedance/deer-flow/ppt-generation
- Publisher
- bytedance
- Repository
- deer-flow
- Installs
- 0
- Files
- 2
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
bytedance/deer-flow/ppt-generationInstalls these files- SKILL.md
- scripts/generate.py
What this skill tells the agent
PPT Generation Skill
Overview
This skill generates professional PowerPoint presentations by creating AI-generated images for each slide and composing them into a PPTX file. The workflow includes planning the presentation structure with a consistent visual style, generating slide images sequentially (using the previous slide as a reference for style consistency), and assembling them into a final presentation.
Core Capabilities
- Plan and structure multi-slide presentations with unified visual style
- Support multiple presentation styles: Business, Academic, Minimal, Apple Keynote, Creative
- Generate unique AI images for each slide using image-generation skill
- Maintain visual consistency by using previous slide as reference image
- Compose images into a professional PPTX file
Presentation Styles
Choose one of the following styles when creating the presentation plan:
| Style | Description | Best For |
|---|---|---|
| glassmorphism | Frosted glass panels with blur effects, floating translucent cards, vibrant gradient backgrounds, depth through layering | Tech products, AI/SaaS demos, futuristic pitches |
| dark-premium | Rich black backgrounds (#0a0a0a), luminous accent colors, subtle glow effects, luxury brand aesthetic | Premium products, executive presentations, high-end brands |
| gradient-modern | Bold mesh gradients, fluid color transitions, contemporary typography, vibrant yet sophisticated | Startups, creative agencies, brand launches |
| neo-brutalist | Raw bold typography, high contrast, intentional "ugly" aesthetic, anti-design as design, Memphis-inspired | Edgy brands, Gen-Z targeting, disruptive startups |
| 3d-isometric | Clean isometric illustrations, floating 3D elements, soft shadows, tech-forward aesthetic | Tech explainers, product features, SaaS presentations |
| editorial | Magazine-quality layouts, sophisticated typography hierarchy, dramatic photography, Vogue/Bloomberg aesthetic | Annual reports, luxury brands, thought leadership |
| minimal-swiss | Grid-based precision, Helvetica-inspired typography, bold use of negative space, timeless modernism | Architecture, design firms, premium consulting |
| keynote | Apple-inspired aesthetic with bold typography, dramatic imagery, high contrast, cinematic feel | Keynotes, product reveals, inspirational talks |
Workflow
Step 1: Understand Requirements
When a user requests presentation generation, identify:
- Topic/subject: What is the presentation about
- Number of slides: How many slides are needed (default: 5-10)
- Style: business / academic / minimal / keynote / creative
- Aspect ratio: Standard (16:9) or classic (4:3)
- Content outline: Key points for each slide
- You don't need to check the folder under
/mnt/user-data
Step 2: Create Presentation Plan
Create a JSON file in /mnt/user-data/workspace/ with the presentation structure. Important: Include the style field to define the overall visual consistency.
{
"title": "Presentation Title",
"style": "keynote",
"style_guidelines": {
"color_palette": "Deep black backgrounds, white text, single accent color (blue or orange)",
"typography": "Bold sans-serif headlines, clean body text, dramatic size contrast",
"imagery": "High-quality photography, full-bleed images, cinematic composition",
"layout": "Generous whitespace, centered focus, minimal elements per slide"
},
"aspect_ratio": "16:9",
"slides": [
{
"slide_number": 1,
"type": "title",
"title": "Main Title",
"subtitle": "Subtitle or tagline",
"visual_description": "Detailed description for image generation"
},
{
"slide_number": 2,
"type": "content",
"title": "Slide Title",
"key_points": ["Point 1", "Point 2", "Point 3"],
"visual_description": "Detailed description for image generation"
}
]
}Step 3: Generate Slide Images Sequentially
IMPORTANT: Generate slides strictly one by one, in order. Do NOT parallelize or batch image generation. Each slide depends on the previous slide's output as a reference image. Generating slides in parallel will break visual consistency and is not allowed.
- Read the image-generation skill:
/mnt/skills/public/image-generation/SKILL.md
- For the FIRST slide (slide 1), create a prompt that establishes the visual style:
{
"prompt": "Professional presentation slide. [style_guidelines from plan]. Title: 'Your Title'. [visual_description]. This slide establishes the visual language for the entire presentation.",
"style": "[Based on chosen style - e.g., Apple Keynote aesthetic, dramatic lighting, cinematic]",
"composition": "Clean layout with clear text hierarchy, [style-specific composition]",
"color_palette": "[From style_guidelines]",
"typography": "[From style_guidelines]"
}python /mnt/skills/public/image-generation/scripts/generate.py \
--prompt-file /mnt/user-data/workspace/slide-01-prompt.json \
--output-file /mnt/user-data/outputs/slide-01.jpg \
--aspect-ratio 16:9- For subsequent slides (slide 2+), use the PREVIOUS slide as a reference image:
{
"prompt": "Professional presentation slide continuing the visual style from the reference image. Maintain the same color palette, typography style, and overall aesthetic. Title: 'Slide Title'. [visual_description]. Keep visual consistency with the reference.",
"style": "Match the style of the reference image exactly",
"composition": "Similar layout principles as reference, adapted for this content",
"color_palette": "Same as reference image",
"consistency_note": "This slide must look like it belongs in the same presentation as the reference image"
}python /mnt/skills/public/image-generation/scripts/generate.py \
--prompt-file /mnt/user-data/workspace/slide-02-prompt.json \
--reference-images /mnt/user-data/outputs/slide-01.jpg \
--output-file /mnt/user-data/outputs/slide-02.jpg \
--aspect-ratio 16:9- Continue for all remaining slides, always referencing the previous slide:
# Slide 3 references slide 2
python /mnt/skills/public/image-generation/scripts/generate.py \
--prompt-file /mnt/user-data/workspace/slide-03-prompt.json \
--reference-images /mnt/user-data/outputs/slide-02.jpg \
--output-file /mnt/user-data/outputs/slide-03.jpg \
--aspect-ratio 16:9
# Slide 4 references slide 3
python /mnt/skills/public/image-generation/scripts/generate.py \
--prompt-file /mnt/user-data/workspace/slide-04-prompt.json \
--reference-images /mnt/user-data/outputs/slide-03.jpg \
--output-file /mnt/user-data/outputs/slide-04.jpg \
--aspect-ratio 16:9Step 4: Compose PPT
After all slide images are generated, call the composition script:
python /mnt/skills/public/ppt-generation/scripts/generate.py \
--plan-file /mnt/user-data/workspace/presentation-plan.json \
--slide-images /mnt/user-data/outputs/slide-01.jpg /mnt/user-data/outputs/slide-02.jpg /mnt/user-data/outputs/slide-03.jpg \
--output-file /mnt/user-data/outputs/presentation.pptxParameters:
--plan-file: Absolute path to the presentation plan JSON file (required)--slide-images: Absolute paths to slide images in order (required, space-separated)--output-file: Absolute path to output PPTX file (required)
[!NOTE] Do NOT read the python file, just call it with the parameters.
Complete Example: Glassmorphism Style (最现代前卫)
User request: "Create a presentation about AI product launch"
Step 1: Create presentation plan
Create /mnt/user-data/workspace/ai-product-plan.json:
{
"title": "Introducing Nova AI",
"style": "glassmorphism",
"style_guidelines": {
"color_palette": "Vibrant purple-to-cyan gradient background (#667eea→#00d4ff), frosted glass panels with 15-20% white opacity, electric accents",More from bytedance
Use this skill in a project
Open any RiverX project, search the Skills panel for bytedance/deer-flow/ppt-generation, and install it in one click.
