doc2video

io.github.doc2video由 GitHub 账号 doc2video 发布v0.2.3更新于 Oct 29, 2026

Turn documents and photos into narrated AI videos from Claude, ChatGPT, Codex or any MCP client.

已验证Streamable HTTP可网页运行媒体与设计AI 与机器学习

概览

AI 生成的概览

把文档和照片在 doc2video.io 上制作成带旁白的 AI 视频,让助手创建、审阅并调整分镜,最终产出成片。

可以做什么
  • 从本地文件、公开链接、文字或 AI 草稿提示创建和管理项目,并列出或查看项目详情
  • 运行分镜流水线(脚本、关键帧、旁白、预览),并轮询长时间运行的任务
  • 查看带关键帧图片和旁白的分镜,并下载关键帧与分镜说明文件
  • 逐场景编辑:标题、旁白文本或 AI 改写、视觉引擎、照片选择,以及重新生成关键帧
  • 估算费用、查询积分、生成结账或充值链接、用积分或优惠码解锁,并生成和下载最终视频
适用场景
适合想把一文件夹的文档和照片做成带旁白视频的人,也适合让助手先起草、审阅并逐场景打磨分镜,再决定是否付费完成最终制作。
运行要求
可使用托管远程端点并通过 OAuth 登录,或在本地用 Node.js 18.18+ 以 stdio 运行 npm 包。需要 doc2video.io 账号;也可改用可选的 DOC2VIDEO_API_KEY 代替浏览器登录。需要网络访问,且只有本地服务器或 CLI 才能上传本地文件夹。
安装前请注意
最终制作需要付费:AI 片段、合成和下载都需购买,额外分镜或重新生成片段会从预付积分扣费,任何付费调用前应先征得用户同意。结账和充值工具会生成 Stripe 支付链接。服务器会把本地文档和照片上传到 doc2video.io 处理,托管端点无法读取本地文件。API 密钥是保存在本地配置中的凭据。

安装

在 SourceWeft 中

  1. 打开 控制台中的 doc2video,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.doc2video%2Fd2v/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。

{
  "mcpServers": {
    "doc2video": {
      "type": "http",
      "url": "https://doc2video.io/mcp"
    }
  }
}

README

d2v — doc2video CLI and MCP server

[npm] [License: MIT] [Add to Cursor] [Install in VS Code]

Point d2v at a folder of documents and photos and it makes a narrated, AI-produced video on doc2video.io. Drive it yourself, or let Claude or ChatGPT (Codex) drive it for you — either through the CLI or as an MCP server.

bash
d2v create "Spring Open House" ./open-house --duration 1m --aspect 9:16 \  --direction "Warm and inviting, finish on the garden" --build --wait

Install

Requires Node.js 18.18+.

bash
npm install -g doc2video     # installs the `d2v` (and `doc2video`) command

Or run it without installing: npx doc2video <command>.

Log in

bash
d2v login

Your browser opens doc2video. Sign in (or sign up), check the code matches your terminal, click Approve — done. The key is saved to ~/.doc2video/config.json and shows up on the dashboard's API page, where you can revoke it. No browser on this machine? d2v login --no-browser prints the link to open anywhere.

Agents use two steps so they can show you the link: d2v login --start --json (returns the link and code), then d2v login --wait after you approve. Over MCP, the d2v_connect_account tool does the same.

You can also paste a key created on the API page (d2v login --key d2v_…) or set DOC2VIDEO_API_KEY. To target another server (e.g. local dev) use --url http://localhost:3000 or DOC2VIDEO_URL.

What goes in the folder

KindFormatsHow it's used
DocumentsPDF, DOCX, PPTX, Markdown, TXT, CSV, JSONThe story: the script is written from them
PhotosJPG, PNG, WebP, HEIC (iPhone)Shown to the scriptwriter and featured in scenes

Folders are scanned recursively (hidden files skipped). Legacy .doc/.ppt/Keynote/Pages files are skipped with a hint to convert them. A photos-only folder works too — the story is built from the photos and your creative direction. With no files at all, use --draft "description".

