MuStory:我把自己畫漫畫的流程做成了 macOS App
起因
前面寫過一篇《漫畫分鏡——第一次調參數》,記錄我用 AI 把童年故事畫成漫畫的 8 步流程。流程跑通了,但每天在終端裏跑腳本、在文件夾之間來回拷貝素材、在三四個工具之間切來切去——折騰一圈下來,半個下午過去了。
於是我琢磨:要不把這套流程做成一個 App?
不是網頁工具,是一個跑在 macOS 上的原生 App。這就是 MuStory(內部叫 xu-story-studio)。

它能做什麼
一句話:把一段文字故事,變成一份能發出去的漫畫/視頻/圖文。
完整流程是這樣的:
- 原文導入:粘貼一段故事原文(我自己寫的童年回憶、神話傳說、公眾號草稿都行)
- 角色抽取:App 自動從原文裏解析出人物,建立角色檔案,生成肖像圖、全身圖、三面圖
- 分鏡生成:按規則把原文切成 12-20 個鏡頭,每個鏡頭帶旁白、構圖、運鏡、連續性字段
- 漫畫生成:每個鏡頭渲染成漫畫格子,角色臉不崩、構圖穩定
- 視頻生成:把分鏡變成帶運鏡的動態片段
- 配音 + 字幕:TTS 把旁白讀出來,逐字時間軸燒到畫面上
- 導出:漫畫格子拼圖、視頻 mp4、公眾號圖文,三條產線並行

設計上跟自己較真的幾個地方
一、Liquid Glass 風格的主界面
主界面沒走 macOS 默認那套灰撲撲的工具風。用了藍白色調的 Liquid Glass 質感:項目卡是分層的毛玻璃材質,邊緣有一道白色高光,下面壓一道克制的藍色陰影。
側邊欄選中態、設置面板、場景/角色/分鏡面板,都共用同一套玻璃卡處理。看久了不累,也不像那些把所有顏色都堆上去的設計稿。
二、分鏡板:橫條 + 豎流,獨立滾動
分鏡這個頁面是日常用得最多的。我做了一個不太常見的佈局:
- 上面是一條固定的橫向鏡頭軌
- 下面是獨立的豎向詳情區
兩個區域各自滾動,互不干擾。點上面某個鏡頭,下面跳到對應的詳情;改下面某個字段,上面對應的縮略圖同步更新。
三、自己畫的玻璃滾動條
macOS 系統的滾動條又粗又會遮內容,我把它拆了,換成 7pt 寬的藍白色材質軌道。平時半透明,hover 加深,拖動時不擋畫面。

細節控可能會在意這種東西。我自己每天看這個 App 十幾個小時,滾動條難看是真的難受。
四、角色參考圖優先級
畫漫畫最大的痛點是:角色臉每格都不一樣。
MuStory 給每個角色建了三類參考圖——肖像、全身、三面。生成的時候按優先級喂給模型:肖像優先,沒有就退全身,再沒有退三面。優先級可以在角色檔案裏手動調。
五、分鏡快照不可變
這是踩了無數坑之後加的機制。
每個分鏡生成那一刻,它的原文錨點、角色、場景、運鏡、連續性字段會凍結成一份快照。後面漫畫、視頻、配音都基于這份快照跑——而不是基於當前的分鏡狀態。
這樣就算我中途改了分鏡文字,已經生成出來的素材還是和原文一致的。不會出現「旁白改了但畫面還是舊版」這種破事。
技術棧
純原生:
- SwiftUI 寫界面
- AppKit / AVKit 處理視頻和音頻
- 故事工作線程(StoryWorker)獨立進程跑生成任務,主線程不被卡
- 一個
StoryModels.swift71 個 struct/enum,把項目、分鏡、角色、生成任務、供應商配置全部類型化
外部供應商可插拔:fal.ai、OpenAI、Google、Kling、ElevenLabs、Suno、Runway……密鑰都在 .env 裏,有哪個填哪個,沒有的對應能力就自動降級。
還沒解決的問題
不裝。說幾個現在還痛的:
- 視頻運鏡不穩:高風險動作模式(推近、搖鏡)經常讓角色臉飛出畫面。我加了「固定機位」兜底,但犧牲了動態感。
- Agnes 免費模型會閉眼、張嘴:免費的總有代價。
- 首頁沒有像素級設計稿:是按照批准過的行為描述和現成視覺 token 拼出來的,目前 P3 待完善。
- 跨項目資產復用:現在一個角色在一個項目裏建好,換項目得重導入。這個遲早要做。
寫在最後
MuStory 不是要和市面上的 AI 漫畫工具競爭。它就是我自己的一套流程:把一段故事,穩定地、可復用地、不出戲地變成漫畫和視頻。
市面上的工具追求「一鍵生成」,我追求「每一步都可調、可審核、可回滾」。
效果怎麼樣?《女媧:摶土造人與煉石補天》那一整套 13 格漫畫就是用它跑出來的,包括分鏡、角色參考、漫畫格、視頻片段、字幕和配音。文章已經發在這個博客的人物本紀分類下。
工具會繼續打磨,故事也會繼續講。
下一個目標:把《請回答1992》整套童年故事用 MuStory 連載成漫畫。
覺得有用?請我喝杯咖啡 ☕
如果文章對你有幫助,歡迎支持一下~
