创建异步编辑任务
POST
/v1/images/edits/async
提交异步图像编辑任务
请求参数
请求头
Authorization
使用 Bearer Token 认证。格式:Authorization: Bearer sk-xxxxxx
请求体
异步图像编辑接口与非异步图像编辑接口 的字段完全兼容
请求示例代码
curl -X POST "https://10000router.com/v1/images/edits/async" \
-H "Authorization: Bearer $API_KEY" \
-F "image=@input.png" \
-F "prompt=把背景改成蓝天" \
-F "model=dall-e-2" \
-F "n=1"const form = new FormData();
form.append("image", fileInput.files[0]);
form.append("prompt", "把背景改成蓝天");
form.append("model", "dall-e-2");
form.append("n", "1");
const response = await fetch("https://10000router.com/v1/images/edits/async", {
method: "POST",
headers: { Authorization: "Bearer " + process.env.API_KEY },
body: form
});
const data = await response.json();
console.log(data);file, err := os.Open("input.png")
if err != nil { log.Fatal(err) }
defer file.Close()
body := &bytes.Buffer{}
writer := multipart.NewWriter(body)
part, _ := writer.CreateFormFile("image", "input.png")
io.Copy(part, file)
writer.WriteField("prompt", "把背景改成蓝天")
writer.WriteField("model", "dall-e-2")
writer.Close()
req, _ := http.NewRequest("POST", "https://10000router.com/v1/images/edits/async", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("API_KEY"))
req.Header.Set("Content-Type", writer.FormDataContentType())import os
import requests
with open("input.png", "rb") as image:
response = requests.post(
"https://10000router.com/v1/images/edits/async",
headers={"Authorization": "Bearer " + os.environ["API_KEY"]},
files={"image": image},
data={"prompt": "把背景改成蓝天", "model": "dall-e-2", "n": "1"},
)
response.raise_for_status()
print(response.json())var boundary = "----10000RouterBoundary";
var body = "--" + boundary + "\r\n"
+ "Content-Disposition: form-data; name=\"prompt\"\r\n\r\n把背景改成蓝天\r\n"
+ "--" + boundary + "--\r\n";
var request = java.net.http.HttpRequest.newBuilder(java.net.URI.create("https://10000router.com/v1/images/edits/async"))
.header("Authorization", "Bearer " + System.getenv("API_KEY"))
.header("Content-Type", "multipart/form-data; boundary=" + boundary)
.POST(java.net.http.HttpRequest.BodyPublishers.ofString(body))
.build();
var response = java.net.http.HttpClient.newHttpClient().send(request, java.net.http.HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new("Bearer", Environment.GetEnvironmentVariable("API_KEY"));
using var form = new MultipartFormDataContent();
form.Add(new StreamContent(File.OpenRead("input.png")), "image", "input.png");
form.Add(new StringContent("把背景改成蓝天"), "prompt");
form.Add(new StringContent("dall-e-2"), "model");
var response = await client.PostAsync("https://10000router.com/v1/images/edits/async", form);
Console.WriteLine(await response.Content.ReadAsStringAsync());返回响应
响应示例
{
"code": "success",
"data": "task_xxx"
}{
"error": {
"message": "Invalid image edit parameters",
"type": "invalid_request_error",
"param": "image",
"code": null
}
}{
"error": {
"message": "Rate limit reached",
"type": "rate_limit_exceeded",
"param": null,
"code": null
}
}{
"error": {
"message": "Invalid authentication credentials",
"type": "invalid_request_error",
"param": null,
"code": null
}
}