POST
/
v1
/
assets
/
uploads
创建视频素材
curl --request POST \
  --url https://suanwuyou.com.cn/v1/assets/uploads \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "url": "https://example.org/reference.png",
  "model": "sd2_manxue_720p",
  "mode": "asset",
  "type": "image",
  "purpose": "person_reference",
  "role": "reference_image",
  "subject_type": "person"
}
'
import requests

url = "https://suanwuyou.com.cn/v1/assets/uploads"

payload = {
"url": "https://example.org/reference.png",
"model": "sd2_manxue_720p",
"mode": "asset",
"type": "image",
"purpose": "person_reference",
"role": "reference_image",
"subject_type": "person"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
url: 'https://example.org/reference.png',
model: 'sd2_manxue_720p',
mode: 'asset',
type: 'image',
purpose: 'person_reference',
role: 'reference_image',
subject_type: 'person'
})
};

fetch('https://suanwuyou.com.cn/v1/assets/uploads', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://suanwuyou.com.cn/v1/assets/uploads"

payload := strings.NewReader("{\n \"url\": \"https://example.org/reference.png\",\n \"model\": \"sd2_manxue_720p\",\n \"mode\": \"asset\",\n \"type\": \"image\",\n \"purpose\": \"person_reference\",\n \"role\": \"reference_image\",\n \"subject_type\": \"person\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
{
  "object": "asset",
  "source_url": "https://example.org/reference.png",
  "model": "sd2_manxue_720p",
  "asset_id": "asset-example",
  "asset_url": "Asset://asset-example",
  "asset_type": "Image",
  "status": "ready",
  "content": {
    "type": "image_url",
    "image_url": {
      "url": "Asset://asset-example"
    },
    "role": "reference_image"
  }
}
{
"error": {
"message": "请求参数不正确",
"type": "invalid_request_error",
"code": "invalid_parameter"
}
}
{
"error": {
"message": "invalid api key",
"type": "invalid_request_error",
"code": "unauthorized"
}
}
素材 URL 必须能够从公网访问。创建成功后建议同时保存 asset_id、asset_url 和 content,其中 content 可以直接用于创建视频请求。

Authorizations

Authorization
string
header
default:Bearer sk-请输入算无忧令牌
required

填写完整的 Bearer 鉴权值,例如 Bearer sk-你的算无忧令牌。

Body

application/json
url
string<uri>
required

单个公网 HTTP/HTTPS 素材地址。

Example:

"https://example.org/reference.png"

urls
string<uri>[]

批量素材地址,最多 20 个。

Maximum array length: 20
model
string

后续使用素材的目标视频模型。

mode
enum<string>
default:asset
Available options:
asset
type
enum<string>
Available options:
image,
video,
audio
purpose
string
Example:

"person_reference"

role
enum<string>
Available options:
reference_image,
reference_video,
reference_audio
subject_type
string
Example:

"person"

Response

素材创建成功。

object
string
source_url
string<uri>
model
string
asset_id
string
asset_url
string
asset_type
string
status
string
content
object