curl -X POST https://www.geeknow.top/v1/videos \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "manxue-2.0",
"prompt": "清晨海边,航拍镜头掠过浪花,阳光穿过薄雾,电影感",
"seconds": "8",
"ratio": "16:9",
"resolution": "720P",
"generate_audio": false
}'
curl -X POST https://www.geeknow.top/v1/videos \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "manxue-2.0",
"prompt": "@image1;让画面中的人物自然转身,看向镜头并微笑",
"seconds": "6",
"ratio": "9:16",
"resolution": "720P",
"generate_audio": false,
"content": [
{
"type": "text",
"text": "@image1;让画面中的人物自然转身,看向镜头并微笑"
},
{
"type": "image_url",
"role": "first_frame",
"image_url": {
"url": "https://example.com/assets/first-frame.png"
}
}
]
}'
curl -X POST https://www.geeknow.top/v1/videos \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "manxue-2.0",
"prompt": "@image1;@image2;从首帧自然过渡到尾帧,保持人物服装和场景一致",
"seconds": "10",
"ratio": "16:9",
"resolution": "720P",
"generate_audio": false,
"content": [
{
"type": "text",
"text": "@image1;@image2;从首帧自然过渡到尾帧,保持人物服装和场景一致"
},
{
"type": "image_url",
"role": "first_frame",
"image_url": {
"url": "https://example.com/assets/opening-frame.png"
}
},
{
"type": "image_url",
"role": "last_frame",
"image_url": {
"url": "https://example.com/assets/ending-frame.png"
}
}
]
}'
curl -X POST https://www.geeknow.top/v1/videos \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "manxue-2.0",
"prompt": "@image1;@image2;参考角色外观和场景氛围,生成一段慢镜头短片",
"seconds": "12",
"ratio": "16:9",
"resolution": "480P",
"generate_audio": false,
"content": [
{
"type": "text",
"text": "@image1;@image2;参考角色外观和场景氛围,生成一段慢镜头短片"
},
{
"type": "image_url",
"role": "reference_image",
"image_url": {
"url": "https://example.com/assets/character.png"
}
},
{
"type": "image_url",
"role": "reference_image",
"image_url": {
"url": "https://example.com/assets/scene.png"
}
}
]
}'
curl -X POST https://www.geeknow.top/v1/videos \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "manxue-2.0",
"prompt": "@image1;根据音频内容自动拆分场景,生成连贯的视频镜头,镜头节奏跟随语气和情绪变化。",
"seconds": "15",
"ratio": "16:9",
"resolution": "720P",
"generate_audio": true,
"content": [
{
"type": "text",
"text": "@image1;请根据音频内容生成分镜、场景、动作和镜头变化,整体偏自然真实。"
},
{
"type": "image_url",
"role": "reference_image",
"image_url": {
"url": "https://example.com/assets/reference-image.png"
}
},
{
"type": "audio_url",
"role": "reference_audio",
"audio_url": {
"url": "https://example.com/assets/reference-audio.mp3"
}
}
]
}'
import requests
resp = requests.post(
"https://www.geeknow.top/v1/videos",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
json={
"model": "manxue-2.0",
"prompt": "清晨海边,航拍镜头掠过浪花,阳光穿过薄雾,电影感",
"seconds": "8",
"ratio": "16:9",
"resolution": "720P",
"generate_audio": False,
},
timeout=120,
)
print(resp.json())
const response = await fetch("https://www.geeknow.top/v1/videos", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "manxue-2.0",
prompt: "清晨海边,航拍镜头掠过浪花,阳光穿过薄雾,电影感",
seconds: "8",
ratio: "16:9",
resolution: "720P",
generate_audio: false,
}),
});
console.log(await response.json());
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
)
func main() {
payload := map[string]any{
"model": "manxue-2.0",
"prompt": "清晨海边,航拍镜头掠过浪花,阳光穿过薄雾,电影感",
"seconds": "8",
"ratio": "16:9",
"resolution": "720P",
"generate_audio": false,
}
body, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", "https://www.geeknow.top/v1/videos", bytes.NewReader(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
respBody, _ := io.ReadAll(resp.Body)
fmt.Println(string(respBody))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
String json = """
{
"model": "manxue-2.0",
"prompt": "清晨海边,航拍镜头掠过浪花,阳光穿过薄雾,电影感",
"seconds": "8",
"ratio": "16:9",
"resolution": "720P",
"generate_audio": false
}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://www.geeknow.top/v1/videos"))
.header("Authorization", "Bearer YOUR_API_KEY")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(json))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
<?php
$payload = [
'model' => 'manxue-2.0',
'prompt' => '清晨海边,航拍镜头掠过浪花,阳光穿过薄雾,电影感',
'seconds' => '8',
'ratio' => '16:9',
'resolution' => '720P',
'generate_audio' => false,
];
$ch = curl_init('https://www.geeknow.top/v1/videos');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer YOUR_API_KEY',
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode($payload, JSON_UNESCAPED_UNICODE),
CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
{
"id": "video_abc123",
"task_id": "video_abc123",
"object": "video",
"model": "manxue-2.0",
"status": "queued",
"progress": 0,
"created_at": 1735689600,
"video_url": ""
}
{
"error": {
"message": "prompt is required",
"type": "invalid_request_error",
"param": "prompt",
"code": "invalid_request_error"
}
}
{
"error": {
"message": "invalid token",
"type": "invalid_request_error",
"code": "invalid_api_key"
}
}
{
"error": {
"message": "insufficient quota",
"type": "insufficient_quota",
"code": "insufficient_quota"
}
}
{
"error": {
"message": "rate limit exceeded",
"type": "rate_limit_error",
"code": "rate_limit_exceeded"
}
}
特惠渠道系列
manxue-2.0 视频生成
使用 POST /v1/videos 调用 manxue-2.0 提交 JSON 视频生成任务。
POST
https://www.geeknow.top
/
v1
/
videos
curl -X POST https://www.geeknow.top/v1/videos \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "manxue-2.0",
"prompt": "清晨海边,航拍镜头掠过浪花,阳光穿过薄雾,电影感",
"seconds": "8",
"ratio": "16:9",
"resolution": "720P",
"generate_audio": false
}'
curl -X POST https://www.geeknow.top/v1/videos \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "manxue-2.0",
"prompt": "@image1;让画面中的人物自然转身,看向镜头并微笑",
"seconds": "6",
"ratio": "9:16",
"resolution": "720P",
"generate_audio": false,
"content": [
{
"type": "text",
"text": "@image1;让画面中的人物自然转身,看向镜头并微笑"
},
{
"type": "image_url",
"role": "first_frame",
"image_url": {
"url": "https://example.com/assets/first-frame.png"
}
}
]
}'
curl -X POST https://www.geeknow.top/v1/videos \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "manxue-2.0",
"prompt": "@image1;@image2;从首帧自然过渡到尾帧,保持人物服装和场景一致",
"seconds": "10",
"ratio": "16:9",
"resolution": "720P",
"generate_audio": false,
"content": [
{
"type": "text",
"text": "@image1;@image2;从首帧自然过渡到尾帧,保持人物服装和场景一致"
},
{
"type": "image_url",
"role": "first_frame",
"image_url": {
"url": "https://example.com/assets/opening-frame.png"
}
},
{
"type": "image_url",
"role": "last_frame",
"image_url": {
"url": "https://example.com/assets/ending-frame.png"
}
}
]
}'
curl -X POST https://www.geeknow.top/v1/videos \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "manxue-2.0",
"prompt": "@image1;@image2;参考角色外观和场景氛围,生成一段慢镜头短片",
"seconds": "12",
"ratio": "16:9",
"resolution": "480P",
"generate_audio": false,
"content": [
{
"type": "text",
"text": "@image1;@image2;参考角色外观和场景氛围,生成一段慢镜头短片"
},
{
"type": "image_url",
"role": "reference_image",
"image_url": {
"url": "https://example.com/assets/character.png"
}
},
{
"type": "image_url",
"role": "reference_image",
"image_url": {
"url": "https://example.com/assets/scene.png"
}
}
]
}'
curl -X POST https://www.geeknow.top/v1/videos \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "manxue-2.0",
"prompt": "@image1;根据音频内容自动拆分场景,生成连贯的视频镜头,镜头节奏跟随语气和情绪变化。",
"seconds": "15",
"ratio": "16:9",
"resolution": "720P",
"generate_audio": true,
"content": [
{
"type": "text",
"text": "@image1;请根据音频内容生成分镜、场景、动作和镜头变化,整体偏自然真实。"
},
{
"type": "image_url",
"role": "reference_image",
"image_url": {
"url": "https://example.com/assets/reference-image.png"
}
},
{
"type": "audio_url",
"role": "reference_audio",
"audio_url": {
"url": "https://example.com/assets/reference-audio.mp3"
}
}
]
}'
import requests
resp = requests.post(
"https://www.geeknow.top/v1/videos",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
json={
"model": "manxue-2.0",
"prompt": "清晨海边,航拍镜头掠过浪花,阳光穿过薄雾,电影感",
"seconds": "8",
"ratio": "16:9",
"resolution": "720P",
"generate_audio": False,
},
timeout=120,
)
print(resp.json())
const response = await fetch("https://www.geeknow.top/v1/videos", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "manxue-2.0",
prompt: "清晨海边,航拍镜头掠过浪花,阳光穿过薄雾,电影感",
seconds: "8",
ratio: "16:9",
resolution: "720P",
generate_audio: false,
}),
});
console.log(await response.json());
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
)
func main() {
payload := map[string]any{
"model": "manxue-2.0",
"prompt": "清晨海边,航拍镜头掠过浪花,阳光穿过薄雾,电影感",
"seconds": "8",
"ratio": "16:9",
"resolution": "720P",
"generate_audio": false,
}
body, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", "https://www.geeknow.top/v1/videos", bytes.NewReader(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
respBody, _ := io.ReadAll(resp.Body)
fmt.Println(string(respBody))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
String json = """
{
"model": "manxue-2.0",
"prompt": "清晨海边,航拍镜头掠过浪花,阳光穿过薄雾,电影感",
"seconds": "8",
"ratio": "16:9",
"resolution": "720P",
"generate_audio": false
}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://www.geeknow.top/v1/videos"))
.header("Authorization", "Bearer YOUR_API_KEY")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(json))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
<?php
$payload = [
'model' => 'manxue-2.0',
'prompt' => '清晨海边,航拍镜头掠过浪花,阳光穿过薄雾,电影感',
'seconds' => '8',
'ratio' => '16:9',
'resolution' => '720P',
'generate_audio' => false,
];
$ch = curl_init('https://www.geeknow.top/v1/videos');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer YOUR_API_KEY',
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode($payload, JSON_UNESCAPED_UNICODE),
CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
{
"id": "video_abc123",
"task_id": "video_abc123",
"object": "video",
"model": "manxue-2.0",
"status": "queued",
"progress": 0,
"created_at": 1735689600,
"video_url": ""
}
{
"error": {
"message": "prompt is required",
"type": "invalid_request_error",
"param": "prompt",
"code": "invalid_request_error"
}
}
{
"error": {
"message": "invalid token",
"type": "invalid_request_error",
"code": "invalid_api_key"
}
}
{
"error": {
"message": "insufficient quota",
"type": "insufficient_quota",
"code": "insufficient_quota"
}
}
{
"error": {
"message": "rate limit exceeded",
"type": "rate_limit_error",
"code": "rate_limit_exceeded"
}
}
manxue-2.0
manxue-2.0 使用 JSON 请求体提交异步视频任务,支持文生视频、首帧生视频、首尾帧、多参考图和参考音频生成。
- 接口路径是
POST /v1/videos。 - 请求格式是
application/json。 seconds支持4到15秒。resolution支持480P和720P。- 文生视频只需要
model、prompt、seconds、ratio、resolution。 - 参考图使用
content数组中的image_url项,图片地址需要是公网 URL。 - 参考音频使用
content数组中的audio_url项,并通过role: "reference_audio"标记。
方法与路径
POST /v1/videos
请求示例
curl -X POST https://www.geeknow.top/v1/videos \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "manxue-2.0",
"prompt": "清晨海边,航拍镜头掠过浪花,阳光穿过薄雾,电影感",
"seconds": "8",
"ratio": "16:9",
"resolution": "720P",
"generate_audio": false
}'
curl -X POST https://www.geeknow.top/v1/videos \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "manxue-2.0",
"prompt": "@image1;让画面中的人物自然转身,看向镜头并微笑",
"seconds": "6",
"ratio": "9:16",
"resolution": "720P",
"generate_audio": false,
"content": [
{
"type": "text",
"text": "@image1;让画面中的人物自然转身,看向镜头并微笑"
},
{
"type": "image_url",
"role": "first_frame",
"image_url": {
"url": "https://example.com/assets/first-frame.png"
}
}
]
}'
curl -X POST https://www.geeknow.top/v1/videos \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "manxue-2.0",
"prompt": "@image1;@image2;从首帧自然过渡到尾帧,保持人物服装和场景一致",
"seconds": "10",
"ratio": "16:9",
"resolution": "720P",
"generate_audio": false,
"content": [
{
"type": "text",
"text": "@image1;@image2;从首帧自然过渡到尾帧,保持人物服装和场景一致"
},
{
"type": "image_url",
"role": "first_frame",
"image_url": {
"url": "https://example.com/assets/opening-frame.png"
}
},
{
"type": "image_url",
"role": "last_frame",
"image_url": {
"url": "https://example.com/assets/ending-frame.png"
}
}
]
}'
curl -X POST https://www.geeknow.top/v1/videos \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "manxue-2.0",
"prompt": "@image1;@image2;参考角色外观和场景氛围,生成一段慢镜头短片",
"seconds": "12",
"ratio": "16:9",
"resolution": "480P",
"generate_audio": false,
"content": [
{
"type": "text",
"text": "@image1;@image2;参考角色外观和场景氛围,生成一段慢镜头短片"
},
{
"type": "image_url",
"role": "reference_image",
"image_url": {
"url": "https://example.com/assets/character.png"
}
},
{
"type": "image_url",
"role": "reference_image",
"image_url": {
"url": "https://example.com/assets/scene.png"
}
}
]
}'
curl -X POST https://www.geeknow.top/v1/videos \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "manxue-2.0",
"prompt": "@image1;根据音频内容自动拆分场景,生成连贯的视频镜头,镜头节奏跟随语气和情绪变化。",
"seconds": "15",
"ratio": "16:9",
"resolution": "720P",
"generate_audio": true,
"content": [
{
"type": "text",
"text": "@image1;请根据音频内容生成分镜、场景、动作和镜头变化,整体偏自然真实。"
},
{
"type": "image_url",
"role": "reference_image",
"image_url": {
"url": "https://example.com/assets/reference-image.png"
}
},
{
"type": "audio_url",
"role": "reference_audio",
"audio_url": {
"url": "https://example.com/assets/reference-audio.mp3"
}
}
]
}'
import requests
resp = requests.post(
"https://www.geeknow.top/v1/videos",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
json={
"model": "manxue-2.0",
"prompt": "清晨海边,航拍镜头掠过浪花,阳光穿过薄雾,电影感",
"seconds": "8",
"ratio": "16:9",
"resolution": "720P",
"generate_audio": False,
},
timeout=120,
)
print(resp.json())
const response = await fetch("https://www.geeknow.top/v1/videos", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "manxue-2.0",
prompt: "清晨海边,航拍镜头掠过浪花,阳光穿过薄雾,电影感",
seconds: "8",
ratio: "16:9",
resolution: "720P",
generate_audio: false,
}),
});
console.log(await response.json());
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
)
func main() {
payload := map[string]any{
"model": "manxue-2.0",
"prompt": "清晨海边,航拍镜头掠过浪花,阳光穿过薄雾,电影感",
"seconds": "8",
"ratio": "16:9",
"resolution": "720P",
"generate_audio": false,
}
body, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", "https://www.geeknow.top/v1/videos", bytes.NewReader(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
respBody, _ := io.ReadAll(resp.Body)
fmt.Println(string(respBody))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
String json = """
{
"model": "manxue-2.0",
"prompt": "清晨海边,航拍镜头掠过浪花,阳光穿过薄雾,电影感",
"seconds": "8",
"ratio": "16:9",
"resolution": "720P",
"generate_audio": false
}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://www.geeknow.top/v1/videos"))
.header("Authorization", "Bearer YOUR_API_KEY")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(json))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
<?php
$payload = [
'model' => 'manxue-2.0',
'prompt' => '清晨海边,航拍镜头掠过浪花,阳光穿过薄雾,电影感',
'seconds' => '8',
'ratio' => '16:9',
'resolution' => '720P',
'generate_audio' => false,
];
$ch = curl_init('https://www.geeknow.top/v1/videos');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer YOUR_API_KEY',
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode($payload, JSON_UNESCAPED_UNICODE),
CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
响应示例
{
"id": "video_abc123",
"task_id": "video_abc123",
"object": "video",
"model": "manxue-2.0",
"status": "queued",
"progress": 0,
"created_at": 1735689600,
"video_url": ""
}
{
"error": {
"message": "prompt is required",
"type": "invalid_request_error",
"param": "prompt",
"code": "invalid_request_error"
}
}
{
"error": {
"message": "invalid token",
"type": "invalid_request_error",
"code": "invalid_api_key"
}
}
{
"error": {
"message": "insufficient quota",
"type": "insufficient_quota",
"code": "insufficient_quota"
}
}
{
"error": {
"message": "rate limit exceeded",
"type": "rate_limit_error",
"code": "rate_limit_exceeded"
}
}
认证
使用 Bearer Token 鉴权:Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Body
固定传
manxue-2.0。视频生成提示词。使用参考图时,建议在提示词中加入
@image1、@image2 等引用标记。视频时长。支持
4 到 15 秒,建议按字符串传入,例如 "8"。画幅比例。支持
16:9、9:16、1:1、3:4、4:3、21:9。输出清晰度。支持
480P、720P,也兼容 480p、720p 写法。是否生成音频或启用参考音频。使用
content[].audio_url 作为参考音频时,建议传 true。图生视频、参考图视频或参考音频视频使用的内容数组。第一项通常为文本,图片项使用
type: "image_url",音频项使用 type: "audio_url"。内容类型。文本项为
text,图片项为 image_url,音频项为 audio_url。文本项内容。通常与顶层
prompt 保持一致。素材角色。图片常用值为
first_frame、last_frame、reference_image;参考音频使用 reference_audio。公网图片 URL。
manxue-2.0 不接收 Base64 data URI。公网音频 URL。使用参考音频时,
content[].type 传 audio_url,content[].role 传 reference_audio。Response
视频任务 ID。后续可用于
GET /v1/videos/{id} 查询。视频任务 ID 的兼容字段。通常与
id 相同。对象类型,通常为
video。本次任务使用的模型,例如
manxue-2.0。任务状态。常见值为
queued、in_progress、completed、failed。任务进度,常见范围为
0 到 100。任务完成后的视频地址。也可以使用
GET /v1/videos/{id}/content 下载结果。任务失败或接口错误时返回的错误对象,通常包含
message 和 code。使用场景
480P 文生视频
{
"model": "manxue-2.0",
"prompt": "清晨海边,航拍镜头掠过浪花,阳光穿过薄雾,电影感",
"seconds": "6",
"ratio": "16:9",
"resolution": "480P",
"generate_audio": false
}
首帧生视频
{
"model": "manxue-2.0",
"prompt": "@image1;让画面中的人物自然转身,看向镜头并微笑",
"seconds": "8",
"ratio": "9:16",
"resolution": "720P",
"content": [
{
"type": "text",
"text": "@image1;让画面中的人物自然转身,看向镜头并微笑"
},
{
"type": "image_url",
"role": "first_frame",
"image_url": {
"url": "https://example.com/assets/first-frame.png"
}
}
]
}
多参考图视频
{
"model": "manxue-2.0",
"prompt": "@image1;@image2;参考角色外观和场景氛围,生成一段慢镜头短片",
"seconds": "12",
"ratio": "16:9",
"resolution": "720P",
"content": [
{
"type": "text",
"text": "@image1;@image2;参考角色外观和场景氛围,生成一段慢镜头短片"
},
{
"type": "image_url",
"role": "reference_image",
"image_url": {
"url": "https://example.com/assets/character.png"
}
},
{
"type": "image_url",
"role": "reference_image",
"image_url": {
"url": "https://example.com/assets/scene.png"
}
}
]
}
参考图 + 参考音频视频
参考音频放在content 数组中,使用 type: "audio_url" 和 role: "reference_audio"。提示词可以说明“根据音频内容拆分场景、节奏跟随语气和情绪变化”等要求。
{
"model": "manxue-2.0",
"prompt": "@image1;根据音频内容自动拆分场景,生成连贯的视频镜头,镜头节奏跟随语气和情绪变化。",
"seconds": "15",
"ratio": "16:9",
"resolution": "720P",
"generate_audio": true,
"content": [
{
"type": "text",
"text": "@image1;请根据音频内容生成分镜、场景、动作和镜头变化,整体偏自然真实。"
},
{
"type": "image_url",
"role": "reference_image",
"image_url": {
"url": "https://example.com/assets/reference-image.png"
}
},
{
"type": "audio_url",
"role": "reference_audio",
"audio_url": {
"url": "https://example.com/assets/reference-audio.mp3"
}
}
]
}
注意事项
- 请求格式为
application/json。 seconds支持4到15秒。resolution支持480P和720P。- 图片字段接收公网 URL;Base64 data URI 不属于该字段的推荐输入格式。
- 音频参考通过
content[].audio_url.url传入公网音频 URL,并使用role: "reference_audio"标记。 - 该模型归属特惠渠道系列,模型名固定使用
manxue-2.0。
相关接口
⌘I