SSD Nodes Learn Hosting plans →
指南 Matt Connor作者: Matt Connor

在 VPS 上自托管 MoneyPrinterTurbo:部署、DeepSeek 与合规

用 v1.3.9 镜像在 VPS 上全天运行 MoneyPrinterTurbo:端口只绑 127.0.0.1,经 SSH 隧道或 Caddy 加密码访问,接入 DeepSeek 和 Pexels,按 token 单价自己算成本,发布前看清 AI 内容标识办法。

在 VPS 上跑 MoneyPrinterTurbo 要做哪几件事

在 VPS 上自托管 MoneyPrinterTurbo,核心是三件事。第一,用官方的 docker-compose.release.yml 启动,但把镜像固定到 v1.3.9。第二,保持端口只绑定在 127.0.0.1。第三,通过 SSH 隧道或者带密码的 Caddy 打开 WebUI。剩下的工作都在 config.toml 里:大模型用哪一家,素材从哪里拉,字幕要不要 Whisper。

MoneyPrinterTurbo 是一个开源的短视频生成工具。你给它一个主题,它让大模型写文案,再去素材库找画面,配上语音和字幕,最后合成一条视频。放在自己的电脑上,电脑关机它就停了。放在一台租来的服务器上,它全天在线,你在手机或电脑的浏览器里随时提交任务。如果你还没决定用哪个工具,可以先看 自托管 AI 视频生成工具的对比。

本文写于 2026 年 10 月 23 日。v1.3.9 发布于 2026 年 10 月 21 日,是 GitHub 上标为 Latest 的版本。下文的配置项和默认值都按 v1.3.9 标签下的文件核对过。硬件建议和启动说明来自 main 分支的 README,没有绑定到 v1.3.9。

MoneyPrinterTurbo 需要多大的服务器

README 给了三档配置。最低是 4 核 CPU、4 GB 内存。推荐是 6 到 8 核、8 GB 内存。理想是 8 核以上、16 GB 以上内存。

GPU 不是必需的。不过 README 也写得很清楚:如果你想在本地做语音转录、更快地处理视频,或者批量生成,建议用带显存的独立显卡,推荐 4 GB 显存,理想 8 GB。所以准确的说法是“不需要 GPU 也能跑”,而不是“用不上 GPU”。如果你的 VPS 没有显卡,就按纯 CPU 来规划,并且先不要开 Whisper 字幕,原因见后文。

磁盘也要留出余量。镜像、素材缓存和成片都会占空间。如果以后打开 Whisper,第一次使用时它还会下载一个约 3 GB 的模型。

准备工作:Docker 和 Compose

下面的命令假设系统是 Ubuntu 24.04,已经装好 Docker Engine 和 Compose 插件,并且你用一个能执行 docker 的普通用户登录。如果还没装,按 在 VPS 上安装和使用 Docker Compose 的基础教程 先装好。确认方法:

docker --version
docker compose version

两条命令都应该打印出版本号。如果第二条报错说 compose 不是 docker 的命令,说明 Compose 插件没有装。

下载 compose 文件并固定到 v1.3.9

上游的 docker-compose.release.yml 定义了两个服务:webui 和 api。容器名分别是 moneyprinterturbo-webui 和 moneyprinterturbo-api。两个服务用的都是 ghcr.io/harry0703/moneyprinterturbo:latest。

latest 会随上游更新而变化。今天能用的配置,下周重新拉镜像可能就变了,而你不会收到任何提示。固定到 v1.3.9 以后,什么时候升级由你决定。GitHub 容器仓库里已经有 v1.3.9 这个标签。

mkdir -p ~/moneyprinterturbo && cd ~/moneyprinterturbo
curl -fsSLO https://raw.githubusercontent.com/harry0703/MoneyPrinterTurbo/v1.3.9/docker-compose.release.yml
curl -fsSL -o config.toml https://raw.githubusercontent.com/harry0703/MoneyPrinterTurbo/v1.3.9/config.example.toml
sed -i 's#ghcr.io/harry0703/moneyprinterturbo:latest#ghcr.io/harry0703/moneyprinterturbo:v1.3.9#g' docker-compose.release.yml
grep -nE 'image:|127.0.0.1' docker-compose.release.yml

注意两个下载地址里都是 v1.3.9,不是 main。这样 compose 文件和示例配置来自同一个版本。

