视频反推提示词 API
分析视频提取详细镜头分解和提示词的 API。
在线体验:https://nanophoto.ai/zh/video-reverse-prompt
接口
POST /api/sora-2/reverse-prompt认证
Authorization: Bearer YOUR_API_KEY积分
每次分析消耗 1 积分(仅 API 调用;网页端免费)。
请求
请求头
| 请求头 | 值 |
|---|---|
Content-Type | application/json |
Authorization | Bearer YOUR_API_KEY |
请求体参数
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
videoSource | string | 是 | 视频来源类型:youtube、url 或 file |
locale | string | 否 | 输出语言(默认:en)。支持:en、zh、zh-TW、ja、ko、es、fr、de、pt、ru、ar |
videoUrl | string | 条件必填 | 视频链接。YouTube 链接(当 videoSource 为 youtube 时)或直接 .mp4 链接(当 videoSource 为 url 时) |
videoFile | string | 条件必填 | Base64 编码的视频文件(当 videoSource 为 file 时必填) |
videoFileName | string | 否 | 上传视频的原始文件名 |
示例
YouTube 视频
curl -X POST "https://nanophoto.ai/api/sora-2/reverse-prompt" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-raw '{
"videoSource": "youtube",
"locale": "zh",
"videoUrl": "https://www.youtube.com/watch?v=W-15-UmGP5s"
}'视频 URL
curl -X POST "https://nanophoto.ai/api/sora-2/reverse-prompt" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-raw '{
"videoSource": "url",
"locale": "zh",
"videoUrl": "https://static.nanophoto.ai/demo/sk2-ad.mp4"
}'文件上传(Base64)
读取视频文件并编码为 Base64,然后通过 videoFile 字段传入。
import { readFile } from "node:fs/promises";
const videoBuffer = await readFile("your-video.mp4");
const videoBase64 = videoBuffer.toString("base64");
const response = await fetch("https://nanophoto.ai/api/sora-2/reverse-prompt", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer YOUR_API_KEY",
},
body: JSON.stringify({
videoSource: "file",
locale: "zh",
videoFile: videoBase64,
videoFileName: "your-video.mp4",
}),
});
// 流式读取响应
const reader = response.body!.getReader();
const decoder = new TextDecoder();
while (true) {
const { done, value } = await reader.read();
if (done) break;
process.stdout.write(decoder.decode(value));
}- 仅支持
.mp4格式 - 最大文件大小:30 MB(Base64 编码前)
videoFile的值可以是纯 Base64 字符串,也可以是 Data URL(如data:video/mp4;base64,...)
响应
成功 - 流式输出
API 返回流式文本响应(Content-Type: text/plain; charset=utf-8)。AI 分析在生成时实时流式输出,包含 Markdown 表格格式的详细镜头分解。
输出内容包括:
- 镜号、景别/角度、摄像机运动
- 详细画面描述
- 音频分析(BGM、音效、旁白)
- 每个镜头的时长
- 整体总结
错误
{
"success": false,
"error": "AI service temporarily unavailable. Please try again later.",
"errorCode": "AI_SERVICE_ERROR"
}错误码
| errorCode | HTTP 状态码 | 描述 |
|---|---|---|
LOGIN_REQUIRED | 401 | 需要认证 |
API_KEY_RATE_LIMIT_EXCEEDED | 429 | 超出速率限制 |
INSUFFICIENT_CREDITS | 402 | 积分不足 |
INVALID_INPUT | 400 | 缺少必填参数 |
INVALID_YOUTUBE_URL | 400 | YouTube URL 无效 |
INVALID_VIDEO_URL | 400 | 视频 URL 无效 |
INVALID_FORMAT | 400 | MP4 格式无效 |
FILE_TOO_LARGE | 400 | 文件超过 30MB |
VIDEO_DOWNLOAD_FAILED | 400 | 视频下载失败 |
VIDEO_PROCESSING_FAILED | 422 | 视频处理失败 |
AI_SERVICE_ERROR | 503 | AI 服务不可用 |
SERVICE_UNAVAILABLE | 503 | 服务配置问题 |
INTERNAL_ERROR | 500 | 内部服务器错误 |
NanoPhoto.AI文档