> ## Documentation Index
> Fetch the complete documentation index at: https://platform.stepfun.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 图片生成最佳实践

阶跃星辰为开发者提供了文生图模型，帮助开发者在自己的应用中提供文生图的能力，帮助开发者在标准的文本生成的产品中，加入文本生图的效果，丰富产品功能和体验。

## 调用 API 生成图片，并处理生成结果

在使用阶跃星辰文生图 API 时，你可以使用 OpenAI SDK 来完成调用，以 Python 为例，你可以使用如下代码来完成文生图 API 的调用。

```python copy theme={null}
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=0,
    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)

```

根据你设置的 response\_format 不同，你可能会获得两种返回结果：

* `url`: 以 `https://res.stepfun.com/image_gen/` 为前缀的图片链接。
* `base64`: 图片的 base64 编码。

如果你获得的是 URL，则可以该地址下载到本地，存储在对象存储或本地文件存储中用于给用户展示（返回的图片地址有时效限制，因此不可直接用于用户侧展示）。

如果你获得的是 Base64 编码，则可以将其解码为图片，然后存储在对象存储或本地文件存储中用于给用户展示。

```python filename="存储 base64 图片到本地示例代码" copy theme={null}
from openai import OpenAI
import base64

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, response_format="b64_json")
    image_data = base64.b64decode(res[0].b64_json)
    # 将图片数据保存为本地文件
    with open("generated_image.png", "wb") as file:
        file.write(image_data)

    print(res)

```

## 使用 Step Image Edit 2 文生图

`step-image-edit-2` 是阶跃星辰新一代轻量级图像生成编辑模型，同时支持文生图与图像编辑；图像编辑部分参见 [图像编辑最佳实践](/zh/guides/developer/image-edit)。文生图调用时相比 `step-1x-medium` 有以下差异：

| 项目             | `step-1x-medium`  | `step-image-edit-2`                                                           |
| -------------- | ----------------- | ----------------------------------------------------------------------------- |
| Prompt 最大长度    | 512 字符            | 512 字符                                                                        |
| `steps` 默认     | 50（范围 1 \~ 50）    | 8（范围 1 \~ 50）                                                                 |
| `cfg_scale` 默认 | 7.5               | 1.0（范围 1.0 \~ 10.0）                                                           |
| `size` 取值      | 正方形 / 16:9 长方形    | `1024x1024`、`768x1360`、`896x1184`、`1360x768`、`1184x896`（格式为 `height x width`） |
| 专属参数           | `style_reference` | `text_mode`（文字场景优化，默认关闭）、`negative_prompt`                                    |

### 效果示例

以下样例摘自 `step-image-edit-2` 官方 showcase，可作为不同场景下 Prompt 写法的参考。

<AccordionGroup>
  <Accordion title="广角风景摄影">
    <img src="https://mintcdn.com/stepfun/1VdJKiRsguWM75uf/images/guide/step-image-edit-2/t2i-01-landscape.png?fit=max&auto=format&n=1VdJKiRsguWM75uf&q=85&s=366bab853f9ca3bcff5dbdfc612b82f3" alt="" width="1024" height="1024" data-path="images/guide/step-image-edit-2/t2i-01-landscape.png" />

    **Prompt**：一张令人惊叹的广角风景摄影作品，澄澈透亮的高山湖泊宛如一面完美的镜面。背景中，巍峨的雪山直插缀着缕缕白云的湛蓝天空，湖畔山坡上，秋日的山杨林绽放出绚烂的金黄色。湖水将群山、林木与天空清晰无误地倒映其中。画面超写实，8K 分辨率，《国家地理》风格，色彩鲜明，氛围静谧祥和。
  </Accordion>

  <Accordion title="电影感人像">
    <img src="https://mintcdn.com/stepfun/1VdJKiRsguWM75uf/images/guide/step-image-edit-2/t2i-02-girl.png?fit=max&auto=format&n=1VdJKiRsguWM75uf&q=85&s=4bb3ba43ce2d6e6cde748065a3cd8a06" alt="" width="1024" height="1024" data-path="images/guide/step-image-edit-2/t2i-02-girl.png" />

    **Prompt**：高角度电影感人像镜头，一位年轻女孩站在夕阳中的复古石板街口，棕色长发被晚风吹动，身穿复古白色碎花泡泡袖连衣裙，人物面部、发丝和服装纹理清晰可见。构图以人物为核心，背景适度虚化，身后的老建筑、木窗与暖色墙面只作为氛围衬托。黄金时刻的阳光温柔包裹她的侧脸与肩部，发梢与裙摆边缘泛着淡淡金色光晕，营造出怀旧、纯真、安静的夏日晚风气息。35mm film, Kodak Portra 400 tones, soft bloom, shallow depth of field, cinematic portrait, nostalgic mood, photorealistic.
  </Accordion>

  <Accordion title="极简静物摄影">
    <img src="https://mintcdn.com/stepfun/1VdJKiRsguWM75uf/images/guide/step-image-edit-2/t2i-03-vase.png?fit=max&auto=format&n=1VdJKiRsguWM75uf&q=85&s=3a531d9ed10dadd4a4b9cf34a48fa2ee" alt="" width="1024" height="1024" data-path="images/guide/step-image-edit-2/t2i-03-vase.png" />

    **Prompt**：一张极简风格的静物摄影作品。画面中央是一个深蓝色的光泽玻璃花瓶，插着一束盛开的金黄色郁金香。花瓶放置在带有纹理的浅白色桌面上，背景是纯白的墙壁。强烈的午后阳光从侧面射入，在墙面上投射出清晰、修长且富有艺术感的花叶阴影。光影对比鲜明，色彩纯净，营造出宁静、治愈且温暖的氛围。高画质，8k 分辨率。
  </Accordion>

  <Accordion title="古典油画静物">
    <img src="https://mintcdn.com/stepfun/1VdJKiRsguWM75uf/images/guide/step-image-edit-2/t2i-04-still-life.png?fit=max&auto=format&n=1VdJKiRsguWM75uf&q=85&s=e73fe512a799c036d908f8e5dc7983be" alt="" width="1024" height="1024" data-path="images/guide/step-image-edit-2/t2i-04-still-life.png" />

    **Prompt**：一幅古典油画风格的静物画，荷兰黄金时代风格。画面中心是一个透明玻璃花瓶，插满了色彩斑斓的郁金香、百合和紫色花朵（橙色、粉色、紫色）。旁边摆放着白色的陶瓷茶壶和精致的茶杯。前景的深色木桌上铺着一条飘逸的绿白条纹丝绸桌布。桌面上散落着切开的柠檬、柠檬皮、几杯红茶以及零落的花瓣。背景是深暗的纹理墙面，一只蝴蝶在花丛旁飞舞。光影柔和细腻，细节丰富，具有厚重的油画笔触感。
  </Accordion>
