Skip to content

978206624/jimeng-api-dev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jimeng AI Free API

即梦 AI 免费 API 服务 - 支持文生图、图生图、视频生成的 OpenAI 兼容接口

License Version Node Docker

🎨 将即梦 AI 强大的图像和视频生成能力,通过 OpenAI 兼容接口开放给开发者

项目介绍

项目概述

Jimeng AI Free API 是一个逆向工程的 API 服务器,将即梦 AI(Jimeng AI)的图像和视频生成能力封装为 OpenAI 兼容的 API 接口。支持最新的 jimeng-5.0jimeng-4.6 文生图模型、Seedance 2.0 多模态智能视频生成(模型名 jimeng-video-seedance-2.0,支持图片/视频/音频混合上传)及 Seedance 2.0-fast 快速版(模型名 jimeng-video-seedance-2.0-fast),Seedance 2.0 Fast VIP Vision(极速推理,会员专属通道)和 Seedance 2.0 VIP Vision(主模态能力,会员专属通道),国际版普通视频生成(jimeng-video-3.0/3.0-pro/3.5-pro),零配置部署,多路 token 支持。

核心功能

  • 🖼️ 文生图:支持 jimeng-5.0、jimeng-4.6、jimeng-4.5 等多款模型,最高 4K 分辨率
  • 🎭 图生图:多图合成,支持 1-10 张输入图片
  • 🎬 视频生成:jimeng-video-3.5-pro 等模型,支持首帧/尾帧控制
  • 🌊 Seedance 2.0 / 2.0-fast / 2.0-fast-vip / 2.0-vip:多模态智能视频生成,支持图片/视频/音频混合上传,@1、@2 占位符引用素材,fast 版本生成更快,VIP 版本为会员专属通道
  • 🌍 国际版视频生成:支持国际区域 Token(sg-/it-/jp-/hk- 等前缀),纯算法签名绕过 shark 反爬,支持普通视频(jimeng-video-3.0/3.0-pro/3.5-pro)与 Seedance 的同步/异步生成,VIP 模型同样支持
  • 🎯 国际版 VIP 无水印下载:VIP Token 自动获取无水印视频,权益 API 自动调用,水印状态自动检测
  • 🔗 OpenAI 兼容:完全兼容 OpenAI API 格式,无缝对接现有客户端
  • 🔄 多账号支持:支持多个 sessionid 轮询使用

技术栈

技术 版本 用途
Node.js >=16.0.0 运行环境
TypeScript ^5.0.0 开发语言
Koa ^2.15.0 Web 框架
Playwright ^1.49.0 浏览器代理(Seedance 反爬绕过)
Docker latest 容器化部署

功能清单

功能名称 功能说明 模型 状态
文生图 根据文本描述生成图片 jimeng-5.0, jimeng-4.6, jimeng-4.5, jimeng-4.1 等 ✅ 可用
图生图 多图合成生成新图片 jimeng-5.0, jimeng-4.6, jimeng-4.5 等 ✅ 可用
文生视频 根据文本描述生成视频 jimeng-video-3.5-pro 等 ✅ 可用
图生视频 使用首帧/尾帧图片生成视频 jimeng-video-3.0 等 ✅ 可用
多图智能视频 Seedance 2.0 多模态混合生成 jimeng-video-seedance-2.0, seedance-2.0 ✅ 可用
多图快速视频 Seedance 2.0-fast 快速生成 jimeng-video-seedance-2.0-fast, seedance-2.0-fast ✅ 可用
VIP 极速视频 Seedance 2.0 Fast VIP Vision 极速推理 jimeng-video-seedance-2.0-fast-vip, seedance-2.0-fast-vip ✅ 可用
VIP 专业视频 Seedance 2.0 VIP Vision 主模态能力 jimeng-video-seedance-2.0-vip, seedance-2.0-vip ✅ 可用
音频驱动视频 Seedance 图片+音频混合生成 jimeng-video-seedance-2.0, seedance-2.0-fast ✅ 可用
异步视频生成 提交任务立即返回,查询接口阻塞等待结果 所有视频模型 ✅ 可用
国际版视频生成 国际区域 Token 纯算法签名绕过 shark jimeng-video-3.0, jimeng-video-3.0-pro, jimeng-video-3.5-pro, seedance-2.0-fast, seedance-2.0-pro, seedance-2.0-fast-vip, seedance-2.0-vip ✅ 可用
国际版异步视频 国际版普通视频 / Seedance 异步生成 jimeng-video-3.0, jimeng-video-3.0-pro, jimeng-video-3.5-pro, seedance-2.0-fast, seedance-2.0-pro, seedance-2.0-fast-vip, seedance-2.0-vip ✅ 可用
国际版 VIP 无水印 VIP Token 自动获取无水印视频 URL 所有国际版视频模型 ✅ 可用
Chat 接口 OpenAI 兼容的对话接口 所有模型 ✅ 可用

免责声明

⚠️ 重要提示

逆向 API 是不稳定的,建议前往即梦 AI 官方 https://jimeng.jianying.com/ 体验功能,避免封禁的风险。

本组织和个人不接受任何资金捐助和交易,此项目是纯粹研究交流学习性质!

仅限自用,禁止对外提供服务或商用,避免对官方造成服务压力,否则风险自担!

安装说明

环境要求

  • Node.js 16+
  • npm 或 yarn
  • Chromium 浏览器(Seedance 模型需要,通过 Playwright 自动管理)
  • Docker(可选)

方式一:Docker 部署(推荐)

使用 Docker Hub 镜像:

# 拉取镜像
docker pull wwwzhouhui569/jimeng-free-api-all:latest

# 启动容器
docker run -it -d --init --name jimeng-free-api-all \
  -p 8000:8000 \
  -e TZ=Asia/Shanghai \
  wwwzhouhui569/jimeng-free-api-all:latest

从源码构建:

# 克隆项目
git clone https://github.com/wwwzhouhui/jimeng-free-api-all.git

# 进入目录
cd jimeng-free-api-all

# 构建镜像
docker build -t jimeng-free-api-all:latest .

# 启动容器
docker run -it -d --init --name jimeng-free-api-all \
  -p 8000:8000 \
  -e TZ=Asia/Shanghai \
  jimeng-free-api-all:latest

方式二:源码安装

# 克隆项目
git clone https://github.com/wwwzhouhui/jimeng-free-api-all.git

# 进入目录
cd jimeng-free-api-all

# 安装依赖
npm install

# 安装 Chromium 浏览器(Seedance 模型需要)
npx playwright-core install chromium --with-deps

# 开发模式
npm run dev

# 生产模式
npm run build && npm start

使用说明

获取 SessionID

  1. 访问 即梦 AI 并登录账号
  2. 按 F12 打开开发者工具
  3. 进入 Application > Cookies
  4. 找到 sessionid 的值

获取 sessionid

多账号配置

支持多个账号的 sessionid,使用逗号分隔:

Authorization: Bearer sessionid1,sessionid2,sessionid3

每次请求会从中随机选择一个使用。

API 端点

端点 方法 说明
/v1/chat/completions POST OpenAI 兼容的对话接口
/v1/images/generations POST 文生图/图生图接口(支持 images 可选参数)
/v1/images/compositions POST 图生图接口(向后兼容)
/v1/videos/generations POST 视频生成接口(同步,阻塞等待结果,含 VIP 模型)
/v1/videos/generations/async POST 异步视频生成接口(提交任务,立即返回 task_id)
/v1/videos/generations/async/:taskId GET 异步视频生成接口(查询任务结果,阻塞等待)
/v1/videos/international/generations POST 国际版视频生成(普通视频 + Seedance,同步)
/v1/videos/international/generations/async POST 国际版视频生成(普通视频 + Seedance,异步提交任务)
/v1/videos/international/generations/async/:taskId GET 国际版视频生成(普通视频 + Seedance,异步查询结果)
/v1/models GET 获取模型列表

快速开始

文生图示例:

curl -X POST http://localhost:8000/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your_sessionid" \
  -d '{
    "model": "jimeng-4.5",
    "prompt": "美丽的日落风景,湖边的小屋",
    "ratio": "16:9",
    "resolution": "2k"
  }'

图生图示例(通过 images 参数):

curl -X POST http://localhost:8000/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your_sessionid" \
  -d '{
    "model": "jimeng-4.5",
    "prompt": "将两张图融合成梦幻风格",
    "images": [
      "https://example.com/img1.jpg",
      "https://example.com/img2.jpg"
    ],
    "ratio": "1:1",
    "resolution": "2k",
    "sample_strength": 0.5
  }'

视频生成示例:

curl -X POST http://localhost:8000/v1/videos/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your_sessionid" \
  -d '{
    "model": "jimeng-video-3.5-pro",
    "prompt": "一只可爱的小猫在草地上玩耍",
    "ratio": "16:9",
    "resolution": "720p",
    "duration": 5
  }'

Seedance 2.0 多图视频示例:

curl -X POST http://localhost:8000/v1/videos/generations \
  -H "Authorization: Bearer your_sessionid" \
  -F "model=jimeng-video-seedance-2.0" \
  -F "prompt=@1 和 @2 两人开始跳舞" \
  -F "ratio=4:3" \
  -F "duration=4" \
  -F "files=@/path/to/image1.jpg" \
  -F "files=@/path/to/image2.jpg"

Seedance 2.0-fast 快速视频示例:

curl -X POST http://localhost:8000/v1/videos/generations \
  -H "Authorization: Bearer your_sessionid" \
  -F "model=jimeng-video-seedance-2.0-fast" \
  -F "prompt=@1 图片中的人物开始微笑" \
  -F "ratio=4:3" \
  -F "duration=5" \
  -F "files=@/path/to/image1.jpg"

Seedance 图片+音频混合示例:

curl -X POST http://localhost:8000/v1/videos/generations \
  -H "Authorization: Bearer your_sessionid" \
  -F "model=jimeng-video-seedance-2.0-fast" \
  -F "prompt=@1 图片中的人物随着音乐 @2 开始跳舞" \
  -F "ratio=9:16" \
  -F "duration=5" \
  -F "files=@/path/to/image.png" \
  -F "files=@/path/to/audio.wav"

Seedance 2.0 Fast VIP 极速推理示例(会员专属通道):

curl -X POST http://localhost:8000/v1/videos/generations \
  -H "Authorization: Bearer your_sessionid" \
  -F "model=jimeng-video-seedance-2.0-fast-vip" \
  -F "prompt=@1 图片中的人物开始微笑" \
  -F "ratio=4:3" \
  -F "duration=4" \
  -F "files=@/path/to/image.jpg"

Seedance 2.0 VIP 主模态能力示例(会员专属通道):

curl -X POST http://localhost:8000/v1/videos/generations \
  -H "Authorization: Bearer your_sessionid" \
  -F "model=jimeng-video-seedance-2.0-vip" \
  -F "prompt=@1 和 @2 两人开始跳舞" \
  -F "ratio=4:3" \
  -F "duration=5" \
  -F "files=@/path/to/image1.jpg" \
  -F "files=@/path/to/image2.jpg"

项目结构

