生成参数

配置本次视频生成任务

连接中
提示词(Prompt)输入 @ 可按上传顺序调用素材0/5000
引用顺序

尚未引用素材

参考素材

点击添加或直接拖入文件,素材名称可插入提示词

0 个素材
图片素材库 0/30 · 当前模型最多 --

暂无图片

音频素材库 0/10 · 当前模型最多 --

暂无音频

视频素材库 0/10 · 当前模型最多 --

暂无视频

预计消耗 0 积分

HISTORY

任务记录

查看最近 48 小时的生成进度、积分消耗与结果。

任务模型 / 类型状态进度积分创建时间结果
近 48 小时没有任务从工作台创建一个视频任务。

DEVELOPER

开发者中心

管理密钥、查阅接口契约并调试请求。

OpenAPI 调试
BASE URLhttps://manyanai.top
AUTHBearer API Key新站 sk_my_ · 旧站 sk_ 迁移兼容
VERSION2.5.0JSON / UTF-8

API Key

密钥继承所属账号的积分和任务数据,完整值只显示一次。

SHA-256 存储
名称前缀创建时间状态
还没有 API Key创建后可通过 Bearer 鉴权访问业务接口。
GETTING STARTED

快速开始

使用一个 API Key 完成模型查询和视频生成。

  1. 1创建密钥点击页面右上角“创建密钥”,立即保存完整值。
  2. 2查询模型从模型列表读取 id、可用时长、价格和素材限制。
  3. 3提交并轮询创建生成任务后,通过任务接口读取进度和结果。
cURL
curl "https://manyanai.top/api/me" \
  -H "Authorization: Bearer <YOUR_API_KEY>"
Python 完整流程(提交会扣费)
import os
import time
import requests

base_url = "https://manyanai.top"
headers = {"Authorization": f"Bearer {os.environ['MANYAN_API_KEY']}"}

models = requests.get(f"{base_url}/api/models", timeout=20).json()["models"]
model = next(item for item in models if item["configured"])
payload = {
    "model": model["id"],
    "prompt": "雨夜霓虹街道,镜头缓慢向前推进",
    "duration": str(model["durations"][0]),
    "aspect_ratio": model["aspect_ratios"][0],
    "numberOfRuns": 1,
    "mentions": [],
    "references": [],
}
request_headers = {**headers, "Idempotency-Key": "your-unique-request-id"}
created = requests.post(
    f"{base_url}/api/generate", json=payload, headers=request_headers, timeout=30
).json()
job_id = created["jobs"][0]["id"]

while True:
    job = requests.get(f"{base_url}/api/jobs/{job_id}", headers=headers, timeout=20).json()
    print(job["status"], job["progress"], job.get("status_detail"))
    if job["status"] in {"completed", "failed"}:
        print(job.get("download_url") or job.get("error"))
        break
    time.sleep(4)
AUTHENTICATION

Bearer 鉴权

除模型列表和健康检查外,业务接口都需要在请求头中携带 API Key。

GET/api/me验证密钥并查询积分

新站 API Key 以 sk_my_ 开头;原站 sk_ Key 的哈希已安全迁移到新站,可直接继续使用。不要把任何 Key 放在浏览器前端、公开仓库或日志中。

推荐将 Base URL 设为 https://manyanai.top。原站 /sdas-video/v1/... 兼容入口已由新站接管,原 Key、请求字段和轮询逻辑无需改动;原站工作台入口会跳转到新站。

Authorization Header
Authorization: Bearer <YOUR_API_KEY>
200 Response
{
  "email": "user@example.com",
  "role": "developer",
  "points": 120.5,
  "created_at": "2026-08-09T12:00:00+00:00"
}
MODELS & PRICING

全部模型、渠道与价格

渠道是模型的供应线路,模型 ID 才是 API 请求参数。价格表直接读取实时接口,后台调价或上下架后会自动同步。

文档语言
GET/api/models公开读取实时模型、能力与价格
cURL
curl "https://manyanai.top/api/models"
渠道(Channel)

上游服务线路,用于对模型分组。不要把渠道名填入 model 字段。

模型 ID(Model ID)

提交请求时 model 字段必须使用的精确标识,可直接从表格复制。

清晰度

480p、720p、1080p 或 2K 可能对应不同模型 ID,也可能使用不同价格。

计费方式

按秒:单价 × 时长 × 生成数量;按次:单价 × 生成数量。失败任务自动退款。