grep 应该打印四行:两行 image: 都以 :v1.3.9 结尾,两行端口分别是 127.0.0.1:8501:8501 和 127.0.0.1:8080:8080。如果还看到 :latest,说明 sed 没有匹配上,打开文件手动改。

README 要求在第一次启动前把 config.example.toml 复制为 config.toml。原因是两个服务都把 ./config.toml 挂载到容器里的 /MoneyPrinterTurbo/config.toml。上面的第二条 curl 已经直接存成了 config.toml。两个服务还会把 ./storage 挂载到 /MoneyPrinterTurbo/storage,生成的任务文件都在这里。

为什么不要把端口改成 "8501:8501"

官方 compose 把 WebUI 绑在 127.0.0.1:8501,把 API 绑在 127.0.0.1:8080。这意味着只有这台服务器自己能访问这两个端口。

你可能会在 config.toml 里看到 listen_host = "0.0.0.0",以为程序本来就对外开放。这一项作用在容器内部。容器里的程序监听所有网卡,但宿主机上能不能访问、从哪里访问,由 compose 里的端口映射决定。所以这一项不用改,要守住的是 compose 里的 127.0.0.1。

很多教程会把端口写成 "8501:8501"。不写宿主机地址时,Docker 会把端口发布到所有网卡上。Docker 官方文档说明,发往已发布容器端口的数据包在到达 ufw 的规则之前就被转发了,所以 ufw deny 8501 拦不住它。结果是:sudo ufw status 显示一切正常,但从另一台机器 curl http://你的公网IP:8501 可以直接打开页面。详细原理和验证方法见 为什么 Docker 发布的端口会绕过 UFW。Docker 文档还提到,Docker 28.0.0 之前的版本里,同一个二层网段上的其他主机有可能访问到只绑定在 localhost 的端口,所以 Docker 版本也不要太旧。

这件事对 MoneyPrinterTurbo 特别重要。我读完了 v1.3.9 的 webui/Main.py,没有找到任何登录或密码逻辑。代码里唯一跟密码有关的,是填第三方 API key 的输入框。config.example.toml 里也没有 WebUI 密码选项。也就是说,WebUI 一旦暴露到公网,任何找到它的人都能用你填进去的 DeepSeek 和 Pexels key 生成视频,费用记在你的账上。

配置大模型:默认的 Moonshot 还是 DeepSeek

config.toml 里的项目很多。下面提到的键在文件里都已经存在。用编辑器搜索键名,直接修改那一行的值,不要在文件末尾再写一遍,否则 TOML 可能因为重复键报错。

v1.3.9 示例配置的默认提供方是 Moonshot,也就是 llm_provider = "moonshot"。moonshot_api_key、moonshot_base_url 和 moonshot_model_name 默认都是空的。key 必须自己填。地址和模型名留空时,程序使用代码里的默认值,模型是 kimi-k3。

如果改用 DeepSeek,需要改四行:

llm_provider = "deepseek"
deepseek_api_key = "sk-你的key"
deepseek_base_url = "https://api.deepseek.com"
deepseek_model_name = "deepseek-flash"

key 在 https://platform.deepseek.com/api_keys 申请,示例配置的注释里也写着这个地址。https://api.deepseek.com 是 DeepSeek 兼容 OpenAI 格式的接口地址,也是 MoneyPrinterTurbo 里 DeepSeek 的默认地址。

模型名建议明确写上。原因是:deepseek_model_name 留空时,v1.3.9 的默认模型是 deepseek-v4-pro,这是贵的那一档。DeepSeek 当前的两个模型名是 deepseek-flash(目前由 DeepSeek-V4.1-Flash-1017 提供服务)和 deepseek-v4-pro(DeepSeek-V4-Pro-0813)。旧名字 deepseek-v4-flash 已经停用,但接口仍然接受,并按 Flash 的价格计费。写短视频文案一般不需要最强的模型,先用 deepseek-flash 试,效果不够再换。

如果你在同一台机器上还跑别的 DeepSeek 应用,可以参考 在 VPS 上运行 DeepSeek 智能体工具,几个应用分开用不同的 key,账单更容易对得上。

素材、配音和字幕:哪些要 key,哪些不要

Pexels 素材:默认来源,必须有 key

默认的视频来源是 Pexels,也就是 video_source = "pexels"。pexels_api_keys 默认是空列表。v1.3.9 的 WebUI 在来源是 Pexels 且没有 key 时会直接停止生成,所以这个 key 是必填的。

