---
title: "Public Extract Lecture Notes"
method: POST
path: "/api/v1/public/extract-lecture-notes"
tags: ["public-api"]
---

# Public Extract Lecture Notes

`POST /api/v1/public/extract-lecture-notes`

## 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/extract-lecture-notes`
- Auth: none declared

從課程逐字稿萃取結構化講義資料。

**與 generate_outline 方向相反**：不是從主題生新大綱，而是從用戶實際講出來的
內容還原結構。適用情境：講師上完課後要回顧實際講了什麼、累積素材庫、
為下次備課準備真實案例。

輸入：transcript（200-100000 字元）+ 可選 context（課程主題、對象）。
輸出：outline（實際章節）、key_arguments（核心論點 + 原文引用）、
cases（實際用過的案例/類比/數據/引言）、callbacks（跨段回呼）、
unanswered_questions（沒深究的問題）。

嚴格遵守：只萃取 transcript 實際存在的內容，不補充、不 hallucinate。

同步呼叫，5-15 秒回傳（依 transcript 長度）。

## Headers

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

## Request body

- PublicExtractLectureNotesRequest
  - `transcript` string, required: 逐字稿文字內容（200-100000 字元）
  - `context` ExtractLectureNotesContext
    - `course_title` string, nullable: 課程主題（幫助 AI 命名章節）
    - `audience` string, nullable: 對象描述
  - `language` 'zh-TW' | 'zh-CN' | 'en' | 'ja'

## Response `200`

Successful Response

- PublicExtractLectureNotesResponse
  - `outline` LectureSection[], required
    - `section_number` integer, required
    - `title` string, required
    - `summary` string, required: 2-3 句描述這段實際講了什麼（不是主題，是實際內容）
  - `key_arguments` LectureKeyArgument[], required
    - `section_number` integer, required
    - `point` string, required: 論點本身
    - `verbatim_snippet` string, nullable: 原文引用佐證
  - `cases` LectureCase[], required
    - `type` 'personal_story' | 'student_case' | 'analogy' | 'data_point' | 'quote' | 'hypothetical', required
    - `summary` string, required
    - `verbatim_snippet` string, nullable
    - `section_number` integer, required
    - `used_for` string, required: 用來論證什麼論點
  - `callbacks` LectureCallback[], required
    - `from_section` integer, required
    - `to_section` integer, required
    - `content` string, required
  - `unanswered_questions` LectureUnansweredQuestion[], required
    - `question` string, required
    - `asked_by` 'student' | 'instructor', required
    - `section_number` integer, required
    - `why_unanswered` string, required
  - `transcript_length_chars` integer, required
  - `summary` string, required
  - `next_suggestion` string, required

## 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)
