Sora 2 提示詞生成器 API
根據主題生成專業 Sora 2 影片提示詞的 API,支援多種影片手法和多語言輸出。
線上體驗:https://nanophoto.ai/zh-TW/sora-2-prompt-generator
介面
POST /api/sora-2/generate-prompt認證
Authorization: Bearer YOUR_API_KEY積分
每次生成消耗 2 積分。
積分在請求開始時預扣,生成失敗時自動退還。
請求
請求標頭
| 請求標頭 | 值 |
|---|---|
Content-Type | application/json |
Authorization | Bearer YOUR_API_KEY |
請求主體參數
| 參數 | 類型 | 必填 | 描述 |
|---|---|---|---|
topic | string | 是 | 影片主題或場景描述(最大 500 字元) |
mode | string | 否 | textToVideo 或 imageToVideo(預設:textToVideo) |
technique | string | 否 | 影片手法(見下表)。預設:montage |
duration | number | 否 | 影片時長,單位秒(預設:10) |
model | string | 否 | AI 模型(預設:google/gemini-3-flash-preview) |
locale | string | 否 | 輸出語言(預設:en)。支援:en、zh、zh-TW、ja、ko、es、fr、de、pt、ru、ar |
imageUrls | string[] | 否 | imageToVideo 模式的公開圖片 URL(最多 3 張) |
支援的影片手法
| 值 | 描述 |
|---|---|
montage | 蒙太奇 - 快速切換鏡頭組合 |
long-take | 長鏡頭 - 一鏡到底 |
time-lapse | 縮時攝影 |
slow-motion | 慢動作 |
tracking-shot | 跟蹤鏡頭 |
aerial-view | 航拍視角 |
pov | 第一人稱視角 |
split-screen | 分割畫面 |
match-cut | 匹配剪輯 |
fade-transition | 淡入淡出 |
imageUrls僅接受公開可存取的 URL。不支援透過 API 上傳 Base64 圖片。topic最大 500 字元。
範例
文生影片提示詞
curl -X POST "https://nanophoto.ai/api/sora-2/generate-prompt" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-raw '{
"topic": "寧靜的日式庭院,櫻花花瓣飄落到錦鯉池塘",
"technique": "slow-motion",
"duration": 15,
"locale": "zh-TW"
}'圖生影片提示詞
curl -X POST "https://nanophoto.ai/api/sora-2/generate-prompt" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-raw '{
"topic": "為這個風景畫添加微風和飄浮的雲朵動畫效果",
"mode": "imageToVideo",
"technique": "long-take",
"duration": 10,
"locale": "zh-TW",
"imageUrls": ["https://example.com/landscape.jpg"]
}'回應
成功 - 串流輸出
API 回傳串流文字回應(Content-Type: text/plain; charset=utf-8)。生成的 Sora 2 提示詞會即時串流輸出。
輸出內容包含:
- 帶時間標記的結構化影片提示詞
- 逐鏡頭分解
- 鏡頭角度、運動和光影細節
- 氛圍和情緒描述
錯誤
{
"success": false,
"error": "Insufficient credits. Required: 2 credits for prompt generation.",
"errorCode": "INSUFFICIENT_CREDITS",
"requiredCredits": 2
}完整 TypeScript 範例
async function generatePrompt(apiKey: string) {
const response = await fetch("https://nanophoto.ai/api/sora-2/generate-prompt", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${apiKey}`,
},
body: JSON.stringify({
topic: "未來感城市日落景觀,飛行器穿梭與霓虹燈光",
technique: "aerial-view",
duration: 15,
locale: "zh-TW",
}),
});
if (!response.ok) {
const error = await response.json();
throw new Error(`生成失敗: ${error.error}`);
}
// 讀取串流回應
const reader = response.body!.getReader();
const decoder = new TextDecoder();
let prompt = "";
while (true) {
const { done, value } = await reader.read();
if (done) break;
const chunk = decoder.decode(value);
prompt += chunk;
process.stdout.write(chunk);
}
console.log("\n\n完整提示詞:", prompt);
return prompt;
}錯誤碼
| errorCode | HTTP 狀態碼 | 描述 |
|---|---|---|
LOGIN_REQUIRED | 401 | 需要認證 |
API_KEY_RATE_LIMIT_EXCEEDED | 429 | 超出速率限制 |
INSUFFICIENT_CREDITS | 402 | 積分不足 |
INVALID_INPUT | 400 | 主題為空或超過長度限制 |
NanoPhoto.AI文檔