接入指南
用文字、图片与视频,实现你的创意。
一组 API Key,统一的任务式生成流程。
快速开始
注册并验证邮箱、登录后建立 API Key、增加额度,再选择已开放的 Nightfolio 文字、图片或动态模型。账户可用额度必须足以支付本次报价。
Base URL https://developer.nightfolioai.com/v1
兼容范围:GET /v1/models 与 POST /v1/chat/completions 采用 OpenAI 格式。图片与视频使用 Nightfolio AI 异步任务(202 加轮询),不能直接替换 OpenAI SDK 返回格式;每个 Nightfolio 模型只开放其支持的能力参数。尚不支持 Claude Messages(/v1/messages)、Responses 与 OpenAI 图片编辑接口。
curl "https://developer.nightfolioai.com/v1/images/generations" \
-H "Authorization: Bearer $NIGHTFOLIO_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: YOUR_UNIQUE_REQUEST_ID" \
-d '{
"model": "nightfolio-image-4.5",
"prompt": "A small ceramic vase on a warm gray background.",
"size": "2848x1600",
"image": [
"asset://YOUR_REFERENCE_IMAGE_ID"
],
"watermark": false
}'身份验证
请在 Authorization 请求头带上你的 Nightfolio AI API Key,不需要供应商 Key。Key 应放在你自己的应用服务器;撤销后立即失效。
Authorization: Bearer mh_YOUR_API_KEY每次新的生成需要 Idempotency-Key(1–100 字符),请在送出前保存。重试同一操作时,必须使用原本的 Key 与内容。
模型与定价
GET /v1/models 只返回已开放的 Nightfolio 文字、图片与动态模型。模型目录会显示媒体模型的预设值与支持参数;每次请求会依规范化后的参数及页面显示的 Nightfolio 定价报价,并在提交前预留额度。
curl "https://developer.nightfolioai.com/v1/models" -H "Authorization: Bearer $NIGHTFOLIO_API_KEY"文字生成
POST /v1/chat/completions已开放文字模型:nightfolio-text-2.0-mini、deepseek-v4.1-flash-1017 与 deepseek-v4-pro。采用 OpenAI Chat Completions 格式,支持系统消息与多轮历史;仅支持 n=1 和文字内容。
curl "https://developer.nightfolioai.com/v1/chat/completions" \
-H "Authorization: Bearer $NIGHTFOLIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"deepseek-v4.1-flash-1017","messages":[{"role":"user","content":"Explain how caching reduces inference costs."}],"thinking":{"type":"disabled"},"max_tokens":1024}'DeepSeek 思考模式:thinking.type 传 enabled 或 disabled;开启时可设置 reasoning_effort 为 low、high 或 max,思考过程在 reasoning_content 中返回,最终答案在 content 中。不传时沿用上游默认思考设置,工作台默认关闭思考。平台输出上限为 65,536 tokens(包含思考),输入按序列化请求字节加消息开销保守限制为 1,000,000;暂未开放非文字输入。
curl -N "https://developer.nightfolioai.com/v1/chat/completions" \
-H "Authorization: Bearer $NIGHTFOLIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"deepseek-v4-pro","messages":[{"role":"user","content":"What is 17 times 19?"}],"thinking":{"type":"enabled"},"reasoning_effort":"low","max_tokens":2048,"stream":true}'stream=true 返回 SSE 增量、用量和 [DONE]。最终用量可能与 choices 在同一条消息中;请分别处理 reasoning_content 与 content。服务会自动请求用量。DeepSeek 最长允许 10 分钟,流可能在部分文字之后返回错误事件。请保留 X-Request-ID,断流后先核对用量再决定重试,聊天请求不自动去重。
DeepSeek 的未缓存输入、缓存输入和输出均与所连接 MR 账户的目录牌价一致,零加价。模型目录展示当前费率及全部 UTC 时间规则(星期 1 为周一、7 为周日),请求开始时固定适用规则。费用 = 未缓存输入 × 输入费率 + 缓存输入 × 缓存费率 + 输出 × 输出费率,总额仅向上取整一次至 0.000001 美元。思考 token 已计入输出,不重复收费。提交前预留最高费用,收到有效用量后结算并释放剩余额度;缺少或矛盾的用量会保留预留款等待核对。上游成本按同一目录估算,与供应商账单的对账仍由人工完成。其他模型沿用各自公示价格。
参考素材
使用 Nightfolio API Key 即可上传图片、视频或音频,无须登录 Console。素材归属于你的账户,与 Console 素材库及同账户其他 Key 共用;其他账户无法列出、查询、删除或引用。
curl "https://developer.nightfolioai.com/v1/assets" \
-H "Authorization: Bearer $NIGHTFOLIO_API_KEY" \
-F "file=@./reference.png" \
-F "name=reference.png"文件上传使用 multipart/form-data,每次一个 file。name 可选;type 自动识别,若传入则必须与文件一致。大小限制:图片 30 MB(JPEG、PNG、WebP、BMP、TIFF、GIF、HEIC/HEIF),视频 200 MB(MP4/MOV),音频 15 MB(WAV/MP3)。每账户每分钟最多尝试上传 8 次,与 Console 共用限制。
curl "https://developer.nightfolioai.com/v1/assets" \
-H "Authorization: Bearer $NIGHTFOLIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://your-cdn.com/reference.png","type":"image","name":"reference.png"}'URL 导入必填 url 与 type(image、video 或 audio),name 可选。必须使用公网可访问的 HTTPS URL(443 端口),不能带账号密码。远端素材会在处理阶段校验;大小未知时 size_bytes 为 null。
{
"id": "YOUR_ASSET_ID",
"object": "asset",
"name": "reference.png",
"type": "image",
"status": "processing",
"reference_url": "asset://YOUR_ASSET_ID",
"size_bytes": 1024,
"created_at": "2026-10-24T00:00:00.000Z",
"updated_at": "2026-10-24T00:00:00.000Z"
}保存返回的 ID,约每 2 秒查询 GET /v1/assets/{id},直到 status 为 active 或 failed。只有 active 素材才能用于图片生成参考图、视频 input_references 或 frame_images。查询出错不代表上传失败,应重试查询。上传暂不支持 Idempotency-Key;若上传响应不确定,先列出已有素材,再决定是否重新上传。
curl "https://developer.nightfolioai.com/v1/assets/YOUR_ASSET_ID" \
-H "Authorization: Bearer $NIGHTFOLIO_API_KEY"curl "https://developer.nightfolioai.com/v1/assets?type=image&status=active&page=1&page_size=20" \
-H "Authorization: Bearer $NIGHTFOLIO_API_KEY"列表返回 object=list、data、total、page 和 page_size(1–100,默认 20);type 与 status 筛选可选。列表显示已保存状态,processing 素材需逐个查询以刷新。API 返回用于生成的 reference_url,不返回下载地址。Console 上传的素材同样可通过此 API 查询和引用。
curl -X DELETE "https://developer.nightfolioai.com/v1/assets/YOUR_ASSET_ID" \
-H "Authorization: Bearer $NIGHTFOLIO_API_KEY"删除返回 {id, object: "asset", deleted: true},同一素材也会从 Console 移除。删除前请等待引用它的生成任务结束。未知或其他账户的 ID 返回 404;已撤销的 Key 或停用账户返回 401。
图片生成
POST /v1/images/generations支持文字生图与参考图生图,每次输出一张图片。接口立即返回 HTTP 202 与 Nightfolio AI 任务 ID,通过 GET /v1/images/{id} 取得结果。这是 Nightfolio AI 的异步接口,并非 OpenAI 同步图片返回格式。
curl "https://developer.nightfolioai.com/v1/images/generations" \
-H "Authorization: Bearer $NIGHTFOLIO_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: YOUR_UNIQUE_REQUEST_ID" \
-d '{
"model": "nightfolio-image-4.5",
"prompt": "A small ceramic vase on a warm gray background.",
"size": "2848x1600",
"image": [
"asset://YOUR_REFERENCE_IMAGE_ID"
],
"watermark": false
}'必填 model 与 prompt(1–8,000 字符)。可选的 size 与 watermark 必须与所选模型目录一致。image 可传一张 HTTPS/同账户 asset:// 参考图,或在模型上限内传入数组;Nightfolio Image 5.0 Pro 最多 10 张,其他已上架 Seedream 规格最多 14 张。本版不支持任意尺寸、多张输出、回调或 extra_body。
视频生成
POST /v1/videos/generations文字生视频、多模态参考、首尾帧生成、视频编辑与延长共用此接口。返回 HTTP 202 后,查询 GET /v1/videos/{id}。Nightfolio 固定采异步流程,不需要传入 async。
curl "https://developer.nightfolioai.com/v1/videos/generations" \
-H "Authorization: Bearer $NIGHTFOLIO_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: YOUR_UNIQUE_REQUEST_ID" \
-d '{
"model": "nightfolio-motion-2.0-fast",
"prompt": "A slow camera movement through a sunlit forest.",
"seconds": 4,
"resolution": "480p",
"aspect_ratio": "16:9",
"generate_audio": false
}'| 模型系列 | 时长 | 解析度 | 音频 |
|---|---|---|---|
| Nightfolio Motion 1.0 / 1.5 | 5s | 720p | 关闭 |
| Nightfolio Motion 2.0 | 4–15s | 480p / 720p / 1080p / 4k | true / false |
| Nightfolio Motion 2.0 Fast / Mini | 4–15s | 480p / 720p | true / false |
| Nightfolio Motion 2.5 | 4–30s | 480p / 720p | true / false |
Nightfolio Motion 使用 seconds 与 aspect_ratio 控制时长与比例,2.x 支持 16:9、9:16、1:1、4:3、3:4、21:9 与 adaptive。省略参数时保留向后兼容预设值:5 秒、720p、16:9、关闭音频;只要包含视频参考,就必须明确传入 seconds=-1。图片参考与首尾帧模式不支持 1080p。
input_references 可同时传入图片、视频与音频,role 必须分别为 reference_image、reference_video、reference_audio。Nightfolio Motion 2.0/Fast/Mini 最多 9 张图片、3 段视频、3 段音频(合计 15 个),且音频不可单独使用;Nightfolio Motion 2.5 最多 30 张图片、10 段视频、10 段音频(合计 50 个),也支持纯音频参考。URL 可使用同账户有效的 asset:// 素材或公开 HTTPS URL。
curl "https://developer.nightfolioai.com/v1/videos/generations" \
-H "Authorization: Bearer $NIGHTFOLIO_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: YOUR_UNIQUE_REQUEST_ID" \
-d '{
"model": "nightfolio-motion-2.5",
"prompt": "Edit video 1: replace the background with image 1. Keep the subject, timing, camera movement and audio unchanged.",
"seconds": -1,
"resolution": "480p",
"aspect_ratio": "adaptive",
"output_format": "mov",
"input_references": [
{
"type": "video",
"url": "asset://YOUR_VIDEO_ASSET_ID",
"role": "reference_video"
},
{
"type": "image",
"url": "asset://YOUR_IMAGE_ASSET_ID",
"role": "reference_image"
}
]
}'视频编辑与延长由提示词意图判定:请明确使用 edit、replace、remove、extend、continue 等动作,并指出视频 1、图片 1 等素材。Nightfolio Motion 2.5 的编辑/延长请使用 aspect_ratio=adaptive;包含非公众人物真人脸的参考素材应使用可信 asset:// 素材,而不是公开 URL。
curl "https://developer.nightfolioai.com/v1/videos/generations" \
-H "Authorization: Bearer $NIGHTFOLIO_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: YOUR_UNIQUE_REQUEST_ID" \
-d '{
"model": "nightfolio-motion-2.5",
"prompt": "Move smoothly from the first frame to the last frame.",
"seconds": 4,
"resolution": "480p",
"aspect_ratio": "adaptive",
"frame_images": [
{
"frame_type": "first_frame",
"image_url": "asset://YOUR_FIRST_FRAME_ASSET_ID"
},
{
"frame_type": "last_frame",
"image_url": "asset://YOUR_LAST_FRAME_ASSET_ID"
}
]
}'frame_images 可传入一个 first_frame,或一个 first_frame 加一个 last_frame。frame_images 与 input_references 不可同时使用;Nightfolio Motion 2.5 帧控制必须使用 aspect_ratio=adaptive。若还需要其他参考素材,请改用 input_references 并在提示词描述开场画面,但该模式无法保证精确首帧一致性。
素材上传支持图片最多 30 MB、MP4/MOV 视频最多 200 MB,以及 WAV/MP3 音频最多 15 MB。公开 HTTPS 参考网址在上游任务执行期间必须持续可访问。
任务与结果
{
"id": "mh_image_JOB_ID",
"object": "image",
"model": "nightfolio-image-4.5",
"status": "queued",
"created_at": 1788696000,
"charge": 0,
"reserved": 50000,
"billing_status": "processing",
"result_expires_at": 0
}上方金额仅供格式示意,不是报价。响应金额单位为 micro-USD:1 美元 = 1,000,000 单位。
curl "https://developer.nightfolioai.com/v1/images/mh_image_JOB_ID" \
-H "Authorization: Bearer $NIGHTFOLIO_API_KEY"| Status | 说明 |
|---|---|
queued | 等待提交 |
submitting | 正在提交生成 |
processing | 正在生成,请继续查询 |
completed | 结果已完成,费用已结算 |
failed | 生成失败,预留额度已释放 |
needs_review | 结果未明,额度保留待人工核对 |
完成后,图片位于 result.data[0].b64_json 或 url;视频位于 result.data[0].url。请及时保存:结果资料保留 24 小时,外部下载链接可能更早到期。只有任务所属账户可查询。
计费与重试
提交前会预留额度,成功后依任务保存的报价扣费一次;报价依所选模型与请求参数计算。确认失败会释放额度;提交中断或结果不明会保留额度待核对。不要因逾时而直接重新生成。
对 seconds=-1 的视频参考任务,Nightfolio 会先按保守上限预留;成功后再依供应商回报的实际输出 Token 计算较低的最终扣费。若缺少有效用量或实际用量超过预留,任务会进入 needs_review,不会猜测或直接超额扣款。
重试提交时沿用相同 Idempotency-Key 与内容;已取得 ID 就查询原任务。建议每 5–10 秒查询一次,遇到 429 延长间隔。每账户每分钟最多提交 12 次、查询 120 次,同时最多 4 个进行中请求。
错误处理
{
"error": {
"code": "model_not_published",
"message": "This model is not published."
}
}| HTTP | 处理方式 |
|---|---|
| 400 | 检查必填栏位与固定规格 |
| 401 | 检查 Key 或账户状态 |
| 402 | 请管理员增加额度 |
| 404 | 检查模型、任务 ID 与所属账户 |
| 409 | Idempotency-Key 与之前的内容冲突 |
| 429 | 降低频率,不要重复建立任务 |
| 503 | 模型未开放或服务尚未配置 |