jimeng-free-api-all/
├── src/
│   ├── index.ts                 # 应用入口
│   ├── daemon.ts                # 守护进程管理
│   ├── api/
│   │   ├── controllers/         # 业务逻辑控制器
│   │   │   ├── core.ts          # 核心工具(Token处理等)
│   │   │   ├── images.ts        # 图像生成逻辑
│   │   │   ├── videos.ts        # 视频生成逻辑
│   │   │   └── chat.ts          # 对话补全逻辑
│   │   ├── routes/              # API 路由定义
│   │   │   ├── index.ts         # 路由聚合
│   │   │   ├── images.ts        # /v1/images/* 端点
│   │   │   ├── videos.ts        # /v1/videos/* 端点
│   │   │   ├── chat.ts          # /v1/chat/* 端点
│   │   │   └── models.ts        # /v1/models 端点
│   │   └── consts/              # API 常量和异常
│   └── lib/
│       ├── server.ts            # Koa 服务器配置
│       ├── browser-service.ts   # 浏览器代理服务(Seedance 反爬)
│       ├── config.ts            # 配置管理
│       ├── logger.ts            # 日志工具
│       ├── util.ts              # 辅助工具
│       ├── request/             # 请求处理类
│       ├── response/            # 响应处理类
│       ├── exceptions/          # 异常类
│       └── configs/             # 配置模式
├── configs/                     # 配置文件目录
├── scripts/                     # 工具脚本目录
│   └── logout-sessions.py       # 历史 Session 强制退出工具
├── doc/                         # 文档资源
├── Dockerfile                   # Docker 构建文件
├── package.json                 # 项目配置
└── tsconfig.json                # TypeScript 配置

模型说明

文生图模型

用户模型名 内部模型名 说明
jimeng-5.0 high_aes_general_v50 5.0 正式版,最新模型
jimeng-4.6 high_aes_general_v42 最新模型,推荐使用
jimeng-4.5 high_aes_general_v40l 高质量模型
jimeng-4.1 high_aes_general_v41 高质量模型
jimeng-4.0 high_aes_general_v40 稳定版本
jimeng-3.1 high_aes_general_v30l_art_fangzhou 艺术风格
jimeng-3.0 high_aes_general_v30l 通用模型
jimeng-2.1 - 旧版模型
jimeng-2.0-pro - 旧版专业模型
jimeng-2.0 - 旧版模型
jimeng-1.4 - 早期模型
jimeng-xl-pro - XL 专业模型

视频模型

用户模型名 内部模型名 说明
jimeng-video-3.5-pro dreamina_ic_generate_video_model_vgfm_3.5_pro 最新视频模型
jimeng-video-3.0 dreamina_ic_generate_video_model_vgfm_3.0 视频生成 3.0
jimeng-video-3.0-pro dreamina_ic_generate_video_model_vgfm_3.0_pro 视频生成 3.0 专业版
jimeng-video-seedance-2.0 dreamina_seedance_40_pro Seedance 2.0(上游标准名称,推荐)
seedance-2.0 dreamina_seedance_40_pro Seedance 2.0(向后兼容别名)
seedance-2.0-pro dreamina_seedance_40_pro Seedance 2.0(向后兼容别名)
jimeng-video-seedance-2.0-fast dreamina_seedance_40 Seedance 2.0-fast 快速版(上游标准名称)
seedance-2.0-fast dreamina_seedance_40 Seedance 2.0-fast 快速版(向后兼容别名)
jimeng-video-seedance-2.0-fast-vip dreamina_seedance_40_vision Seedance 2.0 Fast VIP Vision 极速推理版(会员专属通道)
seedance-2.0-fast-vip dreamina_seedance_40_vision Seedance 2.0 Fast VIP Vision(向后兼容别名)
jimeng-video-seedance-2.0-vip dreamina_seedance_40_pro_vision Seedance 2.0 VIP Vision 主模态能力版(会员专属通道)
seedance-2.0-vip dreamina_seedance_40_pro_vision Seedance 2.0 VIP Vision(向后兼容别名)

分辨率支持

图片分辨率

分辨率 1:1 4:3 3:4 16:9 9:16 3:2 2:3 21:9
1k 1024×1024 768×1024 1024×768 1024×576 576×1024 1024×682 682×1024 1195×512
2k 2048×2048 2304×1728 1728×2304 2560×1440 1440×2560 2496×1664 1664×2496 3024×1296
4k 4096×4096 4608×3456 3456×4608 5120×2880 2880×5120 4992×3328 3328×4992 6048×2592

视频分辨率

分辨率 1:1 4:3 3:4 16:9 9:16
480p 480×480 640×480 480×640 854×480 480×854
720p 720×720 960×720 720×960 1280×720 720×1280
1080p 1080×1080 1440×1080 1080×1440 1920×1080 1080×1920

API 详细文档

图像生成接口

POST /v1/images/generations

统一接口,支持文生图和图生图两种模式:

参数 类型 必填 默认值 说明
model string jimeng-4.5 模型名称
prompt string - 提示词,支持多图生成
images array - 图片URL数组(1-10张),提供则走图生图模式,不提供则走文生图模式
negative_prompt string "" 反向提示词
ratio string 1:1 宽高比
resolution string 2k 分辨率:1k, 2k, 4k
sample_strength number 0.5 精细度 0-1
response_format string url url 或 b64_json

说明:

  • images 参数为空或不提供时,接口执行文生图功能
  • images 参数提供(1-10张图片)时,接口执行图生图功能
  • 支持 application/json(images 为 URL 数组)和 multipart/form-data(通过 images 字段上传文件)两种请求格式
  • 图生图模式下,响应会额外包含 input_imagescomposition_type 字段

图生图接口(向后兼容)

POST /v1/images/compositions

保留此接口以确保向后兼容,功能与 /v1/images/generations 提供 images 参数时相同。

参数 类型 必填 默认值 说明
model string jimeng-4.5 模型名称
prompt string - 提示词
images array - 图片URL数组,1-10张
ratio string 1:1 宽高比
resolution string 2k 分辨率

视频生成接口

POST /v1/videos/generations

参数 类型 必填 默认值 说明
model string jimeng-video-3.0 模型名称
prompt string - 视频描述
ratio string 1:1 宽高比
resolution string 720p 分辨率:480p, 720p, 1080p
duration number 5 时长:4-15 秒(Seedance)、5 或 10 秒(普通)
file_paths array [] 首帧/尾帧图片URL