按渠道选择模型

先选择渠道,再复制该渠道下具体模型的 ID。每个清晰度都要使用表格中对应的模型 ID。

正在读取模型…
模型 ID渠道 / 名称清晰度 / 时长参考素材画面比例价格 / 状态
正在读取实时模型目录…

价格由实时模型接口返回。按秒模型的实际费用由时长和生成数量决定;按次模型不随时长变化。

字段说明
id提交生成请求时使用的模型标识
durations模型支持的时长数组;mg2.5 为 4-29,自建 2.5满血固定为 [30]
aspect_ratios模型允许的画面比例数组
reference_limits图片、音频、视频的最大参考数量;mg2.5 分别为 30、10、10
reference_max_bytes按素材类型返回单文件字节上限;mg渠道图片为 20971520(20 MB)
success_stats最近 10 个已结束任务的样本数、成功数、失败数与成功率
price_value积分单价
price_unituse 按次或 second 按秒

自建渠道4 · Seedance 2.0

ai-inspo-seedance-2.0-15s · 720p · 固定 15 秒 · 16:9 / 9:16 · 2 积分/次

每次请求必须提供 1–3 张可被 ManyanAI 直接读取的 HTTPS 图片;不支持音频或视频参考。

自建渠道4 请求示例
{
  "model": "ai-inspo-seedance-2.0-15s",
  "duration": "15",
  "resolution": "720p",
  "aspect_ratio": "16:9",
  "references": [
    {"kind": "image", "url": "https://example.com/reference.png"}
  ]
}
ASSETS

上传参考素材

API 客户端上传临时素材时优先使用 /api/assets/temp;素材保留 48 小时,不占长期素材库额度。工作台继续使用 /api/assets 保存长期素材。

大文件或高并发推荐 OSS 直传:文件字节不经过 ManyanAI 应用服务器,可降低排队和上传超时。直传分为初始化、上传、完成登记三步;工作台会自动使用直传,失败时自动回到原上传接口。

POST/api/assets/direct/init初始化 15 分钟直传地址
1. 初始化
curl "https://manyanai.top/api/assets/direct/init" \
  -X POST \
  -H "Authorization: Bearer <YOUR_API_KEY>" \
  -H "Idempotency-Key: <UNIQUE_FILE_UPLOAD_ID>" \
  -H "Content-Type: application/json" \
  -d '{"filename":"reference.mp4","content_type":"video/mp4","size":104857600,"kind":"video","scope":"temporary"}'
初始化响应
{
  "upload_id": "0123456789abcdef01234567",
  "upload_url": "https://...oss-accelerate.aliyuncs.com/...?signature=...",
  "method": "PUT",
  "headers": {"Content-Type": "video/mp4"},
  "expires_in": 900,
  "status": "pending"
}
2. 上传到 OSS
curl "<UPLOAD_URL>" \
  -X PUT \
  -H "Content-Type: video/mp4" \
  --data-binary "@reference.mp4"
POST/api/assets/direct/complete校验并登记素材
3. 完成登记
curl "https://manyanai.top/api/assets/direct/complete" \
  -X POST \
  -H "Authorization: Bearer <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{"upload_id":"0123456789abcdef01234567"}'

必须按初始化响应原样发送 methodheaders,并在 15 分钟内完成 PUT。完成接口会核对实际字节数,再返回普通 asset_id;之后的生成请求与原上传方式完全相同。网络异常时可用同一个 Idempotency-Key 改调下方的一步上传接口,不会重复创建素材。

POST/api/assets/temp48 小时临时素材(API 推荐)
cURL
curl "https://manyanai.top/api/assets/temp" \
  -X POST \
  -H "Authorization: Bearer <YOUR_API_KEY>" \
  -H "Idempotency-Key: <UNIQUE_FILE_UPLOAD_ID>" \
  -F "kind=image" \
  -F "file=@reference.png"

同一用户和类型的相同文件会复用已有 asset_id。网络重试必须复用相同的 Idempotency-Key;同一个 key 携带不同文件会返回 409,不会创建重复素材。

临时上传响应
{
  "id": "a1b2c3d4e5f6",
  "scope": "temporary",
  "expires_at": "2026-09-06T12:00:00+00:00",
  "reused": false,
  "preview_url": "/api/assets/a1b2c3d4e5f6/file"
}
GET/api/assets/quota查看当前素材额度

