← Open Source
zhizinan1997

jimeng-free-api-all

🚀 即梦(Jimeng) 反代2api,支持 5.x/4.x 图像模型和视频生成,OpenAI 兼容,内置可视化管理控制台。自动同步获取即梦官网最新模型。

InfrastructureDeploy & ServeGatewayTypeScript
Open on GitHub
Momentum
+5stars in 24 hours+0.8%
625
Stars
166
Forks
+20
This week
2
Contributors
Created 2025-08-26 · Updated 2026-10-15 · #2358 today
Top developers
README

Jimeng AI Free 服务

本项目基于 LLM-Red-Team/jimeng-free-api 二次开发,感谢原作者的贡献!


更新日志

2026-09-27(v1.2.8)

  • 新增浏览器传输层,默认开启(auto):Seedance 2.0 / 2.0 Fast(上游 dreamina_seedance_40_pro / dreamina_seedance_40)被上游风控中间件拦截(ret=4013,不消耗积分)时,服务会自动改用真实浏览器里的即梦页面完成签名后重试,对调用方无感知;其他模型与接口不受影响。实测同一账号同一请求:纯服务端返回 4013,经浏览器传输后风控放行。详见「上游风控与浏览器传输」章节。
  • 控制台新增「系统设置」页:可直接切换浏览器传输的工作模式(关闭 / 自动 / 全量),并显示依赖状态、浏览器运行状态与已记住的模型链路;保存后立即生效并在重启后保留,设置优先于环境变量。
  • 风控错误码单独识别:上游 4013 / 1019 不再被包装成笼统的「请求失败」,而是返回 -2010 请求被上游风控拦截;未安装 playwright-core 或浏览器启动失败时保留该原始错误,不会抛出依赖报错。
  • Docker 镜像预装 Chromium:镜像内已配好浏览器路径与 --no-sandbox 参数,部署后即按默认的 auto 模式工作,无需额外配置;镜像因此增加约 805MB,可用 --build-arg INSTALL_BROWSER=false 构建精简版(精简版请配 JIMENG_BROWSER_TRANSPORT=off)。

2026-09-25(v1.2.7)

  • 修复生成张数与积分消耗不一致:将 n 对应的 gen_count 放在即梦请求的 abilities.gen_option 中,文生图和参考图混合模式均适用,避免上游忽略张数并默认生成 4 张。
  • 增加张数异常日志:当即梦实际返回的图片多于请求张数时记录警告,便于核对积分消耗。此前的 v1.2.6 预构建镜像不包含上述修复,请更新到本版本并重新创建容器。

2026-09-02(v1.2.6)

  • 支持多张图像参考图:/v1/images/generations 支持 filePath 数组、filePaths 数组及 multipart 多文件上传;参考图按上传顺序传递给即梦,所有来源合计最多 10 张。
  • 修复便携版账号池密钥:portable/config/portable.env 中的 JIMENG_ACCOUNT_POOL_KEY 或 ACCOUNT_POOL_ENCRYPTION_KEY 会在启动时传入服务进程,可正常配置账号池。
  • 修复 Seedance 2.0 模型路由:普通 Seedance 2.0 与 2.0 Fast 不再误用 VIP Vision 通道;VIP 模型改为显式的 jimeng-video-seedance-2.0-vip 和 jimeng-video-seedance-2.0-fast-vip。
  • 完善 Seedance 2.0 时长支持:2.0 系列默认生成 5 秒视频,支持 4~15 秒整数时长,并按模型能力做降级重试;日志会记录实际模型与计费类型。
  • 图像生成数量可控:n 支持 1~8,默认 1 张,生成数量会透传至即梦并按请求数量返回。
  • 升级运行时兼容性:项目与 Windows 便携包统一使用 Node.js 22+,匹配 better-sqlite3 13 的原生模块要求。

2026-08-09

  • 新增 API Key 管理:管理端支持创建多个 jm_... 调用 Key,并支持单独启用、禁用和撤销。
  • 新增即梦账号池:支持保存多个即梦账号 Cookie,支持账号单独启停、轮询调用、失败冷却和状态刷新;Cookie 使用 AES-256-GCM 加密保存。
  • 新增账号状态查询:增加 GET /v1/account/status,可查询当前账号会员状态、积分及免费积分余量,不暴露 Cookie。
  • 修复视频参考图:修复参考图上传成功但未参与视频生成的问题,正确使用图生视频模式;同时兼容聊天多模态图片和 multipart 多文件上传。
  • 模型自动适配:补充 Seedance 2.5 等新模型映射,优先使用即梦官网动态模型配置,并保留静态模型兜底。
  • 管理端优化:管理网页面完成中文化和界面美化,优化账号池、Key 管理及状态展示。
  • Docker 本地部署:完成 Docker 镜像构建和本地容器部署,保留数据目录及账号池加密密钥。

