---
title: "Public Generate Outline"
method: POST
path: "/api/v1/public/outlines/generate"
tags: ["public-api"]
---

# Public Generate Outline

`POST /api/v1/public/outlines/generate`

## Request

- Base URL: `https://api.slidemaster.tw` (the document declares no server; this is the origin it was published from)
- URL: `https://api.slidemaster.tw/api/v1/public/outlines/generate`
- Auth: none declared

使用 AI 根據主題自動生成投影片大綱（同步）。

MCP 來源必須帶 confirmed 的 diagnosis_session_id，否則 400。
Web/直接 API 呼叫不受此限。

錯誤：
- 400：MCP 來源但 session 缺失/未 confirmed。
- 404：session 不存在或 owner 不符。
- 503：Gemini API 未設定。
- 500：大綱生成或 JSON 解析失敗。

## Headers

- `Authorization` string, nullable
- `X-API-Key` string, nullable

## Request body

- PublicOutlineRequest
  - `topic` string, required
  - `slides_count` integer, nullable
  - `language` 'zh-TW' | 'zh-CN' | 'en' | 'ja', nullable
  - `style` 'professional' | 'casual' | 'educational' | 'storytelling', nullable
  - `diagnosis_session_id` string, nullable: MCP 來源必填：由 /content-diagnosis 產出的 confirmed session_id。用於讓大綱吃摩擦點假設。Web/直接 API 可省略。

## Response `200`

Successful Response

- PublicOutlineResponse
  - `summary` string
  - `topic` string, required
  - `slides` PublicOutlineSlide[], required
    - `title` string, required
    - `description` string, required
    - `key_points` string[]
  - `project_id` string
  - `next_suggestion` string

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/slidemaster/apis/slidemaster-ai-api.md) · [All operations](https://skmtc.dev/slidemaster/apis/slidemaster-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/slidemaster/apis/slidemaster-ai-api/revisions/a964c005977e?raw)