Pexels 的 API key 是免费的,有 Pexels 账号就能在 https://www.pexels.com/api/ 申请,申请后立刻可用。默认限额是每小时 200 次请求、每月 20,000 次,需要更高的额度要联系 Pexels。配置支持填多个 key 轮换:

pexels_api_keys = ["第一个key", "第二个key"]

video_source 也可以改成 pixabay、coverr、wavespeed 等其他来源,各自需要的 key 在配置文件里有对应的项。

Edge TTS 配音:不需要 key

README 写明 Edge TTS 免费,不需要 API key。示例配置里 edge_tts_timeout = 30,是每次流式请求的超时秒数。服务器网络不稳定时,配音这一步可能先超时。

Whisper 字幕:可选,默认不用

subtitle_provider 默认是 "edge",字幕直接取自 Edge TTS。可以改成 "whisper",也可以留空,留空就不生成字幕。Whisper 只在被选中时才加载。Edge 出错时,程序也不会自动去下载 Whisper 模型。

[whisper] 段的默认值是 model_size = "large-v3"、device = "cpu"、compute_type = "int8"。也就是说,默认在 CPU 上运行。第一次使用时会从 Hugging Face 下载约 3 GB 的 large-v3 模型。我没有在 CPU 上测转录速度,所以这里不给数字。如果你想打开它,先用一条短视频测一下自己的机器要多久,再决定。

并发任务数

示例配置的 max_concurrent_tasks = 5。在 4 核 4 GB 的最低配置上,可以先改成 1 或 2,看着 docker stats 的内存占用再往上调。

设置 [app] api_key,并弄清它保护的是什么

[app] 段里的 api_key 默认为空。为空时,API 路由和 /tasks 下生成的文件都不需要认证。设置以后,客户端必须在 x-api-key 请求头里带上同样的值。这个功能是 v1.3.5 加入的。

先生成一个随机值:

openssl rand -hex 32

把输出填进去:

api_key = "上一步生成的64位十六进制字符串"

要清楚它的范围:api_key 保护的是 8080 端口上的 API 和 /tasks 里的文件,不是 8501 端口上的 Streamlit WebUI。设置了它,WebUI 仍然没有登录页。WebUI 的保护要靠后面的 SSH 隧道或 Caddy。那为什么还要设?因为端口绑在 127.0.0.1 只挡住了外部。同一台机器上的其他程序,或者以后你通过反向代理开放 API 时,没有这个 key 的请求会被拒绝。

启动并检查

cd ~/moneyprinterturbo
docker compose -f docker-compose.release.yml pull
docker compose -f docker-compose.release.yml up -d
docker compose -f docker-compose.release.yml ps

README 里的启动命令是 docker compose -f docker-compose.release.yml up,会从 GitHub 容器仓库拉取预构建的镜像。这里加了 -d,让它在后台运行。两个服务都设置了 restart: always,所以 Docker 开机自启的话,服务器重启后它们会自己回来。

ps 应该列出 moneyprinterturbo-webui 和 moneyprinterturbo-api 两个容器,状态都是 running。然后确认端口只在本机:

ss -ltn | grep -E ':(8501|8080)'
curl -s -o /dev/null -w '%{http_code}' http://127.0.0.1:8501; echo

ss 的输出里,本地地址应该是 127.0.0.1:8501 和 127.0.0.1:8080。如果看到 0.0.0.0:8501 或 [::]:8501,说明 compose 文件里的端口被改过,回去检查。curl 应该打印 200。

修改 config.toml 以后,重启容器让配置生效:

docker compose -f docker-compose.release.yml restart
docker compose -f docker-compose.release.yml logs -f webui

生成失败时,先看 logs 的输出。大多数问题是 key 没填、key 填错,或者某个上游服务连不上。

从自己电脑访问 WebUI:SSH 隧道

最简单也最安全的方法是 SSH 隧道。在你自己的电脑上运行:

ssh -N -L 8501:127.0.0.1:8501 你的用户名@你的服务器IP

命令运行后没有输出,这是正常的。保持这个终端不关,在本机浏览器打开 http://127.0.0.1:8501,看到的就是服务器上的 WebUI。想看 API 文档,再加一条 -L 8080:127.0.0.1:8080,然后打开 http://127.0.0.1:8080/docs。

这个方法不需要开放任何新端口,也不需要域名。缺点是每次都要先连 SSH,用手机就不方便。

