生成图片
生成图片,请求此 API 可基于用户输入的 Prompt 生成图片
请求地址
POST https://api.stepfun.com/v1/images/generations
请求参数
-
model
string
required
需要使用的模型名称,当前仅支持step-1x-medium
-
prompt
string
required
图像的文本描述,最大长度为 1024 个字符 -
size
string
optional
生成的图片的大小,默认为1024x1024
。支持参数如下:
正方形:256x256, 512x512,768x768,1024x1024
长方形(16:9):1280x800, 800x1280 -
n
int
optional
生成的图片数量,当前仅支持每次生成一张图片。 -
response_format
string
optional
生成的图片返回的格式。支持参数为b64_json
或url
。默认为url
。 -
seed
int
optional
随机种子,当不传或传入为 0 时,使用系统随机生成的种子。 -
steps
int
optional
生成步数,当前支持 1 ~ 100 之间整数。默认为 50。 -
cfg_scale
float
optional
classifier-free guidance scale,当前支持 1 ~10 之间的数字。默认为 7.5。 -
style_reference
object
optional
风格参考参数展开/收起
source_url
string
required
风格参考图片的 URL 地址,需要是互联网可访问的;除了 URL 外,还可以是 base64。
1. 支持传入10Mb以内任意大小的图像进行生成;
2. 支持图片格式为:png、jpeg;
3. base64 格式举例:data:image/jpeg;base64,base64_stringweight
float
optional
源图片在生成时的权重。数值越大,和参数图片越相似。
范围:(0,2],默认1
请求响应
created
int
创建图片时的时间戳,精确到秒级别data
object array
计算token返回数据seed
int
生成时传入的 Seed 或系统随机生成的 Seed。相同的 Seed 有助于生成类似的图片。finish_reason
string
生成停止的原因,如果为 success ,则为成功生成;为 content_filtered 表示生成成功,但命中检测所以停止。image
string
生成的图片的 Base64 编码。当 response_format 设置为 b64_json 时,返回此字段。url
string
生成的图片的下载链接。当 response_format 设置为 url 时,返回此字段。
{
"created":1589478378,
"data":[
{
"image":"AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1",
"finish_reason":"success",
"seed":123838
},
{
"image":"AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1",
"finish_reason":"success",
"seed":123838
},
{
"image":"AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1",
"finish_reason":"success",
"seed":123838
},
]
}
示例
from openai import OpenAI
STEPFUN_KEY="STEP_API_KEY"
STEPFUN_MODEL="step-1x-medium"
def generate_image(prompt,
model=STEPFUN_MODEL, n=1, response_format='url', size='1024x1024',
steps=50, seed=11879934, cfg_scale=7.5):
client = OpenAI(api_key=STEPFUN_KEY,
base_url="https://api.stepfun.com/v1")
image = client.images.generate(
model=model,
prompt=prompt,
response_format=response_format,
extra_body={
"cfg_scale": cfg_scale,
"seed": seed,
"steps": steps
},
size=size,
n=n,
)
return image.data
if __name__ == '__main__':
prompt = '采菊东篱下,悠然见南山。'
res = generate_image(prompt)
print(res)