2026-06-24

  • 适配即梦官网新图片模型:新增 jimeng-image-5.0-lite(high_aes_general_v50),并补充 jimeng-image-4.7、jimeng-image-4.6;图片默认模型更新为 5.0 Lite,4.x/5.x 支持 2K 默认与 4K 请求。
  • 补充 Seedance 视频模型接口:新增 jimeng-video-seedance-2.0-mini、jimeng-video-seedance-2.0-fast、jimeng-video-seedance-2.0-pro、jimeng-video-seedance-1.5-pro,并适配对应 model_req_key、分辨率和权益 benefit_type。
  • 新增官网动态模型列表:GET /v1/models 在带 Authorization 时会实时拉取即梦官网图片/视频模型配置并缓存;支持 ?refresh=true 强制刷新,支持 ?type=image / ?type=video 过滤;无 token 或官网失败时自动返回内置兜底模型。
  • 生成接口接入动态模型映射:图片和视频生成会优先使用官网动态配置中的 model_req_key、分辨率和权益信息,静态映射继续作为兜底,减少官网新增模型后必须改代码的概率。
  • 更新请求版本参数:图片与视频生成请求统一更新为 web_version=7.5.0、da_version=3.3.20,同步当前官网请求格式。
  • 增强鲁棒性:优化 Authorization 多 token 解析,自动 trim 并过滤空 token;聊天、图片、视频、积分查询路由会拒绝空 token;视频轮询兼容 20/42/45 处理中状态,避免死循环,并在生成结束但没有 URL 时明确抛错。
  • 优化自动降级策略:图片/视频根据模型实际支持的分辨率做降级,避免对不支持的档位重复请求或意外从最高档开始消耗积分。

2026-01-11

  • 🐛 修复混合模式模型选择问题:之前上传参考图时会强制使用 3.0 模型,现在支持所有模型的混合生成模式
  • ✨ 新增 2.0-pro 模型支持:添加 jimeng-image-2.0-pro 模型,强制使用 1k 分辨率
  • 🔧 适配即梦官方 API 更新:统一所有模型的 metrics_extra 请求格式,添加 sceneOptions 字段
  • 📝 优化日志输出格式:使用 emoji 图标和结构化格式,日志更清晰易读
  • 🐳 优化 Docker 镜像体积:从 ~700MB 优化至 ~280MB(多阶段构建、精简依赖)

⚠️ 已知问题:4.x 模型请求 2K 分辨率时,部分账号可能被即梦服务端拒绝(返回积分不足错误码 1006),系统会自动降级到 1K 分辨率。此问题可能与账号类型或即梦服务端策略相关,暂无法解决。

2026-01-06

  • 🐛 修复 4.x 模型 2K 分辨率积分误报:完善 metrics_extra 请求结构参数,添加 sceneOptions、benefitCount 等关键字段,解决 4.x 系列模型(4.0/4.1/4.5)请求 2K 分辨率时被错误降级到 1K 的问题

2026-01-04

  • 🐛 修复积分不足误报:适配即梦官方 API 错误码变更(5000 → 1006),现在能正确识别积分不足并自动降级到 1K 分辨率重试
  • 🐛 修复图像自动降级:Chat 接口启用 generateImagesWithRetry,支持 2K→1K 自动降级
  • 🐛 修复视频生成崩溃:修复多模态消息(图片+文本)导致的 content.substring is not a function 错误

📖 项目简介

Jimeng AI Free 是一个强大的即梦(Jimeng)AI 接口服务,旨在提供便捷的图像和视频生成能力。

🚀 核心亮点:

  • 超强模型支持:集成图像模型(5.0 Lite/4.7/4.6/4.5/4.1/4.0/3.1/3.0/2.0 Pro)和视频模型(Seedance 2.0 Mini/Fast/Pro、Seedance 1.5 Pro、3.0 Pro/3.0/3.0 Fast/S2.0/2.0 Pro),并支持自动同步即梦官网最新模型列表。
  • 完全免费体验:目前官方每日赠送 66 积分,支持多路 Token 轮询,最大化利用免费额度。
  • 可视化管理:内置功能强大的 Web 管理控制台,支持实时监控和媒体管理。
  • OpenAI 兼容:完全兼容 OpenAI 接口格式,可直接接入大多数现有 AI 应用。
  • 零配置部署:通过 Docker 一键启动,开箱即用。

