创建异步编辑任务

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
  }
}

results matching ""

    No results matching ""