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 分