🎛️ 管理控制台(重点功能)

本项目提供了功能完善的 Web 管理控制台,为您提供全方位的服务监控和管理能力。

📊 界面预览

登录界面

统计面板

媒体库

🔐 安全登录
首次访问设置管理员密码

📈 实时统计
调用次数、积分追踪、Key状态

🎬 媒体库
生成历史、实时预览、筛选

✨ 功能特点

功能模块 说明
📊 统计分析 实时大屏显示总调用量、总积分消耗。详细记录每个 API Key 的剩余积分和最后使用时间,支持按模型统计用量。
📝 实时日志 实时查看系统运行日志,支持按 INFO / WARN / ERROR 级别筛选,支持自动刷新和一键清理/导出日志文件。
🖼️ 媒体回溯 所有生成的图片和视频都会自动记录在媒体库中,支持按类型(图片/视频)筛选,点击即可预览高清原图或播放视频。
💳 积分追踪 [NEW] 每次请求自动计算并记录消耗积分,实时更新 Token 的剩余积分,精准掌握额度使用情况。
⚙️ 系统设置 [NEW] 在控制台切换浏览器传输的工作模式(关闭 / 自动 / 全量),用于应对上游风控拦截,保存后立即生效并在重启后保留。

🚀 访问地址

部署成功后,访问:http://localhost:8001(默认端口)即可进入管理控制台。


✨ 功能特性

🎨 图像与视频生成

  • 多模型支持:涵盖即梦官网最新发布的所有视频和图像模型。
  • 混合生成:支持参考图生成(Image-to-Image),通过 filePath 参数传递。
  • 视频定制:支持设置视频首尾帧(Image-to-Video),通过 file_paths 参数传递。
  • 智能分辨率:4.x 图像模型默认 2K 高清,3.x 模型默认 1K。
  • 智能时长:提示词包含 5秒 或 10秒 关键词时,自动调整视频生成时长。

📐 智能比例检测

系统会自动识别提示词中的比例关键词,并调整生成尺寸:

  • 图片支持:21:9、16:9、3:2、4:3、1:1、3:4、2:3、9:16
  • 视频支持:16:9、9:16、1:1、4:3、3:4、21:9
  • 中文关键词:支持 横屏、竖屏、方形 等自然语言指令。

🤖 开发友好

  • 标准化接口:/v1/chat/completions 接口完全兼容 OpenAI 规范。
  • 多模态消息:支持标准的多模态消息格式,自动提取消息中的图片作为参考图或首尾帧。

🛠️ Docker 部署

使用预构建镜像一键启动:

docker run -it -d --init --name jimeng-free-api \
  -p 8001:8000 \
  -v jimeng-data:/app/data \
  -e TZ=Asia/Shanghai \
  ghcr.io/zhizinan1997/jimeng-free-api-all:latest

参数说明:

  • -p 8001:8000:可以修改冒号前的端口(如 -p 8080:8000)。
  • -v jimeng-data:/app/data:强烈建议挂载,用于持久化保存统计数据、媒体记录和管理员密码。
  • -e TZ=Asia/Shanghai:设置时区,确保日志和统计时间准确。

已有部署更新时,先执行 docker pull ghcr.io/zhizinan1997/jimeng-free-api-all:latest,再用原有端口、数据卷及账号池加密密钥重新创建容器;仅重启旧容器不会更新代码。启动日志应显示 Version: 1.2.8。


📦 本地开发部署

如果您希望在本地运行或进行二次开发,请按照以下步骤操作:

1. 克隆仓库

git clone https://github.com/zhizinan1997/jimeng-free-api-all.git
cd jimeng-free-api-all

2. 安装依赖

需要 Node.js 22 或更高版本:

npm install

3. 构建项目

npm run build

4. 启动服务

npm start

启动成功后,服务将在 http://localhost:8000 运行。


🧩 支持的模型列表

🖼️ 图像生成

