You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
NeuroLink enables AI-powered PowerPoint presentation generation from text prompts. Transform ideas into professional, visually-appealing presentations with intelligent content planning, multiple slide types, and optional AI-generated images.
Overview
PPT generation in NeuroLink uses a multi-stage pipeline powered by any supported AI provider:
Accepts a text prompt describing the presentation topic via input.text
Plans structured content using AI-powered content planning
Generates individual slides with appropriate types, layouts, and content
Creates optional AI-generated images for visual slides
Assembles a complete .pptx file using pptxgenjs
Returns a PPTGenerationResult containing file path and metadata
graph LR
A[Text Prompt] --> B[Content Planning AI]
B --> C[Slide Schemas]
C --> D[Slide Generator]
D --> E[Image Generation]
E --> F[PPTX Assembly]
F --> G[PPTGenerationResult]
G --> H[Save to File]
Loading
What You Get
Professional presentations – Generate complete PowerPoint files with 5-50 slides
35 slide types – From title and content slides to charts, timelines, dashboards, and composite layouts
5 built-in themes – Modern, Corporate, Creative, Minimal, and Dark
AI image generation – Optional background and decorative images using Gemini
User-provided images – Use your own images instead of AI generation
SDK integration – Use neurolink.generate() with output.mode: "ppt"
CLI support – Generate presentations directly from command line
Multi-provider support – Works with Vertex AI, OpenAI, Anthropic, Google AI, Azure, and Bedrock
import{NeuroLink}from"@juspay/neurolink";import{readFileSync}from"fs";constneurolink=newNeuroLink();// Use your own images instead of AI generationconstresult=awaitneurolink.generate({input: {text: "Product Launch Presentation for our new smartphone",images: [readFileSync("./product-hero.jpg"),readFileSync("./product-features.png"),"./marketing/lifestyle-shot.jpg",// File path also works],},provider: "anthropic",model: "claude-3.5-sonnet",output: {mode: "ppt",ppt: {pages: 12,theme: "creative",generateAIImages: false,// Use provided images only},},});
NeuroLink supports 35 distinct slide types organized by category:
Opening/Closing Slides
Type
Description
Layout Options
title
Opening slide with main title
title-centered, title-bottom
section-header
Section divider with large title
title-centered
thank-you
Final slide with contact info
contact-info, title-centered
closing
Summary and next steps
summary-bullets, title-content
Content Slides
Type
Description
Layout Options
content
Standard title + bullet points
title-content, image layouts
agenda
Table of contents
title-content, two-column
bullets
Enhanced bullet points
title-content
numbered-list
Step-by-step content
title-content
Visual Slides
Type
Description
Image Required
image-focus
Large centered image
Yes
image-left
Image left, content right
Yes
image-right
Content left, image right
Yes
full-bleed-image
Full background image
Yes
gallery
Multiple images grid
Yes
Data Slides
Type
Description
Data Structure
table
Data table with headers
TableRow[]
chart-bar
Bar chart
ChartSeries
chart-line
Line chart for trends
ChartSeries
chart-pie
Pie chart for proportions
ChartSeries
chart-area
Area chart
ChartSeries
statistics
Big numbers display
Statistic[]
Layout Slides
Type
Description
Columns
two-column
Two equal columns
2
three-column
Three column layout
3
split-content
Asymmetric 60/40 split
2
comparison
Side-by-side comparison
2
Special Slides
Type
Description
Key Content
quote
Impactful quote
quote, author
timeline
Chronological events
TimelineItem[]
process-flow
Step-by-step process
ProcessStep[]
features
Feature list with icons
FeatureItem[]
team
Team member profiles
TeamMember[]
icons
Icon grid with labels
icons[]
conclusion
Summary with takeaways
bullets
Composite/Dashboard Slides
Type
Description
Components
dashboard
Multi-zone flexible grid
charts + stats + bullets
mixed-content
Left bullets + right chart
bullets + data
stats-grid
Multiple stat boxes
Statistic[]
icon-grid
Icon boxes in grid
icons
Themes
Built-in Themes
Theme
Colors
Best For
modern
Blue, Purple, Cyan
Tech, Innovation
corporate
Dark Blue, Green, Slate
Business, Finance
creative
Orange, Pink, Yellow
Marketing, Design
minimal
Black, White, Gray
Clean, Professional
dark
Cyan, Purple on Dark
Tech, Startups
Theme Structure
interfacePresentationTheme{name: string;displayName: string;description: string;colors: {primary: string;// Main accent colorsecondary: string;// Secondary accentaccent: string;// Highlight colorbackground: string;// Slide backgroundtext: string;// Body text colortextOnPrimary: string;// Text on primary colormuted: string;// Muted/caption text};fonts: {heading: string;body: string;sizes: {title: number;subtitle: number;heading: number;body: number;caption: number;};};}
Type Definitions
PPTOutputOptions
Options for PPT generation configuration:
typePPTOutputOptions={/** Number of slides (5-50) */pages: number;/** Output format (currently only 'pptx') */format?: "pptx";/** Presentation theme */theme?: "modern"|"corporate"|"creative"|"minimal"|"dark";/** Target audience */audience?: "business"|"students"|"technical"|"general";/** Presentation tone */tone?: "professional"|"casual"|"educational"|"persuasive";/** Generate AI images for visual slides */generateAIImages?: boolean;/** Output file path */outputPath?: string;/** Aspect ratio */aspectRatio?: "16:9"|"4:3";/** Logo image (Buffer, file path, or ImageWithAltText) */logoPath?: Buffer|string|ImageWithAltText;};
PPTGenerationResult
Result type for generated presentation:
typePPTGenerationResult={/** Path to generated file */filePath: string;/** Total number of slides */totalSlides: number;/** Output format */format: "pptx";/** Provider used for content planning */provider: string;/** Model used for content planning */model: string;/** Additional metadata */metadata?: {theme?: string;audience?: string;tone?: string;imageModel?: string;fileSize?: number;};};
Content Structure Types
// Bullet point with optional formattingtypeBulletPoint={text: string;subBullets?: string[];icon?: string;emphasis?: boolean;fontSize?: number;bulletStyle?: "disc"|"number"|"checkmark"|"arrow"|"dash"|"none";color?: string;bold?: boolean;};// Statistics for data slidestypeStatistic={value: string;label: string;trend?: "up"|"down"|"neutral";change?: string;icon?: string;};// Timeline itemstypeTimelineItem={date: string;title: string;description?: string;icon?: string;};// Process stepstypeProcessStep={step: number;title: string;description?: string;icon?: string;};// Chart datatypeChartSeries={name: string;labels: string[];values: number[];color?: string;};
Extended GenerateResult
The generate() function returns an extended result when PPT mode is enabled:
typeGenerateResult={content: string;provider?: string;model?: string;usage?: TokenUsage;responseTime?: number;// PPT-specific field (present when output.mode === "ppt")ppt?: PPTGenerationResult;// Other optional fieldstoolsUsed?: string[];analytics?: AnalyticsData;evaluation?: EvaluationData;};
Configuration & Best Practices
Configuration Options
Option
Type
Default
Required
Description
input.text
string
-
Yes
Topic/description (10-1000 chars)
input.images
Array<Buffer>
-
No
User-provided images
provider
string
vertex
No
AI provider for content planning
model
string
provider default
No
Model for content planning
output.mode
string
text
Yes
Must be "ppt" for PPT output
output.ppt.pages
number
10
Yes
Number of slides (5-50)
output.ppt.theme
string
modern
No
Presentation theme
output.ppt.audience
string
general
No
Target audience
output.ppt.tone
string
professional
No
Presentation tone
output.ppt.generateAIImages
boolean
false
No
Enable AI image generation
output.ppt.aspectRatio
string
16:9
No
Slide aspect ratio
output.ppt.outputPath
string
auto-generated
No
Output file path
output.ppt.logoPath
Buffer | string
-
No
Logo for slides
Best Practices
1. Prompt Engineering
// ❌ Vague promptconstvaguePrompt="Make a presentation";// ✅ Specific and detailedconstspecificPrompt="Create a presentation about Machine Learning in Healthcare: covering benefits, use cases (diagnosis, drug discovery, patient care), implementation challenges, and future outlook";// ✅ Include structure hintsconststructuredPrompt=`Product Launch Presentation for SmartWatch Pro:- Start with value proposition- Cover 5 key features- Include competitor comparison- Show pricing tiers- End with launch timeline and CTA`;