</AccordionGroup>

### 调用示例

```python copy theme={null}
from openai import OpenAI

client = OpenAI(api_key="STEP_API_KEY", base_url="https://api.stepfun.com/v1")

image = client.images.generate(
    model="step-image-edit-2",
    prompt="采菊东篱下，悠然见南山",
    response_format="b64_json",
    extra_body={
        "cfg_scale": 1.0,
        "steps": 8,
        "seed": 1,
        "text_mode": True,
    },
)
print(image)
```

```bash copy theme={null}
curl https://api.stepfun.com/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $STEP_API_KEY" \
  -d '{
    "model": "step-image-edit-2",
    "prompt": "采菊东篱下，悠然见南山",
    "response_format": "b64_json",
    "cfg_scale": 1.0,
    "steps": 8,
    "seed": 1,
    "text_mode": true
  }'
```

<Callout type="info">`text_mode` 是针对文字场景的优化策略，按需开启，默认关闭。当 `cfg_scale = 1.0` 时，`negative_prompt` 不会被传递给底层模型。</Callout>

## 垫图生成

### 使用场景

垫图使用场景一般为 图像随机重新生成（image variation），细节增强，同时可能支持一些小范围修改的情况，而不适合做大规模的图像修改（属于 Image Edit 的范畴），人脸保持（属于 Cref 的范畴），等等。

### 超参参考数值

主要超参为 source\_weight。当 source\_weight 为 1 时，为图像完全重新生成，垫图将不起任何作用。

<br />

<Card title="点击查看垫图生成 API 文档" href="/zh/api-reference/images/image2image" />

| 预期功能                      | Prompt 要求                                            | source\_weight 建议 | 备注                                          |
| ------------------------- | ---------------------------------------------------- | ----------------- | ------------------------------------------- |
| 图像随机重新生成（image variation） | 尽量还原原图的描述                                            | 0.8 ～ 1.0         |                                             |
| 细节增强                      | 还原原图的描述的同时，增加一些质量词，例如 amazing quality，finely details | 0 ～ 0.5           |                                             |
| 小范围修改                     | 根据需要的内容写 prompt                                      | 0.3 ～ 0.8         | 容易出现 badcase，因为图像修改主要是通过 image edit 相关的方法实现 |

### 示例

| 垫图输入                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | prompt                | source\_weight | 效果图                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <img src="https://mintcdn.com/stepfun/ivZhb9pOE5X12y-g/images/guide/i2iinput.png?fit=max&auto=format&n=ivZhb9pOE5X12y-g&q=85&s=b6e232dd67ce3939f36b30392e375296" alt="" width="1020" height="675" data-path="images/guide/i2iinput.png" /> | 金毛边上有一个圣诞树，圣诞氛围，温暖的灯光 | 0.5            | <img src="https://mintcdn.com/stepfun/ivZhb9pOE5X12y-g/images/guide/i2ioutput.png?fit=max&auto=format&n=ivZhb9pOE5X12y-g&q=85&s=58165f1f650bee84f3b697da638d7e17" alt="" width="1064" height="717" data-path="images/guide/i2ioutput.png" /> |
| <img src="https://mintcdn.com/stepfun/ivZhb9pOE5X12y-g/images/guide/i2icat.png?fit=max&auto=format&n=ivZhb9pOE5X12y-g&q=85&s=3cf540b6cce4e56644442b6261cab2b9" alt="" width="685" height="685" data-path="images/guide/i2icat.png" />                   | 一幅猫的画，超高质量，细节丰富       | 0.3            | <img src="https://mintcdn.com/stepfun/ivZhb9pOE5X12y-g/images/guide/i2icatout.png?fit=max&auto=format&n=ivZhb9pOE5X12y-g&q=85&s=bb4510739ad04e7fd9198d5f9c2f3ed2" alt="" width="719" height="721" data-path="images/guide/i2icatout.png" />   |