Photos are used as-is by default — cropped to the video's shape, and free as still or Ken Burns scenes (you only pay for AI work, e.g. an AI video clip made from the photo). Use --photos restyle to have AI polish them into cinematic keyframes while keeping the real subject, or set it per scene with d2v scene <p> <n> --photo-treatment restyle.

Workflow

bash
d2v create "Name" ./folder [settings] --build --wait   # storyboard: script → keyframes → narration → previewd2v show <project>                                     # scenes, narration, preview URL, next stepsd2v pull <project>                                     # keyframes + storyboard.md to a local folder
# steer, scene by scened2v keyframe  <p> 3 "warmer light, show the sign"      # edit the imaged2v keyframe  <p> 3 --fresh                            # brand-new imaged2v narration <p> 3 --prompt "shorter and punchier"    # AI rewrite + new voice-overd2v narration <p> 3 --text "Exact words."              # exact text + new voice-overd2v scene     <p> 3 --engine veo3                      # still | kenburns | runway | veo3d2v scene     <p> 3 --photo IMG_2041.jpg               # feature a photo (or --photo none)d2v run       <p> preview --wait                       # refresh the preview video
# finish (costs money — you pay in the browser)d2v estimate <p>d2v buy <p> --open          # or: d2v buy <p> --credits, or: d2v redeem <p> CODEd2v produce <p> --wait      # AI clips → final assemblyd2v download <p>

Free storyboards and credits

Each day you get 2 free storyboards and 20 scene redos on unpaid projects. After that, a storyboard costs $0.50 from prepaid credits — pass --use-credits to create --build, build or run to confirm (without it the command stops and tells you the price). Credits also unlock finished videos: d2v buy <p> --credits.

bash
d2v credits                 # balance, free storyboards left today, recent activityd2v credits add 10 --open   # top up $5, $10 or $25 in the browser

Projects can be named by id, 8-character id prefix, or exact name. d2v help <command> shows every option; d2v guide prints the full workflow guide.

Settings (on create and set): --duration auto|30s|1m|2m|5m|10m, --aspect 9:16|16:9, --direction, --voice (see d2v voices), --stability, --photos original|restyle, --consistency/--no-consistency, --client, --email, --phone, --website.

Long-running steps

Everything runs on doc2video's servers; a storyboard takes several minutes and final production longer. --wait blocks with progress on stderr, and Ctrl+C only stops the waiting — the work continues. Pick it back up with d2v wait <project>. Steps can be chained on the server, so a build keeps going even if your terminal closes.

Scripting and agents

Add --json to any command for machine-readable output on stdout (progress stays on stderr). Exit codes: 0 ok, 1 error, 2 usage error, 3 payment required, 4 --wait timed out, 5 rate limit or daily free limit reached.

Use it from Claude or ChatGPT

Hosted MCP server (nothing to install)

doc2video also runs the MCP server for you at https://doc2video.io/mcp. Add it as a custom connector and sign in with your doc2video account when asked (OAuth — no keys to copy):

  • Claude (claude.ai, Desktop, mobile): Settings → Connectors → Add custom connector, URL https://doc2video.io/mcp.
  • Claude Code: claude mcp add --transport http doc2video https://doc2video.io/mcp, then run /mcp to sign in.
  • ChatGPT: add a connector with the server URL https://doc2video.io/mcp (developer mode) and OAuth sign-in.
  • Cursor, VS Code and other clients: a remote server entry such as { "doc2video": { "url": "https://doc2video.io/mcp" } } (VS Code: "type": "http").

The hosted server has the same tools, but it can't see your computer's files: give it text, public links (PDFs, Word and PowerPoint files, photos, web pages), or add files on the project page it links to. To work from local folders, use the CLI or d2v mcp below. Connected apps are listed, and can be disconnected, on your dashboard's API page.

Claude Code / Codex CLI (shell)

