bytedance/deer-flow2 files

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.

Specification
Skill ID
bytedance/deer-flow/ppt-generation
Publisher
bytedance
Repository
deer-flow
Installs
0
Files
2
Synced
Sep 23, 2026
How to use it

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:

StyleDescriptionBest For
glassmorphismFrosted glass panels with blur effects, floating translucent cards, vibrant gradient backgrounds, depth through layeringTech products, AI/SaaS demos, futuristic pitches
dark-premiumRich black backgrounds (#0a0a0a), luminous accent colors, subtle glow effects, luxury brand aestheticPremium products, executive presentations, high-end brands
gradient-modernBold mesh gradients, fluid color transitions, contemporary typography, vibrant yet sophisticatedStartups, creative agencies, brand launches
neo-brutalistRaw bold typography, high contrast, intentional "ugly" aesthetic, anti-design as design, Memphis-inspiredEdgy brands, Gen-Z targeting, disruptive startups
3d-isometricClean isometric illustrations, floating 3D elements, soft shadows, tech-forward aestheticTech explainers, product features, SaaS presentations
editorialMagazine-quality layouts, sophisticated typography hierarchy, dramatic photography, Vogue/Bloomberg aestheticAnnual reports, luxury brands, thought leadership
minimal-swissGrid-based precision, Helvetica-inspired typography, bold use of negative space, timeless modernismArchitecture, design firms, premium consulting
keynoteApple-inspired aesthetic with bold typography, dramatic imagery, high contrast, cinematic feelKeynotes, 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.

  1. Read the image-generation skill: /mnt/skills/public/image-generation/SKILL.md
  1. 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
  1. 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
  1. 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:9

Step 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.pptx

Parameters:

  • --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",

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.

Use this skill