上传文件

将本地文件上传到 Atlas Cloud,用于图生视频、图像编辑等工作流

概述

许多 AI 生成工作流需要输入文件——例如将静态图像动画化为视频、应用风格迁移或编辑现有图像。上传媒体端点让你可以将本地文件上传到 Atlas Cloud,并获取临时 URL 传递给生成端点使用。

API 端点

POST https://api.atlascloud.ai/api/v1/model/uploadMedia

身份验证

Authorization 头中包含你的 API Key:

Authorization: Bearer your-api-key

请求

multipart/form-data 格式发送请求,将文件放在 file 字段中。

响应

返回一个包含上传文件临时 URL 的 JSON 对象。

代码示例

Python

import requests

response = requests.post(
    "https://api.atlascloud.ai/api/v1/model/uploadMedia",
    headers={"Authorization": "Bearer your-api-key"},
    files={"file": open("photo.jpg", "rb")}
)

data = response.json()
file_url = data.get("url")
print(f"Uploaded file URL: {file_url}")

Node.js

import fs from "fs";

const formData = new FormData();
formData.append("file", new Blob([fs.readFileSync("photo.jpg")]));

const response = await fetch(
  "https://api.atlascloud.ai/api/v1/model/uploadMedia",
  {
    method: "POST",
    headers: { Authorization: "Bearer your-api-key" },
    body: formData,
  }
);

const { url } = await response.json();
console.log(`Uploaded file URL: ${url}`);

cURL

curl -X POST https://api.atlascloud.ai/api/v1/model/uploadMedia \
  -H "Authorization: Bearer your-api-key" \
  -F "[email protected]"

常见工作流

图生视频

上传源图片,然后将其 URL 传递给视频生成模型:

import requests

# 第 1 步:上传图片
upload_resp = requests.post(
    "https://api.atlascloud.ai/api/v1/model/uploadMedia",
    headers={"Authorization": "Bearer your-api-key"},
    files={"file": open("my_image.jpg", "rb")}
)
image_url = upload_resp.json().get("url")

# 第 2 步:从上传的图片生成视频
video_resp = requests.post(
    "https://api.atlascloud.ai/api/v1/model/generateVideo",
    headers={
        "Authorization": "Bearer your-api-key",
        "Content-Type": "application/json"
    },
    json={
        "model": "kling-v2.0",
        "prompt": "The person slowly turns and smiles",
        "image_url": image_url
    }
)

prediction_id = video_resp.json()["data"]["id"]
print(f"Video generation started: {prediction_id}")

图生图(风格迁移、增强)

import requests

# 第 1 步:上传源图片
upload_resp = requests.post(
    "https://api.atlascloud.ai/api/v1/model/uploadMedia",
    headers={"Authorization": "Bearer your-api-key"},
    files={"file": open("source.jpg", "rb")}
)
image_url = upload_resp.json().get("url")

# 第 2 步:应用变换
result = requests.post(
    "https://api.atlascloud.ai/api/v1/model/generateImage",
    headers={
        "Authorization": "Bearer your-api-key",
        "Content-Type": "application/json"
    },
    json={
        "model": "your-image-to-image-model",
        "image_url": image_url,
        "prompt": "Transform into oil painting style"
    }
)

重要说明

  • 临时 URL:上传的文件仅供 Atlas Cloud 生成任务临时使用。文件可能会被定期清理。
  • 支持的格式:支持常见的图像格式(JPEG、PNG、WebP)和视频格式。具体格式要求请查看对应模型的文档。
  • 文件大小:根据模型不同,上传文件大小可能有限制。请参阅模型详情页了解具体限制。
  • 及时使用:请在同一会话中使用上传的文件 URL,不要依赖它们进行长期存储。

下一步