Step1X-Edit是阶跃星辰推出的先进开源图像编辑模型,致力于提升编辑精度和图像保真度。通过整合多模态语言技术与扩散图像解码器,该模型在多种编辑任务中展现出卓越性能,能够满足专业图像编辑的需求。PAI已全面支持该模型,您可以在PAI-Model Gallery中轻松进行一键部署和调用。
模型简介
阶跃星辰正式发布并开源了图像编辑大模型Step1X-Edit。该模型结合了多模态大型语言模型(MLLM)与扩散图像解码器(DiT),在图像编辑领域实现了显著的性能提升。Step1X-Edit的总参数量达到19B,具备高精度的编辑能力和图像保真度,在技术上展现出多方面的优势:
语义精准解析:模型能够精确理解用户的编辑指令,并进行语义层面的解析,从而确保编辑结果符合用户的意图。
身份一致性保持:在进行编辑时,模型能够保持图像中的身份一致性,确保主体特征不受影响。
高精度区域级控制:支持对图像特定区域进行精确控制和编辑,实现细粒度的图像修改。
丰富的任务支持:支持多达11类高频图像编辑任务类型,包括文字替换、风格迁移等,满足用户在多样化图像编辑中的广泛需求。
卓越的性能表现:在最新的图像编辑基准GEdit-Bench中,Step1X-Edit在语义一致性、图像质量和综合得分三项指标上均表现优异,展现了其在图像编辑领域的领先地位。
更多关于Step1X-Edit信息,请参见stepfun-ai/Step1X-Edit。
运行环境要求
部署阶跃星辰 Step1X-Edit模型,建议使用显存容量为48GB或以上的卡型。
模型部署
进入Model Gallery页面。
登录PAI控制台。
在顶部左上角根据实际情况选择地域。
在左侧导航栏选择工作空间列表,单击指定工作空间名称,进入对应工作空间。
在左侧导航栏选择快速开始 > Model Gallery。
在Model Gallery页面右侧的模型列表中,搜索阶跃星辰 Step1X-Edit,并单击该模型卡片,进入模型详情页面。
单击右上角部署,配置推理服务名称以及部署使用的资源信息,即可将模型部署到EAS推理服务平台。
模型调用
已部署的阶跃星辰 Step1X-Edit模型支持Web应用和API调用两种方式:
Web应用
在模型服务详情页单击右上角查看WEB应用,进入WebUI页面。
上传图片和输入Prompt之后,单击Generate,即可生图。
API调用
在模型服务详情页单击查看调用信息,即可获取服务地址和Token信息。
通过以下Python示例代码即可实现API调用:
import requests
import time
EAS_URL = "<YOUR_EAS_URL>"
EAS_TOKEN = "<YOUR_EAS_TOKEN>"
class TaskStatus:
PENDING = "pending"
PROCESSING = "processing"
COMPLETED = "completed"
FAILED = "failed"
response = requests.post(
f"{EAS_URL}/generate",
headers={
"Authorization": f"{EAS_TOKEN}"
},
json={
"prompt": "A spaceship orbiting Earth",
"seed": 42,
"neg_prompt": "low quality, blurry",
"infer_steps": 28,
"cfg_scale": 6,
"size":1024,
"image": "<您图片的Base64编码>"
}
)
task_id = response.json()["task_id"]
print(f"Task ID: {task_id}")
while True:
status_response = requests.get(
f"{EAS_URL}/tasks/{task_id}/status",
headers={
"Authorization": f"{EAS_TOKEN}"
})
status = status_response.json()
print(f"Current status: {status['status']}")
if status["status"] == TaskStatus.COMPLETED:
print("Image ready!")
break
elif status["status"] == TaskStatus.FAILED:
print(f"Failed: {status['error']}")
exit(1)
time.sleep(5)
image_response = requests.get(
f"{EAS_URL}/tasks/{task_id}/image",
headers={
"Authorization": f"{EAS_TOKEN}"
})
with open("generated_image.jpg", "wb") as f:
f.write(image_response.content)
print("Image downloaded successfully!")
注:代码中EAS_URL
和EAS_TOKEN
的值需替换为已获取的服务地址和Token。