Déployez le modèle d'édition d'images Step1X-Edit depuis la galerie de modèles PAI vers un service d'inférence EAS.
Présentation du modèle
Step1X-Edit est un modèle open source d'édition d'images développé par Stepfun. Il associe un grand modèle linguistique multimodal (MLLM) à un décodeur d'images par diffusion (DiT). Fort de 19 milliards de paramètres, Step1X-Edit offre les capacités suivantes :
Analyse sémantique précise : interprète fidèlement les instructions d'édition pour produire des résultats conformes à l'intention de l'utilisateur.
Cohérence de l'identité : préserve l'identité du sujet lors de l'édition et maintient intactes ses caractéristiques principales.
Contrôle au niveau des régions : prend en charge une édition précise, région par région, pour des modifications fines.
Large couverture des tâches : prend en charge 11 tâches courantes d'édition d'images, notamment le remplacement de texte et le transfert de style.
Performances de référence solides : obtient les meilleurs scores en matière de cohérence sémantique, de qualité d'image et de performances globales sur le benchmark GEdit-Bench.
Pour en savoir plus sur Step1X-Edit, consultez stepfun-ai/Step1X-Edit.
Prérequis matériels
Le déploiement de Step1X-Edit nécessite un GPU disposant d'au moins 48 Go de mémoire vidéo.
Procédure
-
Accédez à la page Model Gallery.
Connectez-vous à la PAI console.
Dans le coin supérieur gauche de la barre de navigation supérieure, sélectionnez une région.
Dans le volet de navigation de gauche, cliquez sur Workspaces puis sur le nom de l'espace de travail que vous souhaitez ouvrir.
Dans le volet de navigation de gauche, choisissez Quick Start > Model Gallery.
Sur la page Model Gallery, recherchez Stepfun Step1X-Edit dans la liste des modèles et cliquez sur la carte du modèle.
-
Dans le coin supérieur droit, cliquez sur Deploy. Configurez le nom du service et les paramètres des ressources pour déployer le modèle sur Elastic Algorithm Service (EAS).
Dans le panneau de configuration du déploiement, définissez Deployment Method sur single-node standard deployment, Resource Type sur public resource et Instance Count sur 1. Cliquez ensuite sur Deploy.
Appeler le modèle
Une fois le déploiement terminé, appelez Step1X-Edit via l'application web ou l'API.
Application web
Sur la page des détails du service, cliquez sur View Web App dans le coin supérieur droit pour ouvrir l'application web.
Téléchargez une image, saisissez une invite, puis cliquez sur Generate.
L'interface utilisateur web vous permet également de configurer des paramètres de génération d'images tels que Negative Prompt, Seed, Inference Steps, cfg_scale et Size_level.
Appel API
Sur la page des détails du service, cliquez sur View Call Information pour obtenir l'endpoint et le jeton.
L'extrait de code Python suivant envoie une requête d'édition d'image à l'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": "<The Base64 encoding of your image>"
}
)
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!")
Remplacez EAS_URL et EAS_TOKEN par votre endpoint et votre jeton réels.