Both can simply run d2v. Open a terminal agent in the folder with your files and ask, e.g. "Make a 60-second vertical video from this folder with doc2video, show me the storyboard, and punch up the opening." For better results, install the agent instructions:

  • Claude Code: copy agents/SKILL.md to ~/.claude/skills/doc2video-cli/SKILL.md
  • Codex CLI: append agents/AGENTS.md to ~/.codex/AGENTS.md (or the folder's AGENTS.md)

Both files ship with the package — find them under $(npm root -g)/doc2video/agents/.

MCP (Claude Desktop, Claude Code, Codex, any MCP client)

d2v mcp runs an MCP server over stdio with tools for the whole workflow — including d2v_view_storyboard, which returns the keyframe images so the model can actually see the storyboard and give visual feedback. It's listed in the official MCP Registry as io.github.doc2video/d2v.

The API key below is optional: without one, the d2v_connect_account tool gives you a link to sign in (or sign up) in your browser, and remembers the key.

Cursor / VS Code — use the buttons at the top of this page.

Claude Code

bash
claude mcp add doc2video -- npx -y doc2video mcp# or with a key from doc2video.io/dashboard/api-keys:claude mcp add doc2video -e DOC2VIDEO_API_KEY=d2v_xxx -- npx -y doc2video mcp

Claude Desktop — claude_desktop_config.json:

json
{  "mcpServers": {    "doc2video": {      "command": "npx",      "args": ["-y", "doc2video", "mcp"],      "env": { "DOC2VIDEO_API_KEY": "d2v_xxx" }    }  }}

Codex CLI — ~/.codex/config.toml:

toml
[mcp_servers.doc2video]command = "npx"args = ["-y", "doc2video", "mcp"]env = { DOC2VIDEO_API_KEY = "d2v_xxx" }

With a global install you can use "command": "d2v", "args": ["mcp"] instead of npx.

ChatGPT (web/desktop): ChatGPT connects only to remote MCP servers, so use the hosted server above. Use Codex CLI for local folders.

REST API

The CLI is a thin client over the doc2video REST API — see API.md to call it directly.

Development

bash
npm installnpm run build      # compile to dist/npm test           # build + end-to-end tests against a mock API (no network)npm link           # use your local build as `d2v`

Releases are published from GitHub Actions when a v* tag is pushed: to npm (with provenance) and to the MCP Registry. Issues and pull requests are welcome at github.com/doc2video/cli.

License

The CLI and MCP server are MIT licensed. They're a client for the hosted doc2video service at doc2video.io, which has its own terms.

来源:README.md,提交 40f7cc5

工具

27

d2v_connect_account

Connect doc2video account

Connect this server to the user's doc2video account. Call it first when other tools say the user is not logged in. It returns a link: ask the user to open it, sign in or sign up, and click Approve, then call this tool again to finish.

输入参数wait_seconds

d2v_list_projects

List projects

List the user's doc2video projects (id, name, status, format).

无需输入参数。

d2v_get_project

Get project

Full project detail: settings, sources, every scene (narration, visual mode, photo, keyframe URL), jobs, preview/final video, cost estimate and suggested next steps.

输入参数project必填

d2v_list_voices

List narrator voices

Narrator voices available for projects.

无需输入参数。

d2v_create_project

Create project

Create a video project from local files and folders (uploaded from this machine), public links, written text, or an AI draft prompt. Photos (jpg/png/webp/heic) are featured in scenes; documents (pdf/docx/pptx/md/txt/csv/json) supply the story. Set build: true to start generating the storyboard right away (then poll d2v_wait).

输入参数name必填textbuildvoicesourcesclient_nameconsistencyuse_creditsaspect_ratiodraft_promptcontact_emailcontact_phone另有 5 个

d2v_add_sources

Add sources

Upload more local files/folders, add public links, or add written content to a project. Rebuild the storyboard afterwards for them to take effect.

输入参数textproject必填sources

d2v_remove_source

Remove source

Delete a source document or photo from a project, by document id or filename.

输入参数project必填document必填

d2v_update_project

Update project settings

Change project settings. They apply to steps run afterwards (e.g. run narration again after a voice change).

输入参数namevoiceproject必填client_nameconsistencyaspect_ratiocontact_emailcontact_phonecontact_websitephoto_treatmentvoice_stabilityduration_seconds另有 1 个

d2v_draft_content

AI-draft source content

Have AI write the video's source content from a short description (saved as the project's AI content brief by default).