<div id="风格参考生成-sref" />

## 风格参考生成 （Sref）

### 使用场景

通过文本控制内容，图像提供风格进行生成。

### 超参参考数值

主要超参为 style\_reference.weight，默认设置为1，建议数值在 1 上下浮动不超过 0.5。（因为图像信息会输入给网络，过大的数值会导致参考图像的内容泄漏到生成图片中）

<br />

<Card title="点击查看文生图 API 文档" href="/zh/api-reference/images/image" />

### 例子

以下测试 style\_reference.weight 均为 1

| prompt                                                | 文生图直出                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | 风格参数图                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | 效果图                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| an owl with its wings spread out swooping over a tree | <img src="https://mintcdn.com/stepfun/ivZhb9pOE5X12y-g/images/guide/sref-text.png?fit=max&auto=format&n=ivZhb9pOE5X12y-g&q=85&s=994281eb8c41c39b4a5e694124bc9c95" alt="" width="1030" height="1030" data-path="images/guide/sref-text.png" /> | <img src="https://mintcdn.com/stepfun/ivZhb9pOE5X12y-g/images/guide/sref-style.png?fit=max&auto=format&n=ivZhb9pOE5X12y-g&q=85&s=de85e242ec3798c93f2e57d651ed6167" alt="" width="928" height="1232" data-path="images/guide/sref-style.png" />         | <img src="https://mintcdn.com/stepfun/ivZhb9pOE5X12y-g/images/guide/sref-out.png?fit=max&auto=format&n=ivZhb9pOE5X12y-g&q=85&s=df62e6bf27b2d56ad28cb456aa32b288" alt="" width="1030" height="1030" data-path="images/guide/sref-out.png" />         |
| a boat in the canals of venice                        | <img src="https://mintcdn.com/stepfun/ivZhb9pOE5X12y-g/images/guide/sref-bsic.png?fit=max&auto=format&n=ivZhb9pOE5X12y-g&q=85&s=eccd5f5d6f97cf2955e9ebe9e80d4975" alt="" width="1030" height="1030" data-path="images/guide/sref-bsic.png" /> | <img src="https://mintcdn.com/stepfun/ivZhb9pOE5X12y-g/images/guide/sref-style2.png?fit=max&auto=format&n=ivZhb9pOE5X12y-g&q=85&s=4f2b69692a244444b0bbcc38b218457f" alt="" width="928" height="1232" data-path="images/guide/sref-style2.png" /> | <img src="https://mintcdn.com/stepfun/ivZhb9pOE5X12y-g/images/guide/sref-out2.png?fit=max&auto=format&n=ivZhb9pOE5X12y-g&q=85&s=03353c377257daaa7d73bcd545aef6d8" alt="" width="1030" height="1030" data-path="images/guide/sref-out2.png" /> |

## 其他常见用法

### 调整生成图片的分辨率

阶跃星辰文生图模型支持生成不同分辨率的图片，从而帮助开发者结合合适的使用场景，优化生成的图片的速度

你可以通过修改 `size` 参数，来设置使用不同的分辨率。目前支持的分辨率有：

正方形（1：1）

* 256x256
* 512x512
* 768x768
* 1024x1024

长方形（16:9）

* 1280x800
* 800x1280

你可以根据自己的业务场景，选择使用合适的分辨率，以达到最佳的效果。分辨率越大，生成速度越慢；反之则生成速度越快。

### 优化图片的生成速度

阶跃星辰文生图模型支持多个不同的参数，其中 steps、size 会影响生成的速度和质量。

* `steps` 越大，则生成的效果越好，同时消耗的算力和生成的速度也会越慢；
* `size` 越大，则消耗的算力也越大，同时生成的速度会越慢；

在实际业务场景中，你可以根据自己的业务情况、用户的预期速度，来优化具体的参数值。

### 持续生成相同风格的图片

在生成图片时，默认的 `seed` 为 0 ，表示阶跃星辰模型将会随机生成一个 `seed` 用于图片生成。

在实际业务场景中，如果你有诉求让多个 Prompt 保持同一风格：比如用户生成过程中，通过不断增删 prompt 来调整生成效果，则可以在第一次使用自动生成的 `seed` 或自行生成一个 `seed` 值，并在后续的持续生成过程中保持 `seed` 为第一次生成返回的 `seed` 值，从而确保生成的图片风格和效果稳定。

### 错误处理

可参考 [处理异常，让你的应用更加健壮](/zh/guides/developer/exception)。
