Roboflow合成图像API允许用户利用OpenAI的生成图像模型来创建合成图像。在使用此API之前,需要在工作区设置中配置第三方OpenAI API密钥。当发送包含图像参数的请求时,首先会将图像发送到GPT-4视觉模型以生成图像描述。生成图像提示是图像描述、提示参数和额外提示关键字的组合,以使图像具有照片级真实感。
可以通过Roboflow的搜索API或在Roboflow中打开图像并从URL中复制ID来找到Roboflow图像ID,URL格式如下:https://app.roboflow.com/.../images/IMAGE_ID?...
。在发送请求时,需要指定请求正文中的图像类型,可以是图像ID、图像URL或图像的base64编码。
以下是一些请求参数的详细说明:
api_key: 必须的字符串,Roboflow API密钥。更多详细信息请查看认证部分。
image_type: 字符串,指定图像参数的类型。如果image参数存在,则必须指定,必须是id、url或base64之一。
image: 字符串,Roboflow图像ID、图像URL或图像base64编码。
project_url: 字符串,模型的URL。
model: 字符串,默认为dall-e-3。
style: 字符串,默认为natural。
size: 字符串,默认为1024x1024。
prompt: 字符串,期望图像的文本描述。
quality: 字符串,默认为hd。
n: 数字,默认为1。
force_caption_regenerate: 布尔值,禁用图像描述的缓存,仅适用于Roboflow图像。
unmodified_prompt: 布尔值,禁用提示后缀,该后缀试图使图像具有照片级真实感。
curl -X POST "https://api.roboflow.com/synthetic-image?api_key=$ROBOFLOW_API_KEY" \
-H 'Content-Type: application/json' \
--data '{
"image": "62MYRuqqWCRZ02q52vsY",
"image_type": "id",
"project_url": "fall-leaves",
"prompt": "所有树木都有红叶。"
}'
curl -X POST "https://api.roboflow.com/synthetic-image?api_key=$ROBOFLOW_API_KEY" \
-H 'Content-Type: application/json' \
--data '{
"project_url": "fall-leaves",
"prompt": "秋季住宅区的图像,以枫树为主,展示出强烈的橙色树叶,是树叶唯一的颜色。"
}'
const fs = require("fs");
const axios = require("axios");
// 读取图像文件并转换为base64
const imageBase64 = fs.readFileSync("trees.png", { encoding: "base64" });
// 定义POST请求的数据
const data = {
image: imageBase64,
image_type: "base64",
project_url: "fall-leaves",
prompt: "所有树木都有红叶。"
};
// 发送POST请求
axios.post("https://api.roboflow.com/synthetic-image?api_key=ROBOFLOW_API_KEY", data, {
headers: {
"Content-Type": "application/json"
}
})
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.error(error);
});