import requests
API_KEY = "sk-..."
BASE = "https://core.cyberun.cloud/api/v1/r"
HEADERS = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}
# 1. 预签名
presign = requests.post(
f"{BASE}/files/presign",
headers=HEADERS,
json={
"file_name": "photo.png",
"file_size": 1048576,
"content_type": "image/png",
},
).json()
# 2. PUT 到 S3 —— 把 presign 返回的每个 header 都带上
with open("photo.png", "rb") as f:
requests.put(presign["upload_url"], data=f, headers=presign["upload_headers"])
# 3. 提交一个接收文件参数的工作流
resp = requests.post(
f"{BASE}/workflows/slug/img2img/run",
headers=HEADERS,
json={"parameters": {"input_image": presign["file_key"], "prompt": "enhance"}},
)
print(resp.json()["task_id"])