模型名称 说明 分辨率
jimeng-image-5.0-lite 即梦 5.0 Lite 版本(最新) 2K (默认) / 4K
jimeng-image-4.7 即梦 4.7 版本 2K (默认) / 4K
jimeng-image-4.6 即梦 4.6 版本 2K (默认) / 4K
jimeng-image-4.5 即梦 4.5 版本 2K (默认) / 4K
jimeng-image-4.1 即梦 4.1 版本 2K (默认) / 4K
jimeng-image-4.0 即梦 4.0 版本 2K (默认) / 4K
jimeng-image-3.1 即梦 3.1 版本 1K (默认)
jimeng-image-3.0 即梦 3.0 版本 1K (默认)
jimeng-image-2.0-pro 即梦 2.0 Pro 版本 仅支持 1K

🎥 视频生成

模型名称 说明 支持时长
jimeng-video-seedance-2.0-mini Seedance 2.0 Mini 5s / 10s
jimeng-video-seedance-2.0-fast Seedance 2.0 Fast VIP 5s / 10s
jimeng-video-seedance-2.0-pro Seedance 2.0 VIP 5s / 10s
jimeng-video-seedance-1.5-pro Seedance 1.5 Pro 5s / 10s
jimeng-video-3.0-pro 3.0 Pro 专业版 5s / 10s
jimeng-video-3.0 3.0 标准版 5s / 10s
jimeng-video-3.0-fast 3.0 快速版 5s / 10s
jimeng-video-s2.0 S2.0 轻量版 5s
jimeng-video-2.0-pro 2.0 Pro 版 5s

🔑 接入指南

1. 获取 Session ID

  1. 访问 即梦官网 并登录。
  2. 按 F12 打开开发者工具,进入 Application > Cookies。
  3. 找到 sessionid 的值。

2. 配置 Authorization

在请求 Header 中使用 Bearer Token 方式鉴权:

Authorization: Bearer sessionid_value

多账号支持: 如果有多个账号,可以用逗号分隔多个 sessionid,服务会自动轮询使用:

Authorization: Bearer sessionid_1,sessionid_2,sessionid_3

📝 API 接口文档

1. 对话补全 (生成图像/视频)

POST /v1/chat/completions

简单示例

{
  "model": "jimeng-4.5",
  "messages": [
    {
      "role": "user",
      "content": "一只在太空中飞行的柴犬,赛博朋克风格"
    }
  ]
}

多模态示例 (带参考图)

{
  "model": "jimeng-4.5",
  "messages": [
    {
      "role": "user",
      "content": [
        { "type": "text", "text": "将这张图变成梵高风格" },
        {
          "type": "image_url",
          "image_url": { "url": "https://example.com/image.jpg" }
        }
      ]
    }
  ]
}

2. 获取模型列表

GET /v1/models

返回所有可用模型及其配置信息。

默认返回内置兜底模型列表;如果请求带有即梦 Authorization,服务会实时拉取官网图片/视频模型配置并缓存结果。可使用 ?refresh=true 强制刷新缓存,使用 ?type=image 或 ?type=video 只返回指定类型模型。


🛡️ 上游风控与浏览器传输

即梦对部分视频链路启用了风控中间件(starling),要求请求携带浏览器端 SDK 生成的 msToken 与 a_bogus 签名。实测:Seedance 2.0 与 2.0 Fast(上游 dreamina_seedance_40_pro / dreamina_seedance_40)在纯服务端请求下会返回 HTTP 200 + ret=4013(fail_starling_key=web_risk_control_message_reject_generation,提示「生成失败,疑似存在异常行为」),且不消耗积分;同一账号同一时刻下 -mini、1.5、3.0 系列不受影响,说明这不是账号或参数问题,而是这两条链路专属的签名校验。

本服务的浏览器传输层会把这类请求交给真实浏览器里打开的即梦页面执行,由页面自身的 SDK 完成签名,并自动带上浏览器环境下的设备 cookie。签名算法无需自行实现,上游更新页面脚本时也能自动跟随。

工作模式

默认 auto:请求先按原有方式直连,只有被上游风控拦截(ret=4013)时才自动改用浏览器重试一次,并把该模型链路记入内存缓存,后续请求直接走浏览器;其他模型与接口完全不受影响。

模式 行为
off 关闭,完全走服务端请求
auto 默认。仅在被风控拦截时改用浏览器,成功后记住该链路
always 所有即梦请求都经浏览器发送,兼容性最好、延迟略高

开启方式

auto 是默认值,无需任何配置;本机安装 Chrome 或 Edge 即可。可选依赖不随主依赖强制安装:

npm i playwright-core

也可以在控制台「系统设置」页直接切换模式(保存后立即生效、重启后保留),该设置优先于环境变量:

