From f9121cc11a147537373e669715c92bbe8eba7cb2 Mon Sep 17 00:00:00 2001 From: Suraj Jha Date: Sat, 23 Aug 2025 11:35:41 +0545 Subject: [PATCH 1/3] Update README.md: add changed api request --- README.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 01486e51..dc646a7e 100644 --- a/README.md +++ b/README.md @@ -172,7 +172,6 @@ Content-Type: `multipart/form-data` | n_slides | integer | No | Number of slides to generate (default: 8, min: 5, max: 15) | | language | string | No | Language for the presentation (default: "English") | | template | string | No | Presentation template (default: "general"). Available options: "classic", "general", "modern", "professional" + Custom templates | -| documents | File[] | No | Optional list of document files to include in the presentation. Supported file types: PDF, TXT, PPTX, DOCX | | export_as | string | No | Export format ("pptx" or "pdf", default: "pptx") | #### Response @@ -189,11 +188,14 @@ Content-Type: `multipart/form-data` ```bash curl -X POST http://localhost:5000/api/v1/ppt/presentation/generate \ - -F "prompt=Introduction to Machine Learning" \ - -F "n_slides=5" \ - -F "language=English" \ - -F "template=general" \ - -F "export_as=pptx" + -H "Content-Type: application/json" \ + -d '{ + "prompt": "Introduction to Machine Learning", + "n_slides": 5, + "language": "English", + "template": "general", + "export_as": "pptx" + }' ``` #### Example Response From 5b8e7777308444e242a7c1128caa0714acbcd213 Mon Sep 17 00:00:00 2001 From: Suraj Jha Date: Sat, 23 Aug 2025 11:39:04 +0545 Subject: [PATCH 2/3] Update README.md --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index dc646a7e..0d9154f0 100644 --- a/README.md +++ b/README.md @@ -160,9 +160,7 @@ Endpoint: `/api/v1/ppt/presentation/generate` Method: `POST` -Content-Type: `multipart/form-data` - -> **Note**: Make sure to set `Content-Type` as `multipart/form-data` and not `application/json`. +Content-Type: `application/json` #### Request Body From b0aae415a3b9337120a498d0abad709c3c1d70c8 Mon Sep 17 00:00:00 2001 From: shiva raj badu Date: Sat, 23 Aug 2025 19:17:20 +0545 Subject: [PATCH 3/3] feat(Nextjs): add speaker notes functionality to slides --- .../pdf-maker/PdfMakerPage.tsx | 2 +- .../presentation/components/SlideContent.tsx | 25 ++++++++++++++++++- .../(presentation-generator)/types/slide.ts | 2 ++ 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/servers/nextjs/app/(presentation-generator)/pdf-maker/PdfMakerPage.tsx b/servers/nextjs/app/(presentation-generator)/pdf-maker/PdfMakerPage.tsx index dcfd31e8..1c95bc44 100644 --- a/servers/nextjs/app/(presentation-generator)/pdf-maker/PdfMakerPage.tsx +++ b/servers/nextjs/app/(presentation-generator)/pdf-maker/PdfMakerPage.tsx @@ -122,7 +122,7 @@ const PresentationPage = ({ presentation_id }: { presentation_id: string }) => { presentationData.slides.length > 0 && presentationData.slides.map((slide: any, index: number) => ( // [data-speaker-note] is used to extract the speaker note from the slide for export to pptx -
+
{renderSlideContent(slide, true)}
))} diff --git a/servers/nextjs/app/(presentation-generator)/presentation/components/SlideContent.tsx b/servers/nextjs/app/(presentation-generator)/presentation/components/SlideContent.tsx index 342e7be1..689840f3 100644 --- a/servers/nextjs/app/(presentation-generator)/presentation/components/SlideContent.tsx +++ b/servers/nextjs/app/(presentation-generator)/presentation/components/SlideContent.tsx @@ -1,5 +1,5 @@ import React, { useEffect, useState, useMemo } from "react"; -import { Loader2, PlusIcon, Trash2, WandSparkles } from "lucide-react"; +import { Loader2, PlusIcon, Trash2, WandSparkles, StickyNote } from "lucide-react"; import { Popover, PopoverContent, @@ -174,6 +174,7 @@ const SlideContent = ({ slide, index, presentationId }: SlideContentProps) => { presentationId={presentationId} /> )} + {!isStreaming && !loading && (
{
)} + {/* Speaker Notes */} + {!isStreaming && slide?.speaker_note && ( +
+ + +
+ + + +
+
+ +
+

Speaker notes

+
+ {slide.speaker_note} +
+
+
+
+
+ )}
diff --git a/servers/nextjs/app/(presentation-generator)/types/slide.ts b/servers/nextjs/app/(presentation-generator)/types/slide.ts index c5dd82b5..05dd38df 100644 --- a/servers/nextjs/app/(presentation-generator)/types/slide.ts +++ b/servers/nextjs/app/(presentation-generator)/types/slide.ts @@ -32,5 +32,7 @@ export interface Slide { icons: string[] | null; graph_id: string | null; presentation?: string; + speaker_note?: string; + content: SlideContent; }