输入参数saveprompt必填project必填

d2v_suggest_creative_direction

Suggest creative direction

Suggest a creative direction from the project's sources and optional preferences; save: true stores it on the project.

输入参数saveproject必填preferences

d2v_build_storyboard

Build storyboard

Queue the storyboard chain on the server: script → keyframes → narration → preview. `from` starts later in the chain. Starting from the script replaces existing scenes, so it needs force: true when scenes exist. Poll d2v_wait afterwards.

输入参数fromforceproject必填use_credits

d2v_run_step

Run pipeline step

Queue one pipeline step (script, keyframes, narration, preview, clips, assemble), optionally chaining more with `then`. clips and assemble require purchase. Poll d2v_wait afterwards.

输入参数step必填thenproject必填use_creditsmax_credits_cents

d2v_wait

Wait for jobs

Block until the project's queued/running jobs finish or timeout_seconds passes (default 50), then return status. If done is false, call again. Storyboards take several minutes.

输入参数project必填timeout_seconds

d2v_view_storyboard

View storyboard

See scene keyframe images with their titles and narration. Pass `scenes` to view specific scene numbers (default: all).

输入参数scenesproject必填

d2v_update_scene

Update scene

Edit one scene: title, narration text (re-voice with d2v_update_narration), visual engine, approval, or photo. photo accepts a project photo's filename, a document id, an absolute local file path (uploaded), a public link to a photo, or "none" for an AI visual. A photo change regenerates the keyframe unless regenerate_keyframe is false.

输入参数photoscene必填titleproject必填approvedvisual_modenarration_textphoto_treatmentregenerate_keyframe

d2v_regenerate_keyframe

Regenerate keyframe

Regenerate one scene's image. With a direction and mode iterate (default when a keyframe exists) the current image is edited; mode fresh creates a new image from the scene description (plus direction). Run the preview step afterwards to update the video.

输入参数modescene必填project必填direction

d2v_update_narration

Update narration

Change a scene's narration and regenerate its voice-over: pass exact `text`, or a `prompt` for an AI rewrite, or neither to just re-voice. regenerate_audio: false saves text only.

输入参数textscene必填promptproject必填regenerate_audio

d2v_retry_clip

Retry AI clip

Retry a scene's failed AI video clip, optionally on another engine (still/kenburns drop the clip). AI clips require purchase; retrying a failed clip is free, while a pricier engine or a new take of a working clip may cost credits.

输入参数scene必填engineproject必填use_creditsmax_credits_cents

d2v_pull_storyboard

Save storyboard locally

Download every keyframe PNG plus a storyboard.md (titles, narration, prompts) to a local folder.

输入参数project必填output_dir

d2v_estimate_cost

Estimate cost

Price to unlock AI clips, final assembly and download, broken down by each scene's visual engine. Only AI work is charged: photos used as-is are free except for AI video clips.

输入参数project必填

d2v_get_credits

Get credits

The user's prepaid credit balance, free storyboards left today, and recent credit activity.

无需输入参数。

d2v_unlock_with_credits

Unlock with credits

Unlock a project (AI clips, final assembly, download) by paying its price from the user's credits. Only when the user asks; show d2v_estimate_cost first.

输入参数project必填max_credits_cents必填

d2v_redeem_promo_code

Redeem promo code

Unlock a project with a promo code the user provided (one code per account).

输入参数code必填project必填

d2v_produce_video

Produce final video

Generate AI clips for veo3/runway scenes (if needed) then assemble the final video. Requires purchase; only call when the user asks. Clips beyond what the purchase covers (engines changed to pricier ones after buying) need the user's OK to pay from credits. Poll d2v_wait afterwards.

输入参数project必填use_creditsmax_credits_cents

d2v_download_video

Download final video

Save the final MP4 to this machine (requires purchase).

输入参数project必填output_path

版本历史

1
  1. v0.2.3最新Oct 26, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分