SlideMaster

Convert topics or existing files into professional presentation videos with automated slides and narration.

Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeRead-only

What it can do

  • Generate Outline: Use this when the user wants to plan a presentation. Generates slide titles and descriptions from a topic. Automatically creates a project and returns project_id — no need to call cr
  • Create Project: Use this to create a new empty project. Returns the project_id needed for all subsequent operations.
  • Upload Init: Use this to upload an existing PPTX or PDF file. Returns a pre-signed upload URL and project_id.

What data it sees

Do you need an account

No: the server works without sign-in

Convert topics or existing files into professional presentation videos with automated slides and narration. Streamline content creation by generating outlines, scripts, and high-quality text-to-speech audio in a single workflow. Manage the entire production pipeline from initial rendering to final video export for polished results.

Server tool list (32)

Raw names from tools/list. Only developers need these.

generate_outlineUse this when the user wants to plan a presentation. Generates slide titles and descriptions from a topic. Automatically creates a project and returns project_id — no need to call create_project separately.
create_projectUse this to create a new empty project. Returns the project_id needed for all subsequent operations.
upload_initUse this to upload an existing PPTX or PDF file. Returns a pre-signed upload URL and project_id.
upload_completeUse this after the file has been uploaded to the pre-signed URL. Triggers server-side processing.
analyze_style_imageUpload a style reference image to analyze its visual style (colors, fonts, layout). Returns a style_guide object that can be passed to render_slides to apply this style to all slides. IMPORTANT: image_url must be a publicly accessible URL (e.g. hosted on Imgur, Cloudinary, or any public CDN). Base64 is NOT supported. If the user has a local image, they need to upload it to a public host first.
render_slidesUse this to generate AI slide images for a project. Each slide gets a background image from the AI model. Optionally pass a style_guide (from analyze_style_image) to apply a consistent visual style. Each slide needs: title (displayed heading), description (visual scene description for AI image generation — write in English for best results, e.g. "Modern office with data charts on screen, blue gradient background"). Example slides array: [{"title": "Introduction", "description": "Clean title slide with modern gradient background, large centered text"}, {"title": "Key Findings", "description": "Professional slide with data visualization, bar charts and icons"}] Costs: 42 credits/slide (1K), 140 credits/slide (2K), 250 credits/slide (4K). Poll check_status after calling.
generate_scriptUse this to generate a narration script for a single slide using AI.
batch_generate_scriptsUse this to generate narration scripts for all slides in a project in one batch.
generate_ttsUse this to generate text-to-speech audio. Pass project_id for all slides or slide_id for one slide. Provider comparison: - **gemini**: Best quality for zh-TW/en/ja, natural intonation, recommended default. Voices: Zephyr, Puck, Charon, Kore, etc. - **cosyvoice**: Supports voice cloning (custom voice). Good for zh-TW/zh-CN. Use when user has a cloned voice. - **azure**: Widest language coverage (40+ languages). Good for multilingual projects. Voices: zh-TW-HsiaoChenNeural, en-US-JennyNeural, etc. Cost: 16 credits/slide regardless of provider.
generate_videoUse this as the final step to compile slides + audio into an MP4 video. Poll check_status afterward.
list_projectsUse this when the user wants to see their existing projects. Returns a paginated project list.
get_projectUse this to retrieve detailed metadata and status for a specific project.
update_projectUse this to update project settings like title, description, TTS provider, voice, or language.
delete_projectUse this to permanently delete a project and all its slides, audio, and video. Do not use for archiving.
list_slidesUse this to list all slides in a project with their titles, scripts, and render status.
update_slideUse this to edit a slide's title or narration script text.
delete_slideUse this to permanently remove a single slide from a project.
check_statusUse this to poll processing progress after triggering render, TTS, or video generation. Status values: - "processing": Slides are being rendered (poll every 5-10 seconds) - "parsed": Slides are rendered and ready. Check scripts/audio progress in the response. - "generating_video": Video is being compiled (poll every 5-10 seconds) - "video_completed": Video is ready — call export_project for download URLs - "video_failed": Video generation failed — call generate_video to retry The response includes a next_suggestion field telling you what to do next.
export_projectUse this to get download URLs for all generated assets: slides, audio, and video files.
export_pdfExport all rendered slides as a single PDF file (16:9 landscape, one slide per page). Returns { pdf_url, page_count, title, summary }. IMPORTANT: Give the user the pdf_url value — it is a signed download link that expires. Do NOT construct GCS URLs manually.
export_pptxExport all rendered slides as a single PPTX (PowerPoint) file. Returns { pptx_url, page_count, title, summary }. IMPORTANT: Give the user the pptx_url value — it is a signed download link that expires.
export_evercamExport project as an EverCam offline HTML5 playable package (ZIP). Requires video to be generated first. This is async — call evercam_status to poll progress.
evercam_statusPoll EverCam export progress. Returns status (processing/completed/failed/not_started) and download_url when completed.
list_voicesBrowse available TTS voices. Use this before generate_tts to help the user pick a voice. Providers: gemini (best quality, zh-TW/en/ja), cosyvoice (voice cloning, zh-TW/zh-CN), azure (40+ languages, widest coverage).
get_credit_balanceCheck remaining API credits before starting expensive operations. Call this before large projects (>10 slides) to avoid mid-job failures. Quick reference: 2,000 credits ≈ 14 slides at 2K resolution (slides only, no TTS/video). Per-slide costs: 1K=42, 2K=140, 4K=250 credits. TTS=16/slide, Video=80/project. Full 25-slide course with video ≈ 3,980 credits (render 3,500 + TTS 400 + video 80).
get_credit_transactionsView recent credit transaction history (purchases, consumption, monthly resets, refunds). Use this when the user asks about their billing history or wants to know what consumed their credits.
estimate_costEstimate credit cost BEFORE running expensive operations. Returns per-operation breakdown, total, current balance, and whether you have enough. Always call this before render_slides or topic_to_video on large projects. YouTube cost is dynamic: min 30 credits, actual = max(30, video_duration_minutes x 2). The estimate returns the minimum (30) since duration is unknown before analysis.
get_project_contextGet a complete snapshot of a project in one call: metadata, all slides with script/audio status, progress summary, and what to do next. Call this after any long-running operation to orient yourself before deciding the next action.
topic_to_videoUse this for one-click presentation creation from a topic. Default: slides only. Set include_scripts=true for narration, include_video=true for full MP4. Poll check_status afterward.
get_preferencesGet saved user preferences (style, voice, language, etc). Call this at the START of every conversation to auto-apply the user's past choices. Returns null fields if no preferences saved yet.
save_preferencesSave user preferences for future sessions. Call this when the user explicitly states a preference (e.g. 'I prefer playful style', 'always use Azure voice'). Only send fields that should be updated — existing fields are preserved.
youtube_to_outlineAnalyze a YouTube video and generate a structured course outline. Extracts the transcript (or uses video analysis as fallback) and reorganizes it into a teaching outline. Cost: min 30 credits, actual = max(30, ceil(video_duration_minutes) x 2). A 5-min video costs 30 credits, a 60-min video costs 120 credits. Response includes credits_used and balance_after.