Modifiez des images à l'aide d'instructions textuelles via le modèle Wan : outpainting, suppression de filigrane, transfert de style, édition par instructions, inpainting et restauration.
ImportantCe document s'applique uniquement à la région China (Beijing). Vous devez utiliser une clé API de la région China (Beijing) pour exploiter ce modèle.
Présentation du modèle
Démonstration des performances
Image originale |
Changer ses cheveux en rouge |
Ajouter une paire de lunettes de soleil à la fille |
Convertir en style livre d'images français |
TarificationConsultez Fonctionnalités clés .
Région de Pékin
ImportantLa région de Pékin ne propose pas de quota gratuit. Tous les appels sont facturables. Confirmez avant de continuer.
Modèle | Prix unitaire | Limite de taux (partagée entre le compte Alibaba Cloud et les utilisateurs RAM) | |
|---|---|---|---|
Limite RPS pour la soumission de tâches | Nombre de tâches simultanées | ||
wanx2.1-imageedit | 0,020070 $/image | 2 | 2 |
Premiers pas
Prérequis
Obtenez une clé API et définissez-la comme variable d'environnement. Si vous utilisez le SDK DashScope pour effectuer des appels, installez également le SDK.
Exemple de code
Appelez l'API de modification d'images pour réaliser un inpainting local.
Le SDK encapsule le traitement asynchrone ; l'interface se comporte donc de manière synchrone : une requête unique attend le résultat. L'exemple curl illustre deux opérations asynchrones distinctes : la soumission de la tâche et l'interrogation du résultat.
Python
Trois méthodes d'entrée sont prises en charge : URL publique, encodage Base64 ou chemin de fichier local.
Exemple de requête
import base64
import os
from http import HTTPStatus
from dashscope import ImageSynthesis
import dashscope
import mimetypes
"""
Environment requirements:
dashscope python SDK >= 1.23.8
Install/Upgrade SDK:
pip install -U dashscope
"""
dashscope.base_http_api_url = "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1"
# If the environment variable is not configured, replace the following line with: api_key="sk-xxx"
api_key = os.getenv("DASHSCOPE_API_KEY")
# --- Helper function: for Base64 encoding ---
# Format is data:{MIME_type};base64,{base64_data}
def encode_file(file_path):
mime_type, _ = mimetypes.guess_type(file_path)
if not mime_type or not mime_type.startswith("image/"):
raise ValueError("Unsupported or unrecognized image format")
with open(file_path, "rb") as image_file:
encoded_string = base64.b64encode(image_file.read()).decode('utf-8')
return f"data:{mime_type};base64,{encoded_string}"
"""
Image input methods:
Choose one of the following three methods.
1. Use a public URL - suitable for publicly accessible images.
2. Use a local file - suitable for local development and testing.
3. Use Base64 encoding - suitable for private images or scenarios requiring encrypted transmission.
"""
# [Method 1] Use a public image URL
mask_image_url = "http://wanx.alicdn.com/material/20250318/description_edit_with_mask_3_mask.png"
base_image_url = "http://wanx.alicdn.com/material/20250318/description_edit_with_mask_3.jpeg"
# [Method 2] Use a local file (supports absolute and relative paths)
# Format requirement: file:// + file path
# Example (absolute path):
# mask_image_url = "file://" + "/path/to/your/mask_image.png" # Linux/macOS
# base_image_url = "file://" + "C:/path/to/your/base_image.jpeg" # Windows
# Example (relative path):
# mask_image_url = "file://" + "./mask_image.png" # Based on the actual path
# base_image_url = "file://" + "./base_image.jpeg" # Based on the actual path
# [Method 3] Use a Base64-encoded image
# mask_image_url = encode_file("./mask_image.png") # Based on the actual path
# base_image_url = encode_file("./base_image.jpeg") # Based on the actual path
def sample_sync_call_imageedit():
print('please wait...')
rsp = ImageSynthesis.call(api_key=api_key,
model="wanx2.1-imageedit",
function="description_edit_with_mask",
prompt="A ceramic rabbit holding a ceramic flower",
mask_image_url=mask_image_url,
base_image_url=base_image_url,
n=1)
assert rsp.status_code == HTTPStatus.OK
print('response: %s' % rsp)
if rsp.status_code == HTTPStatus.OK:
for result in rsp.output.results:
print("---------------------------")
print(result.url)
else:
print('sync_call Failed, status_code: %s, code: %s, message: %s' %
(rsp.status_code, rsp.code, rsp.message))
if __name__ == '__main__':
sample_sync_call_imageedit()
Exemple de réponse
L'URL reste valide pendant 24 heures. Téléchargez l'image rapidement.
{
"status_code": 200,
"request_id": "dc41682c-4e4a-9010-bc6f-xxxxxx",
"code": null,
"message": "",
"output": {
"task_id": "6e319d88-a07a-420c-9493-xxxxxx",
"task_status": "SUCCEEDED",
"results": [
{
"url": "https://dashscope-result-wlcb-acdr-1.oss-cn-wulanchabu-acdr-1.aliyuncs.com/xxx.png?xxxxxx"
}
],
"submit_time": "2025-05-26 14:58:27.320",
"scheduled_time": "2025-05-26 14:58:27.339",
"end_time": "2025-05-26 14:58:39.170",
"task_metrics": {
"TOTAL": 1,
"SUCCEEDED": 1,
"FAILED": 0
}
},
"usage": {
"image_count": 1
}
}
Java
Trois méthodes d'entrée sont prises en charge : URL publique, encodage Base64 ou chemin de fichier local.
Exemple de requête
// Copyright (c) Alibaba, Inc. and its affiliates.
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesis;
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesisParam;
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesisResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.Constants;
import com.alibaba.dashscope.utils.JsonUtils;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Base64;
import java.util.HashMap;
import java.util.Map;
/**
* Environment requirements
* dashscope java SDK >=2.20.9
* Update Maven dependency:
* https://mvnrepository.com/artifact/com.alibaba/dashscope-sdk-java
*/
public class ImageEditSync {
static {Constants.baseHttpApiUrl="https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1";}
// If the environment variable is not configured, replace the following line with: apiKey="sk-xxx"
static String apiKey = System.getenv("DASHSCOPE_API_KEY");
/**
* Image input methods: Choose one of the following three.
*
* 1. Use a public URL - suitable for publicly accessible images.
* 2. Use a local file - suitable for local development and testing.
* 3. Use Base64 encoding - suitable for private images or scenarios requiring encrypted transmission.
*/
//[Method 1] Public URL
static String maskImageUrl = "http://wanx.alicdn.com/material/20250318/description_edit_with_mask_3_mask.png";
static String baseImageUrl = "http://wanx.alicdn.com/material/20250318/description_edit_with_mask_3.jpeg";
//[Method 2] Local file path (file://+absolute path or file:///+absolute path)
// static String maskImageUrl = "file://" + "/your/path/to/mask_image.png"; // Linux/macOS
// static String baseImageUrl = "file:///" + "C:/your/path/to/base_image.png"; // Windows
//[Method 3] Base64 encoding
// static String maskImageUrl = encodeFile("/your/path/to/mask_image.png");
// static String baseImageUrl = encodeFile("/your/path/to/base_image.png");
public static void syncCall() {
// Set the parameters parameter
Map<String, Object> parameters = new HashMap<>();
parameters.put("prompt_extend", true);
ImageSynthesisParam param =
ImageSynthesisParam.builder()
.apiKey(apiKey)
.model("wanx2.1-imageedit")
.function(ImageSynthesis.ImageEditFunction.DESCRIPTION_EDIT_WITH_MASK)
.prompt("A ceramic rabbit holding a ceramic flower")
.maskImageUrl(maskImageUrl)
.baseImageUrl(baseImageUrl)
.n(1)
.size("1024*1024")
.parameters(parameters)
.build();
ImageSynthesis imageSynthesis = new ImageSynthesis();
ImageSynthesisResult result = null;
try {
System.out.println("---sync call, please wait a moment----");
result = imageSynthesis.call(param);
} catch (ApiException | NoApiKeyException e){
throw new RuntimeException(e.getMessage());
}
System.out.println(JsonUtils.toJson(result));
}
/**
* Encodes a file into a Base64 string
* @param filePath The file path
* @return A Base64 string in the format data:{MIME_type};base64,{base64_data}
*/
public static String encodeFile(String filePath) {
Path path = Paths.get(filePath);
if (!Files.exists(path)) {
throw new IllegalArgumentException("File does not exist: " + filePath);
}
// Detect the MIME type
String mimeType = null;
try {
mimeType = Files.probeContentType(path);
} catch (IOException e) {
throw new IllegalArgumentException("Cannot detect file type: " + filePath);
}
if (mimeType == null || !mimeType.startsWith("image/")) {
throw new IllegalArgumentException("Unsupported or unrecognized image format");
}
// Read the file content and encode it
byte[] fileBytes = null;
try{
fileBytes = Files.readAllBytes(path);
} catch (IOException e) {
throw new IllegalArgumentException("Cannot read file content: " + filePath);
}
String encodedString = Base64.getEncoder().encodeToString(fileBytes);
return "data:" + mimeType + ";base64," + encodedString;
}
public static void main(String[] args) {
syncCall();
}
}
Exemple de réponse
L'URL reste valide pendant 24 heures. Téléchargez l'image rapidement.
{
"request_id": "bf6c6361-f0fc-949c-9d60-xxxxxx",
"output": {
"task_id": "958db858-153b-4c81-b243-xxxxxx",
"task_status": "SUCCEEDED",
"results": [
{
"url": "https://dashscope-result-wlcb-acdr-1.oss-cn-wulanchabu-acdr-1.aliyuncs.com/xxx.png?xxxxxx"
}
],
"task_metrics": {
"TOTAL": 1,
"SUCCEEDED": 1,
"FAILED": 0
}
},
"usage": {
"image_count": 1
}
}
curl
Cette section couvre le flux de travail complet : création de la tâche, interrogation de l'état, récupération et sauvegarde du résultat.
Remarque
- Définissez l'en-tête X-DashScope-Async sur enable pour les appels asynchrones.
- Les ID de tâche expirent après 24 heures et leur statut passe à
UNKNOWN.
Étape 1 : Créer une tâche
Retourne un task_id.
curl --location 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/image2image/image-synthesis' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "wanx2.1-imageedit",
"input": {
"function": "description_edit_with_mask",
"prompt": "A ceramic rabbit holding a ceramic flower.",
"base_image_url": "http://wanx.alicdn.com/material/20250318/description_edit_with_mask_3.jpeg",
"mask_image_url": "http://wanx.alicdn.com/material/20250318/description_edit_with_mask_3_mask.png"
},
"parameters": {
"n": 1
}
}'
Exemple de réponse{
"output": {
"task_status": "PENDING",
"task_id": "0385dc79-5ff8-4d82-bcb6-xxxxxx"
},
"request_id": "4909100c-7b5a-9f92-bfe5-xxxxxx"
}
Étape 2 : Interroger le résultat par ID de tâche
Interrogez l'état de la tâche avec le task_id jusqu'à ce que le task_status soit SUCCEEDED ou FAILED.
Remplacez 86ecf553-d340-4e21-xxxxxxxxx par votre véritable task_id.
curl -X GET https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/tasks/86ecf553-d340-4e21-xxxxxxxxx \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
Exemple de réponseLes URL d'images expirent après 24 heures ; téléchargez-les rapidement.
{
"request_id": "eeef0935-02e9-9742-bb55-xxxxxx",
"output": {
"task_id": "a425c46f-dc0a-400f-879e-xxxxxx",
"task_status": "SUCCEEDED",
"submit_time": "2025-02-21 17:56:31.786",
"scheduled_time": "2025-02-21 17:56:31.821",
"end_time": "2025-02-21 17:56:42.530",
"results": [
{
"url": "https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/aaa.png"
}
],
"task_metrics": {
"TOTAL": 1,
"SUCCEEDED": 1,
"FAILED": 0
}
},
"usage": {
"image_count": 1
}
}
Fonctionnalités clés
Utilisez le paramètre function pour spécifier les fonctionnalités d'édition. Toutes suivent la même méthode d'appel décrite dans la section Premiers pas.
Chaque section ci-dessous présente les objets JSON input et parameters spécifiques à la fonctionnalité pour curl.
Une requête curl complète doit inclure les champs de niveau supérieur tels que model, input et parameters, comme décrit dans la Référence de l'API de modification d'images générale .
Stylisation globale
Applique un style artistique à l'ensemble de l'image, idéal pour les livres d'images, les arrière-plans de réseaux sociaux ou l'art conceptuel.
-
Définissez function sur stylization_all.
-
Styles pris en charge :
- Style livre d'images français
- Style art feuille d'or
-
parameters.strength (0,0–1,0, par défaut : 0,5) contrôle l'intensité de la modification. Des valeurs plus faibles préservent davantage l'original.
-
Format du prompt : "Convert to [style]" (par exemple, "Convert to French picture book style").
Exemple de requête
{
"input": {
"function": "stylization_all",
"prompt": "Convert to French picture book style",
"base_image_url": "http://wanx.alicdn.com/material/20250318/stylization_all_3.png"
},
"parameters": {
"strength": 0.5
}
}
Image d'entrée | Image de sortie | |
|---|---|---|
Prompt : Convert to French picture book style | Prompt : Convert to gold foil art style | |
|
|
|
|
|
|
Contrôler le degré de modification de l'image avec strength
Le paramètre parameters.strength (0,0–1,0, par défaut : 0,5) contrôle l'intensité de la modification : les valeurs proches de 0 préservent l'original, tandis que celles proches de 1 modifient davantage l'image.
Prompt d'entrée : Convert to French picture book style.
Image d'entrée | Image de sortie | ||
|---|---|---|---|
strength=0.0 (valeur minimale) | strength=0.5 (valeur par défaut) | strength=1.0 (valeur maximale) | |
|
|
|
|
Stylisation locale
Applique un style à une zone spécifique, idéal pour la personnalisation de personnages ou la mise en valeur de produits publicitaires.
-
Définissez function sur stylization_local.
-
Styles pris en charge et valeurs de paramètres :
- Sculpture de glace : ice
- Nuage : cloud
- Lanterne festive chinoise : chinese festive lantern
- Planche : wooden
- Porcelaine bleue et blanche : blue and white porcelain
- Peluche : fluffy
- Fil : weaving
- Ballon : balloon
-
Format du prompt : "Change [object] to [style]" (par exemple, "Change the house to wooden style").
Exemple de requête
{
"input": {
"function": "stylization_local",
"prompt": "Change the house to wooden style",
"base_image_url": "http://wanx.alicdn.com/material/20250318/stylization_local_1.png"
}
}
Image d'entrée | Image de sortie | |||
|---|---|---|---|---|
|
Sculpture de glace |
Nuage |
Lanterne festive chinoise |
Bois |
Porcelaine bleue et blanche |
Peluche |
|
Ballon | |
Édition par instructions
Ajoute ou modifie du contenu via des instructions textuelles sans spécifier de zones, idéal pour des modifications simples comme ajouter des accessoires ou changer la couleur des cheveux.
- Définissez function sur description_edit.
- parameters.strength (0,0–1,0, par défaut : 0,5) contrôle l'intensité de la modification. Des valeurs plus faibles préservent davantage l'original.
- Prompt : Incluez des verbes d'action comme "add" ou "modify". Pour les suppressions, utilisez plutôt l'Inpainting local.
Exemple de requête
{
"input": {
"function": "description_edit",
"prompt": "Add a pair of sunglasses to the kitten",
"base_image_url": "http://wanx.alicdn.com/material/20250318/description_edit_1.jpeg"
},
"parameters": {
"strength": 0.5
}
}
Capacités | Image d'entrée | Image de sortie |
|---|---|---|
Ajouter un élément |
|
Add a pair of sunglasses to the kitten. |
Modifier un élément |
|
Change her hair to red. |
Contrôler le degré de modification de l'image avec strength
Le paramètre parameters.strength (0,0–1,0, par défaut : 0,5) contrôle l'intensité de la modification : les valeurs proches de 0 préservent l'original, tandis que celles proches de 1 modifient davantage l'image.
Prompt d'entrée : Change her clothes to a colorful printed beach shirt.
Image d'entrée | Image de sortie | ||
|---|---|---|---|
strength=0.0 (valeur minimale) | strength=0.5 (valeur par défaut) | strength=1.0 (valeur maximale) | |
|
|
|
|
Inpainting local
Modifie une zone masquée : ajoutez, modifiez ou supprimez du contenu avec un contrôle précis sur les vêtements, les objets ou les éléments indésirables.
-
Définissez function sur description_edit_with_mask.
-
Exigences relatives au masque : Fournissez une mask_image_url où le blanc correspond à la zone à modifier et le noir à la zone à conserver.
-
Prompt : Incluez des actions ("add", "modify") et décrivez le contenu post-suppression pour les effacements.
- Ajout/Modification : Décrivez l'action ou le résultat final.
- Suppression : Laissez le champ
promptvide pour les petits objets. Pour les grands objets, décrivez l'arrière-plan souhaité après la suppression plutôt que l'action de suppression elle-même.
Exemple de requête
{
"input": {
"function": "description_edit_with_mask",
"prompt": "A ceramic rabbit holding a ceramic flower",
"base_image_url": "http://wanx.alicdn.com/material/20250318/description_edit_with_mask_1.jpeg",
"mask_image_url": "http://wanx.alicdn.com/material/20250318/description_edit_with_mask_1_mask.png"
}
}
| Capacités | Image d'entrée | Image de masque d'entrée(Le blanc correspond à la zone à modifier) | Image de sortie |
|---|---|---|---|
| Ajouter un élément | ![]() | ![]() | ![]() Add a hat to the puppy.
|
| Modifier un élément | ![]() | ![]() | ![]() A ceramic rabbit holding a ceramic flower.
|
| Supprimer un élément | ![]() | ![]() | ![]() A transparent glass vase on the table.
|
Suppression de texte et de filigrane
Remarque
Avertissement sur les risques juridiquesL'utilisation de cette fonctionnalité pour traiter des images protégées par le droit d'auteur (comme la suppression du filigrane d'une autre marque) peut constituer une violation du droit d'auteur. Assurez-vous de disposer des droits légaux pour utiliser l'image traitée et assumez toutes les responsabilités juridiques associées.
Supprime le texte chinois/anglais ou les filigranes des images, utile pour le traitement de supports ou le nettoyage publicitaire.
- Définissez function sur remove_watermark.
- Prompt : Utilisez des instructions générales ("Remove the text") ou spécifiez le type ("Remove English text").
Exemple de requête
{
"input": {
"function": "remove_watermark",
"prompt": "Remove the text in the image",
"base_image_url": "http://wanx.alicdn.com/material/20250318/remove_watermark_1.png"
}
}
Image d'entrée | Image de sortie (Remove the text in the image) |
|---|---|
|
|
|
|
Outpainting
Étend l'image proportionnellement dans toutes les directions avec un remplissage intelligent, idéal pour ajuster la composition ou convertir les rapports d'aspect.
- Définissez function sur expand.
- Paramètres associés : top_scale, bottom_scale, left_scale et right_scale contrôlent les ratios d'expansion par direction (par exemple, 1,5 = 1,5× la taille).
- Conseil pour le prompt : Décrivez la scène complète que vous souhaitez voir après l'expansion.
Exemple de requête
{
"input": {
"function": "expand",
"prompt": "A family on the lawn in a park",
"base_image_url": "http://wanx.alicdn.com/material/20250318/expand_1.jpeg"
},
"parameters": {
"top_scale": 1.5,
"bottom_scale": 1.5,
"left_scale": 1.5,
"right_scale": 1.5
}
}
Image d'entrée | Image de sortie |
|---|---|
|
|
Super-résolution d'image
Améliore la clarté et met à l'échelle les images basse résolution ou floues, idéal pour restaurer d'anciennes photos ou préparer des impressions HD.
- Définissez function sur super_resolution.
- parameters.upscale_factor (1–4, par défaut : 1) contrôle la mise à l'échelle. La valeur 1 améliore uniquement la clarté, sans agrandissement.
- Conseil pour le prompt : Utilisez "Image super resolution" ou décrivez le contenu de l'image.
Exemple de requête
{
"input": {
"function": "super_resolution",
"prompt": "Image super resolution",
"base_image_url": "http://wanx.alicdn.com/material/20250318/super_resolution_1.jpeg"
},
"parameters": {
"upscale_factor": 2
}
}
Image d'entrée (image floue) | Image de sortie (image nette) |
|---|---|
|
|
Colorisation d'image
Colorise les images en noir et blanc ou en niveaux de gris, utile pour les photos historiques ou les dessins au trait.
- Définissez function sur colorization.
- Prompt : Laissez vide pour une colorisation automatique, ou spécifiez les couleurs des éléments clés (par exemple, "blue background, yellow leaves").
Exemple de requête
{
"input": {
"function": "colorization",
"prompt": "blue background, yellow leaves",
"base_image_url": "http://wanx.alicdn.com/material/20250318/colorization_1.jpeg"
}
}
Image d'entrée | Image de sortie |
|---|---|
|
|
Du dessin au trait à l'image
Génère des images à partir de dessins au trait et d'instructions textuelles, y compris le dessin basé sur des gribouillis, utile pour les concepts architecturaux et les illustrations.
-
Définissez function sur doodle.
-
Paramètre associé : parameters.is_sketch contrôle la façon dont le modèle traite l'entrée.
false(par défaut) : Le modèle extrait le dessin au trait de l'entrée RGB, puis génère l'image (RGB → dessin au trait → image).true: Le modèle génère directement à partir de l'entrée RGB comme des gribouillis (RGB → image).
-
Prompt : Décrivez le contenu attendu ; plus de détails donnent de meilleurs résultats.
Exemple de requête 1 : Du dessin au trait à l'image
{
"input": {
"function": "doodle",
"prompt": "A living room in a minimalist Nordic style.",
"base_image_url": "http://wanx.alicdn.com/material/20250318/doodle_1.png"
},
"parameters": {
"is_sketch": false
}
}
Exemple de requête 2 : Dessin basé sur des gribouillis
{
"input": {
"function": "doodle",
"prompt": "A tree, in a two-dimensional anime style",
"base_image_url": "http://wanx.alicdn.com/material/20250318/doodle_2.png"
},
"parameters": {
"is_sketch": true
}
}
Capacités | Image d'entrée | Image de sortie |
|---|---|---|
Du dessin au trait à l'image (is_sketch=false) |
|
A living room in a minimalist Nordic style. |
Dessin basé sur des gribouillis (is_sketch=true) |
|
A tree, in a two-dimensional anime style. |
Générer une image basée sur un personnage de dessin animé de référence
Remarque
Avertissement sur les risques juridiquesL'utilisation de cette fonctionnalité pour traiter des personnages de dessins animés protégés par le droit d'auteur peut constituer une violation du droit d'auteur. Vous devez disposer des droits légaux pour utiliser le personnage référencé ou utiliser votre propre personnage original. Vous devez également assumer toutes les responsabilités juridiques associées.
- Définissez function sur control_cartoon_feature.
- Format du prompt : "The cartoon character [action/environment details]..."
Exemple de requête
{
"input": {
"function": "control_cartoon_feature",
"prompt": "The cartoon character cautiously peeks out, peering at a brilliant blue gem in the room",
"base_image_url": "http://wanx.alicdn.com/material/20250318/control_cartoon_feature_1.png"
}
}
Image d'entrée | Image de sortie |
|---|---|
|
|
Mise en production
Bonnes pratiques
- Interrogation asynchrone : Utilisez des intervalles d'interrogation progressifs (par exemple, toutes les 3 s pendant 30 s, puis augmentez) pour éviter les limites de taux.
- Ajustement des paramètres : Testez les paramètres clés comme
strengthlors d'essais à petite échelle avant la mise en production afin de trouver les valeurs optimales. - Stockage des images : Les URL de résultats expirent après 24 heures. Téléchargez-les et transférez-les rapidement vers un stockage persistant (par exemple, OSS).
Prévention des risques
- Gestion des erreurs : Vérifiez le
task_statusdans les résultats de requête. En cas de statutFAILED, notez les champscodeetmessagepour le dépannage. Les erreurs transitoires (par exemple, les délais d'attente) peuvent réussir lors d'une nouvelle tentative. - Modération du contenu : Toutes les entrées et sorties sont examinées pour vérifier leur conformité. Un contenu non conforme retourne
DataInspectionFailed.
Référence API
Les paramètres d'entrée et de réponse sont documentés dans la Référence de l'API de modification d'images générale.
Facturation et limitation de taux
-
Quotas gratuits et tarification : Wan image editing 2.1.
-
Pour la limitation de taux du modèle, consultez Wanxiang.
-
Détails de facturation :
- Facturé par image générée avec succès. Les frais s'appliquent uniquement lorsque le
task_statusestSUCCEEDED. - Les appels échoués n'entraînent pas de frais et ne consomment pas le Quota gratuit pour les nouveaux utilisateurs.
- Facturé par image générée avec succès. Les frais s'appliquent uniquement lorsque le
Codes d'erreur
Si l'appel du modèle échoue et retourne un message d'erreur, consultez la rubrique Codes d'erreur pour obtenir une solution.
FAQ
Q : Pourquoi ma tâche a-t-elle échoué (FAILED) ?Causes fréquentes :
- Échec de la modération du contenu : L'entrée ou la sortie a déclenché une politique de sécurité.
- Erreur de paramètre : Paramètres de requête invalides (par exemple, nom de
functionincorrect ou URL inaccessible). - Erreur interne du modèle : Problème de traitement inattendu. Vérifiez les champs
codeeterrordans la réponse de requête.





















Tissage






