异步视频生成接口

由于即梦平台排队时间较长,同步接口可能阻塞等待 10-20 分钟。异步接口将提交和查询分离,避免长时间占用连接。

提交异步任务

POST /v1/videos/generations/async

请求参数与同步接口 POST /v1/videos/generations 完全一致,但立即返回 task_id 而非等待视频生成完成。

参数 类型 必填 默认值 说明
model string jimeng-video-3.0 模型名称
prompt string - 视频描述
ratio string 1:1 宽高比
resolution string 720p 分辨率:480p, 720p, 1080p
duration number 5 时长:4-15 秒(Seedance)、5 或 10 秒(普通)
file_paths array [] 首帧/尾帧/素材图片URL
files file[] - 上传的素材文件(multipart)

响应示例:

{
  "created": 1774778941,
  "task_id": "4f2acc30-2b57-11f1-9361-e959a88411c4",
  "status": "processing",
  "message": "任务已提交,请使用 GET /v1/videos/generations/async/{task_id} 查询结果"
}

调用示例:

# 提交普通视频生成任务
curl -X POST http://localhost:8000/v1/videos/generations/async \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your_sessionid" \
  -d '{
    "model": "jimeng-video-3.5-pro",
    "prompt": "一只小猫在草地上奔跑",
    "ratio": "16:9",
    "resolution": "720p",
    "duration": 5
  }'

# 提交 Seedance 异步任务(JSON + 图片URL)
curl -X POST http://localhost:8000/v1/videos/generations/async \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your_sessionid" \
  -d '{
    "model": "seedance-2.0-fast",
    "prompt": "@1 图片中的人物开始微笑",
    "ratio": "4:3",
    "duration": 4,
    "file_paths": ["https://example.com/image.jpg"]
  }'

# 提交 Seedance 异步任务(multipart 文件上传)
curl -X POST http://localhost:8000/v1/videos/generations/async \
  -H "Authorization: Bearer your_sessionid" \
  -F "model=seedance-2.0" \
  -F "prompt=@1 和 @2 两人开始跳舞" \
  -F "ratio=4:3" \
  -F "duration=4" \
  -F "files=@/path/to/image1.jpg" \
  -F "files=@/path/to/image2.jpg"

查询异步任务结果

GET /v1/videos/generations/async/:taskId

传入提交时返回的 task_id,服务端会阻塞等待视频生成完成后返回结果,无需客户端轮询。

成功响应:

{
  "created": 1774778988,
  "task_id": "4f2acc30-2b57-11f1-9361-e959a88411c4",
  "status": "succeeded",
  "data": [{
    "url": "https://v3-dreamnia.jimeng.com/.../video.mp4",
    "revised_prompt": "一只小猫在草地上奔跑"
  }]
}

失败响应:

{
  "created": 1774778988,
  "task_id": "4f2acc30-2b57-11f1-9361-e959a88411c4",
  "status": "failed",
  "error": "[API_IMAGE_GENERATION_FAILED] 视频生成超时"
}

调用示例:

curl http://localhost:8000/v1/videos/generations/async/4f2acc30-2b57-11f1-9361-e959a88411c4 \
  --header 'Authorization: Bearer your_sessionid'

注意:

  • 异步任务最多支持 10 个并发,超出限制时提交接口返回错误提示
  • 任务数据持久化存储在 tmp/async-tasks/ 目录,进程重启不丢失
  • 程序启动时自动恢复未完成的 processing 任务并重新执行轮询
  • 已完成任务 24 小时后自动过期清理

Seedance 2.0 / 2.0-fast / VIP 接口

POST /v1/videos/generations

参数 类型 必填 默认值 说明
model string - jimeng-video-seedance-2.0(推荐)、jimeng-video-seedance-2.0-fast(快速版)、jimeng-video-seedance-2.0-fast-vip(VIP 极速推理)、jimeng-video-seedance-2.0-vip(VIP 主模态)或 seedance-2.0
prompt string - 提示词,使用 @1、@2 引用素材(图片/视频/音频)
ratio string 4:3 宽高比
duration number 4 视频时长 4-15 秒
files file[] 是* - 上传的素材文件(图片/视频/音频,multipart)
file_paths array 是* - 素材URL数组(JSON)

支持的素材类型:

  • 图片:jpg, png, webp, gif, bmp
  • 视频:mp4, mov, m4v
  • 音频:mp3, wav

提示词占位符:

  • @1 / @图1 / @image1 - 引用第一个素材
  • @2 / @图2 / @image2 - 引用第二个素材

国际版视频接口

国际版使用 CapCut/Dreamina 国际平台(mweb-api-sg.capcut.com),Token 使用区域前缀格式(如 sg-xxxit-xxx),支持普通视频与 Seedance。

同步生成

POST /v1/videos/international/generations

  • 普通视频模型:jimeng-video-3.0jimeng-video-3.0-projimeng-video-3.5-pro
    • 支持 JSON / multipart
    • duration 仅支持 510
    • 无素材时走文生视频;传 file_paths 时可走首帧/尾帧图生视频
  • Seedance 模型:seedance-2.0-fastseedance-2.0-proseedance-2.0-fast-vipseedance-2.0-vip 及对应 jimeng-video-seedance-* 名称
    • duration 支持 4-15
    • 至少需要一个素材(keyed multipart 文件、keyed URL 字段或 file_paths/filePaths

调用示例:

# 国际版普通视频同步生成(JSON)
curl -X POST http://localhost:8000/v1/videos/international/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sg-your_sessionid" \
  -d '{
    "model": "jimeng-video-3.0",
    "prompt": "A cute cat walking slowly on grass, cinematic, natural motion",
    "ratio": "16:9",
    "resolution": "720p",
    "duration": 5
  }'

