Create a lesson
create_lessonCreate a narrated video lesson from a document, text or web page (use when someone wants a document turned into a training, safety or procedure video)
Use when the user brings a document, a block of text or a web page and wants a video, a lesson, an explainer or a summary video of it. Accepted sources: a file (PDF, DOCX, PPTX, MD or TXT, max 50 MB) sent as multipart, which the local MCP server takes as file_path; plain text (max 5 MB); or a public http(s) url whose readable text becomes the document. Every on-screen sentence cites the source paragraph it came from, so use this when the user needs traceable training, safety or procedure videos. Narration is Turkish. Returns a lesson id immediately; nothing renders and no minutes are spent until approve_lesson. Follow it with get_lesson until the storyboard needs approval. With an Idempotency-Key the same request inside 24h returns the same lesson (same key, different body is 409). API documentation: https://zipirapp.com/en/api/
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "create_lesson"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | A public http(s) page; its readable text becomes the document. | |
| lang | No | Language of the video's narration and on-screen text. Omit it and an English document gets an English video, any other document a Turkish one. A document in another language than the one you ask for is translated: the quoted source stays in its own language, the narration is in the requested language. | |
| text | No | The lesson text itself (UTF-8, max 5 MB). | |
| title | No | Shown in the panel and used in the download file name. | |
| voice | No | Narrator voice key from GET /v1/voices. A voice that declares a language (the premium ones) also sets `lang`; a `lang` that differs is a 400 voice_lang_mismatch. The standard voices declare none and leave `lang` alone. Omit it for the default voice. Premium voices use 1.5x minutes: a 60 s video spends 90 s. | |
| format | No | Video format. GET /v1/formats lists the live set. |