长期使用:Caddy 加 basic_auth 和 HTTPS

如果想用域名直接打开,在宿主机上装 Caddy,让它监听 443,再把请求转给 127.0.0.1:8501。Caddy 跑在宿主机上,不在 Docker 里,所以 ufw 对它的 80 和 443 端口照常生效。安装步骤和自动 HTTPS 的前提见 在 VPS 上用 Caddy 做反向代理。Caddy 需要一个已经解析到这台服务器的域名,才能自动申请证书。

先确认版本:

caddy version

指令名 basic_auth 从 v2.8.0 开始使用。更早的版本里它叫 basicauth。如果你的 Caddy 低于 2.8.0,把下面配置里的 basic_auth 换成 basicauth,或者升级 Caddy。

basic_auth 只接受哈希过的密码,不接受明文。生成哈希:

caddy hash-password

它会让你输入两次密码,然后打印一串哈希,默认算法是 bcrypt。把它填进 /etc/caddy/Caddyfile:

video.example.com {
    basic_auth {
        creator 这里粘贴上一步输出的哈希
    }
    reverse_proxy 127.0.0.1:8501
}

然后重新加载并放行端口:

sudo systemctl reload caddy
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

用浏览器打开 https://video.example.com,应该先弹出用户名和密码框,输入正确后才看到 WebUI。basic auth 在纯 HTTP 下不安全,因为密码几乎是明文传输,所以一定要走 HTTPS。

Streamlit 的页面靠 WebSocket 和服务器保持连接。Caddy 的 reverse_proxy 支持 WebSocket,不需要额外配置。要注意一点:默认情况下,Caddy 重新加载配置时会强制关闭已有的 WebSocket 连接,于是页面会断开重连。如果你经常改 Caddy 配置,可以看 stream_close_delay 选项,它能推迟关闭。

一条视频的 LLM 费用怎么算

我没有实际跑生成任务,所以没有测到一条文案用了多少 token。下面只给方法和 DeepSeek 公布的单价,具体数字请用你自己的用量代入。

DeepSeek 的价格按每百万 tokens 计,分高峰和非高峰两档,非高峰是高峰价的一半。下表是 2026 年 10 月 23 日 DeepSeek 定价页上的价格,单位是美元。

图表DeepSeek API 单价(美元 / 每百万 tokens,2026-10-23)
此图表背后的数据
[
  {
    "label": "deepseek-flash \u975e\u9ad8\u5cf0",
    "input_cache_miss": 0.15,
    "input_cache_hit": 0.003,
    "output": 0.6
  },
  {
    "label": "deepseek-flash \u9ad8\u5cf0",
    "input_cache_miss": 0.3,
    "input_cache_hit": 0.006,
    "output": 1.2
  },
  {
    "label": "deepseek-v4-pro \u975e\u9ad8\u5cf0",
    "input_cache_miss": 0.66,
    "input_cache_hit": 0.022,
    "output": 1.98
  },
  {
    "label": "deepseek-v4-pro \u9ad8\u5cf0",
    "input_cache_miss": 1.32,
    "input_cache_hit": 0.044,
    "output": 3.96
  }
]

以 deepseek-flash 非高峰为例:未命中缓存的输入是每百万 tokens 0.15 美元,输出是 0.6 美元。最贵的一档是 deepseek-v4-pro 高峰时段,输出每百万 tokens 3.96 美元。

高峰时段是 UTC 周一到周五的 01:00 到 04:00 和 06:00 到 10:00,不含中国法定节假日。换成北京时间,就是工作日的 09:00 到 12:00 和 14:00 到 18:00。服务器全天在线的好处在这里就体现出来了:批量任务可以排到晚上或周末跑,单价减半。

计算公式很简单:费用 = 输入 tokens × 输入单价 ÷ 1,000,000 + 输出 tokens × 输出单价 ÷ 1,000,000。为了让数量级更直观,下面假设每条文案的请求是 2,000 个输入 tokens 加 1,000 个输出 tokens,输入全部按未命中缓存计算。这个 token 数是假设,不是测量值。

