LogoNanoPhoto.AI文档
LogoNanoPhoto.AI文档
首页文档

入门指南

入门指南

用户指南

用户指南

API

API 参考Sora 水印去除 API视频反推提示词 API

场景

Sora 2 TVC 广告制作

常见问题

常见问题
X (Twitter)

视频反推提示词 API

分析视频提取详细镜头分解和提示词的 API。

在线体验:https://nanophoto.ai/zh/video-reverse-prompt

接口

POST /api/sora-2/reverse-prompt

认证

Authorization: Bearer YOUR_API_KEY

积分

每次分析消耗 1 积分(仅 API 调用;网页端免费)。

请求

请求头

请求头值
Content-Typeapplication/json
AuthorizationBearer YOUR_API_KEY

请求体参数

参数类型必填描述
videoSourcestring是视频来源类型:youtube、url 或 file
localestring否输出语言(默认:en)。支持:en、zh、zh-TW、ja、ko、es、fr、de、pt、ru、ar
videoUrlstring条件必填视频链接。YouTube 链接(当 videoSource 为 youtube 时)或直接 .mp4 链接(当 videoSource 为 url 时)
videoFilestring条件必填Base64 编码的视频文件(当 videoSource 为 file 时必填)
videoFileNamestring否上传视频的原始文件名

示例

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 字段传入。

app/api/example/route.ts
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"
}

错误码

errorCodeHTTP 状态码描述
LOGIN_REQUIRED401需要认证
API_KEY_RATE_LIMIT_EXCEEDED429超出速率限制
INSUFFICIENT_CREDITS402积分不足
INVALID_INPUT400缺少必填参数
INVALID_YOUTUBE_URL400YouTube URL 无效
INVALID_VIDEO_URL400视频 URL 无效
INVALID_FORMAT400MP4 格式无效
FILE_TOO_LARGE400文件超过 30MB
VIDEO_DOWNLOAD_FAILED400视频下载失败
VIDEO_PROCESSING_FAILED422视频处理失败
AI_SERVICE_ERROR503AI 服务不可用
SERVICE_UNAVAILABLE503服务配置问题
INTERNAL_ERROR500内部服务器错误

Sora 水印去除 API

去除 Sora 2 生成视频水印的 API。

Sora 2 TVC 广告制作

使用 AI 三步创建专业 TVC 风格视频广告。从创意主题到成片,几分钟即可完成。

目录

接口
认证
积分
请求
请求头
请求体参数
示例
YouTube 视频
视频 URL
文件上传(Base64)
响应
成功 - 流式输出
错误
错误码