# 国际版 Seedance 同步生成(multipart 文件上传)
curl -X POST http://localhost:8000/v1/videos/international/generations \
  -H "Authorization: Bearer sg-your_sessionid" \
  -F "model=seedance-2.0-fast" \
  -F "prompt=@1 中的人物开始微笑" \
  -F "ratio=4:3" \
  -F "duration=4" \
  -F "image_file=@/path/to/image.jpg"

# 国际版 Seedance 同步生成(JSON + 图片URL)
curl -X POST http://localhost:8000/v1/videos/international/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sg-your_sessionid" \
  -d '{
    "model": "seedance-2.0-fast",
    "prompt": "@1 中的人物开始微笑",
    "ratio": "4:3",
    "duration": 4,
    "file_paths": ["https://example.com/image.jpg"]
  }'

# 国际版 VIP 模型生成
curl -X POST http://localhost:8000/v1/videos/international/generations \
  -H "Authorization: Bearer sg-your_sessionid" \
  -F "model=seedance-2.0-fast-vip" \
  -F "prompt=@1 中的人物开始微笑" \
  -F "ratio=4:3" \
  -F "duration=4" \
  -F "image_file=@/path/to/image.jpg"

异步生成(v0.8.9 新增)

POST /v1/videos/international/generations/async

请求参数与同步接口完全一致,但立即返回 task_id

GET /v1/videos/international/generations/async/:taskId

查询异步任务结果,服务端阻塞等待视频生成完成后返回。

# 提交国际版异步任务
curl -X POST http://localhost:8000/v1/videos/international/generations/async \
  -H "Authorization: Bearer sg-your_sessionid" \
  -F "model=seedance-2.0-fast" \
  -F "prompt=@1 中的人物开始微笑" \
  -F "ratio=4:3" \
  -F "duration=4" \
  -F "image_file=@/path/to/image.jpg"

# 查询结果
curl http://localhost:8000/v1/videos/international/generations/async/{task_id}

国际普通视频已实测通过:jimeng-video-3.0jimeng-video-3.0-projimeng-video-3.5-pro

支持的区域前缀

前缀 区域 前缀 区域 前缀 区域 前缀 区域
sg- 新加坡 hk- 香港 jp- 日本 it- 意大利
al- 阿尔巴尼亚 az- 阿塞拜疆 bh- 巴林 ca- 加拿大
cl- 智利 de- 德国 gb- 英国 gy- 圭亚那
il- 以色列 iq- 伊拉克 jo- 约旦 kg- 吉尔吉斯
om- 阿曼 pk- 巴基斯坦 pt- 葡萄牙 sa- 沙特
se- 瑞典 tr- 土耳其 tz- 坦桑尼亚 uz- 乌兹别克
ve- 委内瑞拉 xk- 科索沃

注意: US Token(us- 前缀)暂不支持当前国际版视频接口。

效果展示

image-20260209234137309

image-20260209230221386

多图合成

文生视频 3.0

文生视频 3.5

国际版

https://dreamina.capcut.com/

image-20260401222933526

部分地区积分政策可能不一样。目前Seedance 2.0-fast 接口首次有0积分

image-20260401223225792

开发指南

本地开发

# 克隆项目
git clone https://github.com/wwwzhouhui/jimeng-free-api-all.git
cd jimeng-free-api-all

# 安装依赖
npm install

# 安装 Chromium 浏览器(首次开发需要)
npx playwright-core install chromium --with-deps

# 开发模式(热重载)
npm run dev

构建部署

# 构建生产版本
npm run build

# 启动生产服务
npm start

安全管理:强制退出历史 Session

场景说明

即梦 AI 使用 ByteDance 账号体系,重新登录不会使历史 sessionid 失效(多设备并行机制)。当 sessionid 泄露、共享给他人或更换使用账号时,需要主动在服务器端将历史 session 强制注销。

退出工具

项目提供了 scripts/logout-sessions.py 脚本,通过 Playwright headless 浏览器自动化模拟用户点击"退出登录"操作,使指定 sessionid 在即梦服务器端彻底失效。

退出原理:

注入 sessionid → 打开即梦主页 → 验证已登录
  → 点击左侧「设置」按钮 → 弹出下拉菜单 → 点击「退出」
  → 调用 /passport/web/logout/ 接口 → Session 服务器端销毁

安装依赖

# 安装 Python 依赖
pip install playwright

# 安装 Chromium 浏览器(首次使用)
playwright install chromium

使用方法

方式一:命令行传入 sessionid(推荐)

# 退出单个 sessionid
python3 scripts/logout-sessions.py 73795a52a17c7ee7e95c213a22135c96

# 批量退出多个 sessionid(空格分隔)
python3 scripts/logout-sessions.py \
  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa \
  bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb \
  cccccccccccccccccccccccccccccccc

方式二:编辑脚本列表

打开 scripts/logout-sessions.py,在顶部的 SESSION_IDS 列表中填入需要注销的 sessionid:

SESSION_IDS = [
    "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
    "cccccccccccccccccccccccccccccccc",
]

然后直接运行:

python3 scripts/logout-sessions.py

输出示例

即梦 AI 历史 Session 强制退出工具
============================================================
共 3 个 sessionid 待处理

[1/3] 处理: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
         → ✅  退出成功(服务器端已失效)

[2/3] 处理: bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
         → ✅  退出成功(服务器端已失效)

[3/3] 处理: cccccccccccccccccccccccccccccccc
         → ⬜  已失效,无需处理

============================================================
退出结果汇总:
============================================================
  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa  →  ✅  退出成功(服务器端已失效)
  bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb  →  ✅  退出成功(服务器端已失效)
  cccccccccccccccccccccccccccccccc  →  ⬜  已失效,无需处理(无需处理)

  ✅ 成功退出:2 个
  ⬜ 已失效:  1 个(无需处理)