图表假设每条 2,000 输入加 1,000 输出 tokens:每 1,000 条文案的 LLM 费用(美元)
此图表背后的数据
[
  {
    "label": "deepseek-flash \u975e\u9ad8\u5cf0",
    "usd_per_1000_scripts": 0.9
  },
  {
    "label": "deepseek-flash \u9ad8\u5cf0",
    "usd_per_1000_scripts": 1.8
  },
  {
    "label": "deepseek-v4-pro \u975e\u9ad8\u5cf0",
    "usd_per_1000_scripts": 3.3
  },
  {
    "label": "deepseek-v4-pro \u9ad8\u5cf0",
    "usd_per_1000_scripts": 6.6
  }
]

在这个假设下,用 deepseek-flash 非高峰生成 1,000 条文案约 0.9 美元,用 deepseek-v4-pro 高峰约 6.6 美元。这也说明了为什么前面建议明确写上 deepseek_model_name:留空会落到 pro 档。

要得到你自己的真实数字,先跑 10 条视频,然后在 DeepSeek 开放平台的账户里核对这段时间的实际用量和扣费,除以 10。一次生成可能不止调用一次大模型,所以按账户里的总量算,比按文案字数估更准。DeepSeek 在定价页上说明价格可能调整,以官方页面为准。

LLM 只是成本的一部分。服务器月租是固定成本,Pexels 和 Edge TTS 不收费。CPU 渲染视频不另外花钱,但会占满机器,这也是要调低并发任务数的原因。

服务器放在境内还是境外

这套流程依赖几个上游服务:镜像来自 ghcr.io,素材来自 Pexels API,配音走 Edge TTS,打开 Whisper 时模型从 Hugging Face 下载,文案来自你选的大模型接口。服务器能不能稳定访问这些地址,直接决定任务能不能跑完。

这是普通的机房选址问题。最可靠的办法是在你准备租的机器上实际测一遍:

curl -sI --max-time 10 https://ghcr.io | head -n 1
curl -sI --max-time 10 https://api.pexels.com | head -n 1
curl -sI --max-time 10 https://huggingface.co | head -n 1
curl -sI --max-time 10 https://api.deepseek.com | head -n 1

每条命令只要打印出一行 HTTP/... 状态,不管是 200 还是 404,都说明网络是通的。没有任何输出,说明 10 秒内连不上。四个地址都通,这台机器就适合跑 MoneyPrinterTurbo。

有些人选择境外机房,是因为这些上游服务本身在境外,服务器和它们在网络上更近。这只是托管位置的选择。不管机器放在哪里,你发布到国内平台的视频,仍然适用国内的内容规定。两种机房各自的取舍,见 面向中国用户的 VPS:境外与境内机房怎么选。

发布到抖音、视频号、B站之前:AI 内容标识

下面是对规定原文的介绍,不是法律意见。你的具体情况是否适用某一条,请自己读原文,必要时咨询专业人士。

《人工智能生成合成内容标识办法》文号是国信办通字〔2025〕2号,由国家互联网信息办公室、工业和信息化部、公安部、国家广播电视总局联合发布,2025 年 3 月 14 日公布,自 2025 年 9 月 1 日起施行。全文可以在中国政府网的政策文件库查到。

跟短视频创作者关系最大的有几条。第四条要求服务提供者对生成的视频添加显式标识:在视频起始画面和播放周边的适当位置添加显著的提示标识,也可以在视频末尾和中间添加。第五条要求在文件元数据里添加隐式标识。第六条要求内容传播平台检查文件元数据里的隐式标识。第十条要求用户通过网络信息内容传播服务发布生成合成内容时,主动声明,并使用平台提供的标识功能进行标识。同一条还规定,任何组织和个人不得恶意删除、篡改、伪造、隐匿这些标识。

自己部署 MoneyPrinterTurbo 的人,是否属于办法里说的“服务提供者”,我没有核实,这需要你自己判断。但第十条针对的是发布内容的用户,你把视频发到抖音、视频号或 B站时,这一条直接适用:发布时要主动声明,并使用平台的标识功能。

各平台的声明入口在哪里、叫什么名字,变化比较快,本文不写具体路径。发布前,在抖音的安全与信任中心、视频号的创作者规则,以及 B站的创作中心里,查看各自当前的 AI 内容声明说明,以平台页面为准。

我也没有核实 MoneyPrinterTurbo v1.3.9 生成的文件里是否写入了任何标识或元数据。你可以自己检查成片的元数据:

sudo apt install -y ffmpeg
find ~/moneyprinterturbo/storage/tasks -name '*.mp4' | head
ffprobe -hide_banner 上一步列出的某个mp4文件路径