# 关闭浏览器传输
JIMENG_BROWSER_TRANSPORT=off npm start

# 所有即梦接口都走浏览器
JIMENG_BROWSER_TRANSPORT=always npm start

控制台设置 > 环境变量 > 默认值。若未安装 playwright-core 或本机没有浏览器,被风控拦截时只会记录日志并保留原始的风控错误,不会影响其他请求。

环境变量

变量 默认值 说明
JIMENG_BROWSER_TRANSPORT auto off 关闭,auto 风控拦截时启用,always 全部走浏览器(控制台设置优先于此变量)
JIMENG_BROWSER_HEADLESS true 设为 false 可看到浏览器窗口,便于排查
JIMENG_BROWSER_CHANNEL 自动 chrome / msedge 等,默认先试 Chrome 再回退 Edge
JIMENG_BROWSER_EXECUTABLE 无 直接指定浏览器可执行文件路径(Docker 内常用)
JIMENG_BROWSER_ARGS 无 追加启动参数,逗号分隔,例如 --no-sandbox,--disable-dev-shm-usage
JIMENG_BROWSER_PAGE_URL 即梦视频生成页 用于装载签名的页面地址
JIMENG_BROWSER_IDLE_TIMEOUT 300000 空闲多少毫秒后关闭浏览器
JIMENG_BROWSER_REQUEST_TIMEOUT 60000 单次请求超时(毫秒)
JIMENG_BROWSER_NAVIGATION_TIMEOUT 90000 页面加载超时(毫秒)
JIMENG_BROWSER_USER_AGENT 内置 Chrome UA 可覆盖浏览器 UA

Docker 部署

官方镜像已预装 Chromium 并配好路径与启动参数,部署后即按默认的 auto 模式工作,无需任何额外配置:

docker run -it -d --init --name jimeng-free-api \
  -p 8001:8000 \
  -v jimeng-data:/app/data \
  -e TZ=Asia/Shanghai \
  ghcr.io/zhizinan1997/jimeng-free-api-all:latest

预装 Chromium 会让镜像增加约 805MB。不需要该能力时可自行构建精简镜像(此时请一并用环境变量关闭浏览器传输,避免多余的启动尝试):

docker build --build-arg INSTALL_BROWSER=false -t jimeng-free-api:lean .
docker run -it -d -p 8001:8000 -e JIMENG_BROWSER_TRANSPORT=off jimeng-free-api:lean

注意事项

  • 该模式让请求以浏览器身份发出,属于绕过上游风控,可能违反即梦服务条款,账号存在被限制的风险,请自行评估后使用。
  • 浏览器传输只解决「风控拦截」,不解决「积分不足」:这两条链路本身要消耗积分,余额不足时上游返回 1006(服务返回 -2009),需账号自行充值。
  • 浏览器按需启动、空闲自动关闭;首次启用约需十几秒装载页面,之后单次请求约 1 秒内。
  • auto 模式下,被风控拦截的模型链路会被记住(按「接口路径 + 上游模型」区分,图片模型不受视频触发的影响),后续请求直接走浏览器;该记录在进程内存中,重启后需重新预热一次。
  • 开启后 ret=4013 的模型链路会转为浏览器传输,若仍返回风控错误,请检查页面地址与登录状态是否正常。

⚠️ 免责声明

  1. 服务稳定性:本项目基于逆向 API 开发,不保证永久可用。建议优先使用 即梦官方服务。
  2. 非盈利性质:本项目仅供个人研究交流学习,不接受任何形式的捐助,不用于商业用途。
  3. 使用规范:请遵守相关法律法规,禁止生成违规内容。任何因使用本项目产生的后果由使用者自行承担。

Released under the MIT License.

Managed API Keys and account pool

The dashboard can create multiple jm_... API keys. Only a SHA-256 hash and a masked preview are stored. Keys can be enabled, disabled, or revoked independently from the dashboard.

The account pool is available through /account-pool. It stores multiple Jimeng cookies encrypted with AES-256-GCM, supports account enable/disable, round-robin selection, failure cooldowns, and status refresh. Set JIMENG_ACCOUNT_POOL_KEY (or ACCOUNT_POOL_ENCRYPTION_KEY) before adding accounts; keep it stable across restarts.

When a managed API key is sent in Authorization: Bearer jm_..., the service selects an enabled Jimeng account automatically. Direct Jimeng session tokens remain supported for backward compatibility.

GET /v1/account/status returns the selected account's cached/refreshed membership and credit status without exposing its cookie.