额度只统计长期素材,临时素材不会进入 used。批量上传前先调用此接口,分别检查三类素材的使用量和剩余额度。

POST/api/assets长期素材库(工作台 / 需要长期复用)
长期素材 cURL
curl "https://manyanai.top/api/assets" \
  -X POST \
  -H "Authorization: Bearer <YOUR_API_KEY>" \
  -H "Idempotency-Key: <UNIQUE_FILE_UPLOAD_ID>" \
  -F "kind=image" \
  -F "file=@reference.png"

工作台支持多选和拖拽上传,并通过一个全局队列同时处理最多 20 个文件;图片、音频、视频共用该并发上限。API 的每个上传请求仍只携带一个文件;客户端可以并发多个请求,但应为每个文件使用独立且稳定的 Idempotency-Key

POST/api/d1/uploadD1 临时图床
D1 上传并直接引用
curl "https://manyanai.top/api/d1/upload" \
  -X POST \
  -H "Authorization: Bearer <YOUR_API_KEY>" \
  -F "provider=D-1" \
  -F "file=@reference.png"

{"imageUri":"d1://...","kind":"image"}

D1 图床返回的 imageUri 可直接放入生成请求的 references,同时填写 kind 或兼容字段 assetType。服务端不会再次下载或重复上传该素材;图片、音频、视频类型会根据文件名和 Content-Type 自动识别。

kind单文件上限素材库上限
image30 MB30
audio100 MB10
video250 MB10

容量是两层限制:上表的“素材库上限”是每个用户独立计算的长期库存,网页登录和该用户的所有 API Key 共用;它不会按全站累计,也不会把多个用户的请求合并。模型返回的 reference_limits 是单次生成限制,mg渠道 另有 reference_max_bytes.image=20971520,即每张图片不超过 20 MB。两个并发请求如果都写入长期素材库,会共同竞争同一用户的库存;改用 /api/assets/temp 后不占长期额度。重复生成请复用同一个 asset_id

三种引用方式asset_id 适合长期复用;url 必须能被 ManyanAI 服务器直接读取,受登录、防盗链或内网限制的地址会预检失败;base64image_base64imageBase64data:image/...;base64,... 适合请求级临时图片,不占用长期素材库额度。Base64 单张最多 30 MB,单次请求解码后合计最多 30 MB。

Base64 图片示例(不写入素材库)
"references": [
  {"kind":"image", "base64":"<BASE64_DATA>", "content_type":"image/png"},
  {"kind":"image", "url":"data:image/jpeg;base64,<BASE64_DATA>"}
]

遇到 400“图片素材数量已达上限”时,表示当前账号的长期素材库已满;新请求应改用 /api/assets/temp,或删除不再使用的长期素材:DELETE /api/assets/<asset_id>。删除会立即从列表和容量统计中消失,任务保留期内仍可用于重试。

GENERATION

提交生成任务

模型决定清晰度和素材上限;请求成功后返回一个或多个任务。

POST/api/generateapplication/json
Request
curl "https://manyanai.top/api/generate" \
  -X POST \
  -H "Authorization: Bearer <YOUR_API_KEY>" \
  -H "Idempotency-Key: <UNIQUE_REQUEST_ID>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sdas-xh-sd2.0-933-3-pro-720p",
    "prompt": "雨夜霓虹街道,镜头缓慢向前推进",
    "duration": "15",
    "aspect_ratio": "9:16",
    "numberOfRuns": 1,
    "mentions": [
      {"asset_id": "<IMAGE_ASSET_ID>"},
      {"asset_id": "<AUDIO_ASSET_ID>"},
      {"asset_id": "<VIDEO_ASSET_ID>"}
    ],
    "references": []
  }'

接口先返回 submitting 任务,后台随后将有序素材连接到画布并写入结构化 @引用。相同 Idempotency-Key 与相同请求只创建一次;普通用户失败后自动退款,管理员账号生成不扣积分。

references 支持 kind / assetType / asset_type,以及 url / assetUrl / asset_urlbase64 / image_base64 / imageBase64。D1 图床结果使用 imageUri;素材库上传结果既可放入 mentions,也可按 {"asset_id":"..."} 放入 references。所有写法都会先统一类型,再按所选模型的图、音频、视频上限校验。

JOBS

查询任务

任务列表按创建时间倒序返回当前账号最近 48 小时的全部任务。