状态说明

状态 含义
✅ 退出成功 sessionid 已在服务器端销毁,不可再使用
⬜ 已失效 sessionid 已自然过期,无需处理
⚠️ 状态不确定 请手动登录对应账号验证,或重试
❌ 找不到退出按钮 即梦页面结构可能已变更,请反馈 Issue
❌ 发生异常 网络问题或 Playwright 未正确安装

⚠️ 注意:退出操作不可逆,执行前请确认 sessionid 列表无误。


常见问题

如何获取 sessionid?
  1. 访问 即梦 AI 并登录
  2. 按 F12 打开开发者工具
  3. 进入 Application > Cookies
  4. 复制 sessionid 的值
sessionid 失效怎么办?

sessionid 有效期有限,失效后需要重新登录即梦网站获取新的 sessionid。建议配置多个账号以提高可用性。

sessionid 泄露了怎么强制注销?

使用项目提供的退出工具,可以在服务器端强制销毁历史 sessionid:

python3 scripts/logout-sessions.py <泄露的sessionid>

详见 安全管理:强制退出历史 Session 章节。

如何配置多账号?

在 Authorization 头中使用逗号分隔多个 sessionid:

Authorization: Bearer sessionid1,sessionid2,sessionid3
Docker 容器无法启动?
  1. 检查端口 8000 是否被占用
  2. 确保 Docker 服务正在运行
  3. 查看容器日志:docker logs jimeng-free-api-all
生成失败返回错误?
  1. 检查 sessionid 是否有效
  2. 确认账号积分是否充足
  3. 检查请求参数是否正确
  4. 查看服务器日志获取详细错误信息
Seedance 视频生成报 "shark not pass" 错误?

国内版(CN Token):v0.8.4 已通过 Playwright 浏览器代理解决。请确保:

  1. 已安装 Chromium 浏览器:npx playwright-core install chromium --with-deps
  2. Docker 用户请使用 v0.8.4 及以上版本的镜像,Dockerfile 已内置 Chromium 支持
  3. 首次 Seedance 请求会自动启动浏览器(约数秒),后续请求复用会话

国际版(国际 Token):v0.8.9 已通过纯算法签名(X-Bogus / X-Gnarly)绕过,无需安装 Chromium:

  1. 确保 Token 使用正确的区域前缀(如 sg-it-jp-
  2. 签名由 src/lib/x-bogus.tssrc/lib/x-gnarly.ts 自动注入,无需额外配置
  3. US Token(us- 前缀)暂不支持当前国际版视频接口

更新日志

v0.8.12 (2026-04-07) - 国际版 VIP 无水印视频下载

  • 🎯 国际版 VIP 无水印下载:VIP Token 自动获取无水印视频 URL,匹配真实浏览器下载流程
    • fetchHighQualityVideoUrl() 新增权益 API 调用:benefit_metadata + batch_get_user_benefit
    • 自动检测并记录视频 URL 水印状态:display_watermark_busi_aigc(免费/有水印)vs display_watermark_aigc(VIP/无水印)
    • VIP 用户通过 get_local_item_list 获取的签名 CDN URL 自动指向无水印视频文件
  • 🔧 视频 URL 提取重构fetchHighQualityVideoUrl() 从多路 early-return 改为统一变量 + 级联降级策略,支持提取后统一后处理
  • 🔧 视频 URL 提取优先级优化:新增 common_attr.transcoded_video.origin.video_url 作为最高优先级提取字段

v0.8.11 (2026-04-06) - 国际版普通视频生成 + 图片上传重构 + 移除旧版视频模型

  • 🌍 国际版普通视频生成:国际版同步/异步接口新增支持普通视频模型(jimeng-video-3.0jimeng-video-3.0-projimeng-video-3.5-pro),与 Seedance 统一入口
    • 新增 generateInternationalVideo / generateInternationalVideoCore 函数
    • 新增 INTERNATIONAL_VIDEO_MODEL_MAPgetVideoBenefitType 函数
    • 国际版普通视频 Draft 版本 3.3.12
    • 支持首帧/尾帧图生视频(最多 2 张图片)
  • 🔧 图片上传逻辑重构images.ts 中的 uploadImageFromUrluploadImageBuffer 改为复用 videos.ts 中的统一上传通道,消除重复代码
    • 国际版图片上传走 uploadInternationalImageUrl
    • 国内版图片上传走 uploadImageBufferForVideo
  • 🔧 区域感知 assistantId:图像生成使用 getImageAssistantId() 根据区域返回正确的 aid 值
  • 🗑️ 移除旧版视频模型:移除 jimeng-video-2.0jimeng-video-2.0-pro/v1/models 和 MODEL_MAP 中均已移除)
  • 🔧 国际版视频参数优化:duration/ratio 默认值根据模型类型动态决定(Seedance: duration=4/ratio=4:3,普通视频: duration=5/ratio=1:1)
  • 🐛 修复 core.ts checkResult:新增处理 ret === '' && errmsg === '' 的空响应兼容

v0.8.10 (2026-04-03) - 新增 Seedance 2.0 VIP Vision 会员专属模型 + 上传区域路由分离

  • 新增 Seedance 2.0 Fast VIP Vision 模型:极速推理版(jimeng-video-seedance-2.0-fast-vip / seedance-2.0-fast-vip),内部模型 dreamina_seedance_40_vision,VIP 会员专属通道,Draft 版本 3.3.12
  • 新增 Seedance 2.0 VIP Vision 模型:主模态能力版(jimeng-video-seedance-2.0-vip / seedance-2.0-vip),内部模型 dreamina_seedance_40_pro_vision,VIP 会员专属通道,Draft 版本 3.3.12
  • VIP 模型同步支持国内版和国际版:国内 /v1/videos/generations 和国际版 /v1/videos/international/generations 均支持 4 个 VIP 模型
  • 🔧 上传区域路由分离:新增 regionFetch() / cnFetch() 函数,国内版上传直连(不走代理),国际版上传走代理,避免 CN 上传目标(imagex.bytedanceapi.com)因代理导致连接失败
  • 🔧 生成请求参数增强:新增 commerce_with_input_video: "1"workspace_id: 0 参数,匹配即梦官网最新请求格式
  • 📝 /v1/models 接口更新:新增 4 个 VIP 模型到模型列表接口

