RelayDanceRelayDance
首页模型价格文档
Get API Key

Docs / 核心概念 / 上传文件

上传文件

视频任务中的参考媒体通过 URL 传入。如果你的源文件在本地,请先上传: POST /v1/files 会返回一个托管 URL,你可以直接放入 metadata.content[]。已经位于公开 URL 上的文件可直接使用,无需上传。

#端点

POST/v1/files

multipart/form-data 形式发送文件,字段名为 file

#cURL

terminalbash
curl https://relaydance.com/v1/files \
  -H "Authorization: Bearer $RELAYDANCE_API_KEY" \
  -F "file=@image.png"

#Python

upload.pypython
import requests, os

response = requests.post(
    "https://relaydance.com/v1/files",
    headers={"Authorization": f"Bearer {os.environ['RELAYDANCE_API_KEY']}"},
    files={"file": open("photo.jpg", "rb")},
)
result = response.json()
print(result["id"], result["url"])

#Node.js

upload.tstypescript
import { readFileSync } from "fs";

const file = new Blob([readFileSync("photo.jpg")], { type: "image/jpeg" });
const form = new FormData();
form.append("file", file, "photo.jpg");

const res = await fetch("https://relaydance.com/v1/files", {
  method: "POST",
  headers: { Authorization: `Bearer ${process.env.RELAYDANCE_API_KEY}` },
  body: form,
});
const { id, url } = await res.json();
console.log(id, url);

#响应

response.jsonjson
{
  "id": "file_abc123",
  "url": "https://..."
}

#在视频任务中使用该 URL

把返回的 url 放入一条 metadata.content[] 条目,并在提示词中用 @image1 引用它:

img2video.pypython
import requests, os

HEADERS = {"Authorization": f"Bearer {os.environ['RELAYDANCE_API_KEY']}"}

# 1) 上传源图像
upload = requests.post(
    "https://relaydance.com/v1/files",
    headers=HEADERS,
    files={"file": open("product.jpg", "rb")},
)
image_url = upload.json()["url"]

# 2) 提交视频任务,把该图像作为参考
resp = requests.post(
    "https://relaydance.com/v1/video/generations",
    headers={**HEADERS, "Content-Type": "application/json"},
    json={
        "model": "seedance-1-5-pro-with-audio",
        "prompt": "@image1 rotates slowly on a marble pedestal, studio lighting",
        "seconds": "5",
        "metadata": {
            "ratio": "16:9",
            "resolution": "720p",
            "content": [
                {
                    "type": "image_url",
                    "image_url": {"url": image_url},
                    "role": "reference_image",
                }
            ],
        },
    },
)
print(resp.json()["task_id"])
content[] 的结构与上限(最多 9 张参考图、3 个视频、3 条音轨)请参见视频生成,端到端示例请参见图生视频