返回 Skill 列表
extension
分类: 内容与媒体无需 API Key

gamma-core-workflow-a

实现用于AI演示文稿生成的核心Gamma工作流程。在使用AI辅助从提示、文档或结构化内容创建演示文稿时使用。可以通过诸如“gamma generate presentation”、“gamma AI slides”、“gamma from prompt”、“gamma content to slides”、“gamma automation”等短语触发。

person作者: jakexiaohubgithub

Gamma Core Workflow A: AI Presentation Generation

Overview

Implement the core workflow for generating presentations using Gamma's AI capabilities from various input sources.

Prerequisites

  • Completed gamma-sdk-patterns setup
  • Understanding of async patterns
  • Content ready for presentation

Instructions

Step 1: Prompt-Based Generation

import { GammaClient } from '@gamma/sdk';

const gamma = new GammaClient({ apiKey: process.env.GAMMA_API_KEY });

async function generateFromPrompt(topic: string, slides: number = 10) {
  const presentation = await gamma.presentations.generate({
    prompt: topic,
    slideCount: slides,
    style: 'professional',
    includeImages: true,
    includeSpeakerNotes: true,
  });

  return presentation;
}

// Usage
const deck = await generateFromPrompt('Introduction to Machine Learning', 8);
console.log('Generated:', deck.url);

Step 2: Document-Based Generation

async function generateFromDocument(filePath: string) {
  const document = await fs.readFile(filePath, 'utf-8');

  const presentation = await gamma.presentations.generate({
    sourceDocument: document,
    sourceType: 'markdown', // or 'pdf', 'docx', 'text'
    extractKeyPoints: true,
    maxSlides: 15,
  });

  return presentation;
}

Step 3: Structured Content Generation

interface SlideOutline {
  title: string;
  points: string[];
  imagePrompt?: string;
}

async function generateFromOutline(outline: SlideOutline[]) {
  const presentation = await gamma.presentations.generate({
    slides: outline.map(slide => ({
      title: slide.title,
      content: slide.points.join('\n'),
      generateImage: slide.imagePrompt,
    })),
    style: 'modern',
  });

  return presentation;
}

Step 4: Batch Generation Pipeline

async function batchGenerate(topics: string[]) {
  const results = await Promise.allSettled(
    topics.map(topic =>
      gamma.presentations.generate({
        prompt: topic,
        slideCount: 5,
      })
    )
  );

  return results.map((r, i) => ({
    topic: topics[i],
    status: r.status,
    url: r.status === 'fulfilled' ? r.value.url : null,
    error: r.status === 'rejected' ? r.reason.message : null,
  }));
}

Output

  • AI-generated presentations from prompts
  • Document-to-presentation conversion
  • Structured content transformation
  • Batch processing capability

Error Handling

| Error | Cause | Solution | |-------|-------|----------| | Generation Timeout | Complex prompt | Reduce slide count or simplify | | Content Too Long | Document exceeds limit | Split into sections | | Rate Limit | Too many requests | Implement queue system | | Style Not Found | Invalid style name | Check available styles |

Resources

Next Steps

Proceed to gamma-core-workflow-b for presentation editing and export workflows.