v0.8.9 (2026-04-01) - 国际版视频 + 纯算法签名绕过 shark + 异步接口

  • 🌍 新增国际版视频生成接口:支持国际区域 Token(sg-/it-/jp-/hk- 等 26 个区域前缀),使用 CapCut/Dreamina 国际平台(mweb-api-sg.capcut.com
    • POST /v1/videos/international/generations — 同步视频生成
    • POST /v1/videos/international/generations/async — 异步视频生成(提交任务)
    • GET /v1/videos/international/generations/async/:taskId — 异步视频生成(查询结果)
  • 🔐 X-Bogus / X-Gnarly 纯算法签名:国际版视频链路无需 Playwright 浏览器代理,通过纯 TypeScript 算法绕过 shark 反爬
    • src/lib/x-bogus.ts:MD5 + RC4 + 自定义 Base64 编码签名(URL 查询参数)
    • src/lib/x-gnarly.ts:ChaCha20 PRNG + 自定义 Base64 编码签名(HTTP 请求头)
  • 国际版异步视频生成:与国内版异步接口完全对等的功能
    • 并发控制(最多 10 个)、磁盘持久化(tmp/async-tasks/)、服务重启自动恢复、24 小时过期清理
    • 支持 on-demand 查询:超时任务保持 processing 状态,用户查询时即时检查平台最新状态

v0.8.8 (2026-03-29) - 新增异步视频生成接口

  • 新增异步视频生成接口:解决即梦平台排队导致同步接口阻塞 20 分钟无法返回的问题
    • POST /v1/videos/generations/async — 提交视频生成任务,立即返回 task_id
    • GET /v1/videos/generations/async/:taskId — 查询任务结果,服务端阻塞等待视频生成完成后返回
  • 支持所有视频模型:普通视频(jimeng-video-3.5-pro 等)和 Seedance 2.0/2.0-fast 均支持异步调用
  • 并发控制:异步任务最多 10 个并发,超出时提交接口返回错误提示
  • 💾 任务持久化:任务数据保存到 tmp/async-tasks/ 目录(JSON 文件),进程重启不丢失
  • 🔄 启动恢复:程序启动时自动恢复未完成的 processing 任务并重新执行轮询
  • ⏱️ 24 小时过期:已完成/失败的任务 24 小时后自动清理
  • 📝 别名路由自动可用/v1/video/generations/async 同样可用

v0.8.7 (2026-03-22) - 新增历史 Session 强制退出工具

  • 🔒 新增 scripts/logout-sessions.py:通过 Playwright headless 浏览器模拟点击退出操作,批量强制注销历史 sessionid
  • 🔒 退出原理:注入 sessionid → 打开即梦主页 → 点击「设置 → 退出」→ 调用 /passport/web/logout/ 接口 → 服务器端 Session 彻底销毁
  • 📝 支持命令行传参python3 scripts/logout-sessions.py <sid1> [sid2] ...,或在脚本顶部填写 SESSION_IDS 列表批量处理
  • 📝 状态检测:自动识别已失效的 sessionid 并跳过,退出后实时验证 window.__isLogined 状态

v0.8.6 (2026-02-20) - jimeng-5.0 正式版模型更新

  • 🔄 模型更名 jimeng-5.0-previewjimeng-5.0:即梦平台已将 5.0 预览版升级为正式版,移除 -preview 后缀
  • 🔧 更新模型配置:同步更新 MODEL_MAPMODEL_DRAFT_VERSIONSMODEL_CONFIGS 中的模型名映射
  • 🔧 更新模型列表接口/v1/models 返回的模型 ID 和描述信息同步更新

v0.8.5 (2026-02-20) - Seedance 多模态素材支持(图片/视频/音频混合上传)

  • Seedance 多模态素材上传:支持图片、视频、音频混合上传,通过 MIME 类型和文件扩展名自动检测素材类型
  • VOD 上传通道:音频/视频文件通过 ByteDance VOD API 上传(ApplyUploadInner → Upload → CommitUploadInner),获取真实 VOD vid
  • 音频时长解析:VOD 服务自动解析音频时长,兜底支持 WAV 文件头解析
  • 🔧 AWS 签名增强createSignature 支持自定义 regionservice 参数,支持 ImageX(imagex)和 VOD(vod)双通道签名
  • 🔧 上传令牌分离:图片上传使用 scene: 2(ImageX),音频/视频上传使用 scene: 1(VOD,spaceName=dreamina
  • 📝 支持的素材格式:图片(jpg/png/webp/gif/bmp)、视频(mp4/mov/m4v)、音频(mp3/wav)

v0.8.4 (2026-02-18) - 修复 Seedance "shark not pass" 反爬拦截

  • 🐛 修复 Seedance 视频生成被 shark 安全中间件拦截:即梦对 /mweb/v1/aigc_draft/generate 接口新增 a_bogus 签名校验,Node.js 直接请求返回 ret=1019, "shark not pass"
  • 新增 BrowserService 浏览器代理服务:通过 Playwright 启动 headless Chromium,利用字节跳动 bdms SDK 在浏览器中自动注入 a_bogus 签名
  • 🔧 仅 Seedance generate 请求走浏览器代理:其他请求(图片生成、普通视频、上传、轮询、积分查询)不受影响,继续用 Node.js 直接请求
  • 懒启动与会话复用:首次 Seedance 请求才启动浏览器,每个 sessionId 独立会话,10 分钟空闲自动清理
  • 🔧 资源优化:浏览器屏蔽图片/字体/CSS 等无关资源,仅加载 bdms SDK 相关脚本(白名单域名:vlabstatic.com、bytescm.com、jianying.com)
  • 🐳 Docker 支持更新:Dockerfile 改用 node:lts(非 alpine),内置 Chromium 系统依赖和浏览器安装
  • 📦 新增依赖playwright-core ^1.49.0

v0.8.3 (2026-02-14) - 修复 Seedance 2.0-fast 积分扣减失败

  • 🐛 修复 fast 版 benefit_type 错误dreamina_video_seedance_20_fastdreamina_seedance_20_fast(无 video_ 前缀),解决 credit prededuct failed 错误
  • 🔧 升级 Seedance Draft 版本3.3.83.3.9,与即梦官网保持一致
  • 🔧 升级客户端版本号VERSION_CODE5.8.08.4.0Chrome UA 更新至 132
  • 🔧 补全请求头:新增 App-Sdk-VersionLanLoc 头部,匹配即梦官网请求
  • 🔧 修正 region 参数CNcn(小写),与即梦官网一致
  • 🔧 补全 image_info.aigc_image 字段:Seedance material_list 中的 image_info 新增 aigc_image 对象

v0.8.2 (2026-02-13) - 新增 Seedance 2.0-fast 快速视频生成模型

  • 新增 jimeng-video-seedance-2.0-fast 模型:Seedance 2.0 快速版,内部模型为 dreamina_seedance_40,生成速度更快
  • 新增 seedance-2.0-fast 别名:向后兼容别名
  • 🔧 新增 fast 版 benefit_typedreamina_video_seedance_20_fast,区分标准版与快速版
  • 🔧 优化 Seedance 模型识别isSeedanceModel 函数改用前缀匹配,自动兼容后续新增的 Seedance 变体

v0.8.1 (2026-02-10) - Seedance 2.0 模型名更新

  • 🔄 新增 jimeng-video-seedance-2.0 模型名:原 seedance-2.0seedance-2.0-pro 保留为向后兼容别名
  • ⏱️ 扩展 Seedance 时长支持:从固定 4 秒扩展为 4-15 秒连续范围
  • 🔧 更新 Draft 版本:Seedance 模型 Draft 版本从 3.3.9 调整为 3.3.8

v0.8.0 (2026-02-09) - 新增 jimeng-5.0-preview(现已更名为 jimeng-5.0)和 jimeng-4.6 图像生成模型

  • 新增 jimeng-5.0-preview 模型:即梦 AI 最新 5.0 预览版图像生成模型(内部模型 high_aes_general_v50),v0.8.6 已更名为 jimeng-5.0
  • 新增 jimeng-4.6 模型:即梦 AI 4.6 版图像生成模型(内部模型 high_aes_general_v42),支持文生图、图生图和多图生成
  • 升级 Draft 版本:jimeng-5.0-preview 和 jimeng-4.6 使用最新 3.3.9 版本
  • 🔧 扩展多图生成支持:多图检测正则匹配扩展至 jimeng-5.x 系列模型

v0.7.1 (2026-02-09) - 修复视频生成返回高清下载URL

  • 🐛 修复视频返回低码率预览URL的问题:视频生成接口(含 Seedance 2.0)之前返回的是 vlabvod.com 低码率预览URL(bitrate ~1152),现在通过 get_local_item_list API 获取 dreamnia.jimeng.com 高码率下载URL(bitrate ~6297+)
  • 🐛 修复 Seedance 轮询响应解析失败get_history_by_ids API 返回数据以 historyId 为键(如 result["8918159809292"]),而非 result.history_list 数组,导致轮询循环无法正确解析响应,视频生成后客户端请求无返回
  • 🐛 修复普通视频轮询响应解析generateVideo 函数增加 result[historyId] 回退解析,兼容 historyId 键值格式的API响应
  • 🐛 修复 item_id 提取字段名:API 返回的视频项目 ID 位于 common_attr.id 字段,补充该字段到提取链中

v0.7.0 (2026-02-07) - Seedance 2.0 多图智能视频生成

  • 新增 Seedance 2.0 模型:支持多张图片混合生成视频
  • 多图混合提示词:支持 @1@2 等占位符引用图片
  • 🐛 修复 multipart 文件上传:优化 koa-body 配置
  • 🔒 安全漏洞修复:升级依赖修复 19 个安全漏洞
  • 优化参数验证prompt 参数改为可选

v0.6.0 (2024-12-20) - 新增视频模型

  • 新增 jimeng-video-3.5-pro 模型
  • 升级 Draft 版本:使用 3.3.4 版本
  • 🔧 动态版本管理:根据模型自动选择 draft 版本

v0.5.0 (2024-12-12) - 参数格式优化

  • 🔄 统一参数格式:使用 ratioresolution 替代 width/height
  • 📤 支持 multipart/form-data:图生图和视频生成支持直接上传文件
  • 优化错误提示

v0.4.0 (2024-12-11) - 免积分优化

  • 🐛 修复积分扣费问题:优化请求参数实现免积分
  • 🔧 更新浏览器指纹:Chrome 版本升级到 142

v0.3.0 (2024-12-08)

  • 🐛 修复 jimeng-4.5 模型:修正模型映射名称
  • ⬆️ 升级版本号DRAFT_VERSION 升级到 3.3.4
  • 扩展分辨率支持:支持 1k/2k/4k 多种分辨率

技术交流群

欢迎加入技术交流群,分享使用心得:

image-20260406134415005

作者联系

微信二维码

打赏

如果这个项目对你有帮助,欢迎请我喝杯咖啡 ☕

微信支付

微信支付

致谢

感谢以下项目的贡献:

License

MIT License

Star History

如果觉得项目不错,欢迎点个 Star ⭐

Star History Chart

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors