文档
API 文档
Image

生成图片

生成图片,请求此 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_jsonurl。默认为 url

  • seed int optional
    随机种子,当不传或传入为 0 时,使用系统随机生成的种子。

  • steps int optional
    生成步数,当前支持 1 ~ 100 之间整数。默认为 50。

  • cfg_scale float optional
    classifier-free guidance scale,当前支持 1 ~10 之间的数字。默认为 7.5。

请求响应

  • 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)