ffprobe 输出开头的 Metadata: 部分列出了文件里的所有元数据标签。如果里面没有任何跟 AI 生成有关的内容,就不要假设文件自带标识,发布时按平台流程主动声明。

Pexels 素材的授权边界

Pexels 的许可写明:所有照片和视频都可以免费使用,不要求署名,允许修改。同时列出了几条不允许的用法:

  • 不得让可识别的人物以负面或冒犯的方式出现。
  • 不得出售未经修改的素材副本。
  • 不得暗示画面中的人物或品牌为你的产品背书。
  • 不得把素材用作商标、设计标识、商号、企业名称或服务标志的一部分。
  • 不得把素材再发布到其他图库平台。

对自动生成的短视频来说,前三条最容易出问题。程序按关键词自动选素材,不会判断画面里的人物出现在什么语境中。比如一条吐槽类或负面话题的视频,配上一张可识别的人脸,就可能违反第一条。带货视频里出现某个品牌的标志,可能被理解成品牌背书。批量发布之前,至少人工看一遍成片里的人物和品牌。

另外,Pexels 的 API 文档要求使用 API 的应用显著地链接到 Pexels,并把免费无限请求和遵守 API 条款关联在一起。这一条是否适用于你的生成流程,请自己读一遍 API 条款再判断。

以后怎么升级

升级前先看 GitHub 上新版本的发布说明,确认配置项有没有变化。然后备份配置和输出:

cd ~/moneyprinterturbo
tar czf ~/mpt-backup-$(date +%F).tgz config.toml docker-compose.release.yml

config.toml 里有你所有的 API key,备份文件不要放到公开的地方。把 compose 文件里两处 v1.3.9 改成新版本号,然后:

docker compose -f docker-compose.release.yml pull
docker compose -f docker-compose.release.yml up -d

新版本有问题时,把版本号改回 v1.3.9,再运行同样的两条命令,就回到了原来的状态。这就是固定版本的意义。

FAQ:常见问题

MoneyPrinterTurbo v1.3.9 的 WebUI 有登录密码吗?

我在 v1.3.9 的 webui/Main.py 里没有找到登录或密码逻辑,config.example.toml 里也没有 WebUI 密码选项。[app] api_key 只保护 8080 端口的 API 和 /tasks 下的文件,不保护 8501 端口的 WebUI。所以要保持 compose 里的 127.0.0.1:8501 绑定,通过 SSH 隧道访问,或者在前面加一层带 basic_auth 和 HTTPS 的 Caddy。

没有 GPU 的 VPS 能跑 MoneyPrinterTurbo 吗?

能。README 写明 GPU 不是必需的,最低配置是 4 核 CPU、4 GB 内存,推荐 6 到 8 核、8 GB 内存。README 同时建议,如果要在本地做语音转录、更快地处理视频或批量生成,最好有 4 GB 以上显存的显卡。纯 CPU 机器上,字幕建议用默认的 Edge,不要打开 Whisper。

必须申请 Pexels API key 吗?

默认的素材来源是 Pexels。v1.3.9 的 WebUI 在来源是 Pexels 且 pexels_api_keys 为空时会停止生成,所以用默认来源就必须有 key。key 免费,有 Pexels 账号就能在 https://www.pexels.com/api/ 申请,立刻可用。也可以把 video_source 换成 pixabay 等其他来源,再填对应的 key。

用 DeepSeek 生成一条视频的文案要多少钱?

没有一个固定的数字,取决于文案长度、模型和时段。用 DeepSeek 定价页上的单价计算:输入 tokens 乘输入单价,加上输出 tokens 乘输出单价,再除以一百万。deepseek-flash 比 deepseek-v4-pro 便宜得多,非高峰时段是高峰价的一半。deepseek_model_name 留空会默认使用 deepseek-v4-pro。最准的方法是先跑 10 条,再用账户里的实际扣费除以 10。

自己生成的 AI 视频发到抖音或 B站要标注吗?

《人工智能生成合成内容标识办法》自 2025 年 9 月 1 日起施行。第十条要求用户通过网络信息内容传播服务发布生成合成内容时,主动声明,并使用平台提供的标识功能进行标识,同时禁止恶意删除或篡改标识。发布前在各平台的创作中心或规则页面查看当前的 AI 内容声明方式。本文只介绍规定原文,不构成法律意见。

#moneyprinterturbo#ai-video#docker-compose#deepseek#caddy#自托管