StepFun 文生图 API 教程:前端调用生成 AI 图片的完整指南
关键词:StepFun 文生图、AI生成图片 API、前端调用 AI 图片、Node 调用 StepFun、AI 绘画接口教程
一、我为什么开始研究这个接口
最近在做一个心理测试 + AI内容生成平台时,需要一个稳定、价格合理、支持中文 Prompt 的文生图接口。
测试了几家后,发现StepFun 的图片生成 API对开发者非常友好:
- 兼容 OpenAI SDK 调用方式
- 支持 Node / Python / Curl
- 支持风格参考、负面提示词、种子复现
- 文档清晰,上手成本低
这篇文章把完整接入流程整理出来,直接可用。
二、接口总览
请求地址
POST https://api.stepfun.com/v1/images/generations这是一个标准 REST API,用于根据文本生成图片。
三、支持的模型(重点)
| 模型 | 推荐度 | 特点 |
|---|---|---|
| step-image-edit-2 | ⭐⭐⭐⭐ 推荐 | 质量高,支持负面提示词 |
| step-2x-large | ⭐⭐⭐ | 高质量,高步数 |
| step-1x-medium | ⭐⭐ | 支持风格参考 |
日常项目直接用:
step-image-edit-2 或 step-1x-medium四、核心请求参数详解
1)必填参数
model
使用的模型名称:
"model":"step-1x-medium"prompt(图像描述)
最大 512 字符。
示例:
"prompt":"赛博朋克城市夜景,霓虹灯,未来科技风"Prompt 写得越具体,效果越好。
2)常用可选参数(非常重要)
size(图片尺寸)
默认:
"1024x1024"支持的尺寸:
step-image-edit-2
- 正方形:1024x1024
- 横图:1360x768、1184x896
- 竖图:768x1360、896x1184
step-1x-medium / step-2x-large
- 正方形:256 ~ 1024
- 长图:1280x800、800x1280
seed(随机种子)
用于复现图片。
"seed":123456相同 seed + 相同 prompt ≈ 类似图片。
做产品时非常有用。
steps(生成步数)
影响细节质量:
| 模型 | 默认 | 范围 |
|---|---|---|
| step-image-edit-2 | 8 | 1-50 |
| step-2x-large | 50 | 1-50 |
| step-1x-medium | 50 | 1-50 |
步数越高 → 细节越多 → 生成越慢。
cfg_scale(提示词强度)
控制模型“听话程度”。
| 数值 | 效果 |
|---|---|
| 1~3 | 自由发挥 |
| 6~8 | 推荐 |
| 10 | 完全按提示生成 |
response_format
返回方式:
"url"// 图片链接(默认)"b64_json"// base64生产环境建议用url。
五、Node.js 调用示例(重点)
StepFun兼容 OpenAI SDK,直接可用。
先安装:
npminstallopenai完整示例
importOpenAIfrom"openai";constclient=newOpenAI({apiKey:process.env.STEP_API_KEY,baseURL:"https://api.stepfun.com/v1"});asyncfunctiongenerateImage(){constresult=awaitclient.images.generate({model:"step-1x-medium",prompt:"赛博朋克风格的猫,穿着宇航服,4K高清",size:"1024x1024",response_format:"url",extra_body:{steps:50,seed:0,cfg_scale:7.5}});console.log(result.data[0].url);}generateImage();输出:
https://res.stepfun.com/images/xxxx.jpg图片链接有效期30天,记得保存到自己的存储。
六、Python 调用示例
fromopenaiimportOpenAI client=OpenAI(api_key="STEP_API_KEY",base_url="https://api.stepfun.com/v1")image=client.images.generate(model="step-1x-medium",prompt="中国水墨山水,云雾缭绕",size="1024x1024",extra_body={"steps":50,"seed":11879934,"cfg_scale":7.5})print(image.data)七、Curl 调用(后端部署常用)
curlhttps://api.stepfun.com/v1/images/generations\-H"Content-Type: application/json"\-H"Authorization: Bearer$STEP_API_KEY"\-d'{ "model": "step-2x-large", "prompt": "未来城市,飞行汽车", "size": "1024x1024", "cfg_scale": 6, "steps": 50 }'八、返回结果结构
{"created":1723595647,"data":[{"url":"https://res.stepfun.com/images/xxxx.jpg","finish_reason":"success","seed":1764275706}]}字段说明:
| 字段 | 说明 |
|---|---|
| created | 生成时间 |
| url | 图片下载地址 |
| seed | 本次生成种子 |
| finish_reason | success 表示成功 |
九、开发建议(踩坑总结)
1)一定保存图片
图片 URL 只保留 30 天。
建议流程:
生成 → 下载 → 上传 OSS/云存储 → 返回永久链接2)Prompt 模板化
推荐在产品里做 Prompt 模板,例如:
{风格} + {主体} + {细节} + {画质}示例:
动漫风格 + 女孩 + 樱花 + 超清细节 + 8K效果提升非常明显。
3)使用 seed 做“重新生成”
用户体验会大幅提升:
- 重新生成相似图
- 历史记录复现
- A/B 测试图片
十、总结
StepFun 文生图接口的优势:
- 调用方式简单(兼容 OpenAI)
- 中文 Prompt 友好
- 支持高级参数(seed / cfg / steps)
- 适合前端 + Node 项目接入
适用于:
- AI绘画网站
- AI头像生成
- 电商图生成
- 内容平台封面图
如果你正在做AI产品或内容平台,这个接口基本可以直接投入生产使用。