GET/api/jobs查询列表
GET/api/jobs/{job_id}查询单个任务
cURL
curl "https://manyanai.top/api/jobs/<JOB_ID>" \
  -H "Authorization: Bearer <YOUR_API_KEY>"
submittingsubmittedprocessingcompleted

statuscompleted 时,使用 result_url 在线播放,使用 download_url 下载附件。download_url 是可直接请求的完整 HTTPS 地址,本地签名地址约 48 小时有效且无需额外 Bearer 鉴权;不要把相对的 result_url 直接传给服务器端下载库。工作台会自动将视频缓存到当前浏览器,缓存后重复播放不再请求服务器;浏览器缓存可能被系统回收,长期保留请下载原文件。

工作台右栏展示最近 48 小时的全部任务;任务记录页在浏览器内按每页 15 条分页。任务列表元数据与视频文件缓存均保存在当前浏览器,不会在服务器创建分页缓存副本。

status_detail 会显示后台静默浏览器当前步骤;提示词违规、内容审核、额度不足、素材上传失败或其他上游错误会原样写入 error。任务进入 failed 后会自动退款。

LEGACY COMPATIBILITY

旧版 API 无改动迁移

原开发者可继续使用旧域名、旧 Key、旧请求字段和旧轮询逻辑。

原 Base URL https://fenglinzhong.top/sdas-video/v1/... 请求已由新站接管;原 sk_... Key 在新站本地校验并从新站余额扣费。旧站生成、积分同步与后台入口均已关闭。

GET/v1/models查询兼容模型与价格
POST/v1/video/generations使用旧请求结构创建任务
GET/v1/video/generations/{id}按旧状态结构轮询
正在读取兼容目录…
开发者使用的模型 ID当前映射分辨率 / 时长参考素材计费 / 状态
正在读取兼容模型目录…
原开发者请求(无需修改)
curl "https://fenglinzhong.top/sdas-video/v1/video/generations" \
  -X POST \
  -H "Authorization: Bearer <OLD_SK_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "ss-xinghe-fast-720p",
    "prompt": "一段 9:16 电影感短视频",
    "duration": "10",
    "aspect_ratio": "9:16"
  }'
旧版契约兼容行为
sk_... Key在新站本地验证,不要求重新创建 Key
ss-xinghe-fast-720p映射到当前 xh 720p 模型;实际使用过的 wf、D1、mg2.5 等旧 ID 同样保留
duration字符串或整数均可
resolution兼容 mg2.5 的 480p / 720p 选择
任务状态继续返回 queuedrunningcompletedfailed
结果与计费继续返回 video_urldownload_urlpoints_costpoints_remaining;下载请优先使用完整的 download_url

也可以把 Base URL 改为 https://manyanai.top,路径仍使用 /v1/...。旧站独有但新站未接入的模型会明确返回参数错误,不会偷偷回退到旧站生成。

ERRORS

错误码

同步参数错误位于响应的 detail 字段;异步生成、违规或审核错误位于任务的 error 字段。

Error Response
{
  "detail": "API Key 无效或已撤销"
}
HTTP说明
400参数或模型能力不匹配
401缺少、失效或已撤销的密钥
403权限不足或资源域名受限
404任务、素材或卡密不存在
409资源状态冲突
422请求结构未通过校验
502上游返回异常
503所选渠道暂未配置

OPERATIONS

运营后台

管理模型、用户积分、充值卡密、任务与公告。

0 个模型
用户角色积分任务最近登录调整积分

生成充值卡密

完整卡密仅在生成后显示一次。

本次生成结果

请立即妥善保存

尚未生成卡密
卡密前缀面额状态生成时间兑换用户

旧站来源记录用于跨站审计。新站已产生的扣费与退款同步到旧站后会自动去重;独立发生在旧站的变动仍会同步到账户余额。当前可用积分以“用户”页余额为准。

用户金额 / 来源类型说明时间
任务用户模型状态积分时间

创建团队 Key

内部开发文档

/team/v1/models/team/v1/video/generations/team/v1/usage
打开团队文档

团队 Key

0 个 Key

Key / 使用者余额累计使用进行中 / 错误最后调用状态操作

请求与计费记录

按请求时间倒序

时间 / Key请求 / 任务状态实扣退款HTTP错误操作

发布公告

启用后会展示给所有已登录用户。

公告列表

最新发布优先显示