Pour transformer une photo en illustration de style anime sans changer la personne représentée, utilisez l’édition d’image avec la photo comme première image, dites exactement ce qui doit rester et décrivez à part le traitement du dessin (traits, ombres, arrière-plan). Commencez avec l’édition Seedream 5.0 Flash en 2k, PNG, 0,029 $ par image. Un filtre dédié photo vers anime applique un seul rendu à tout le cadre ; un modèle d’édition permet de nommer ce qui reste et ce qui peut changer. Les prix et réglages sont ceux d’octobre 2026.
L’exemple est une photographe adulte fictive sur un banc de gare près d’une fenêtre : cheveux courts, ondulés et sombres, veste vert mousse, écharpe crème, sac bleu marine, un appareil photo tenu à deux mains.
Choisir la source et décider ce qui peut changer
Prenez une photo où le visage, la pose et les mains sur l’appareil sont bien visibles. Ne recadrez pas l’appareil pour agrandir le visage : l’objet fait partie de l’image. Si le visage est flou ou en grande partie caché, choisissez une autre photo dont vous avez les droits : le modèle inventera ce qu’il ne voit pas.
Avant d’écrire le prompt, décidez ce qui doit survivre (contour du visage, cheveux, pose, couleur de la veste et de l’écharpe, appareil, fenêtre à droite) et ce qui peut devenir des formes dessinées plus simples (texture de la peau, plis du tissu, détails de l’arrière-plan). Une conversion de style redessine chaque pixel : le but est une personne et une composition reconnaissables, pas une photo inchangée sous un filtre. Le lien vers une page d’album photo ou de stockage renvoie une page web, pas l’image, et la tâche échoue ; utilisez un lien direct vers l’image ou téléversez le fichier (voir la documentation des médias).

Image source de l’exemple : l’appareil, l’écharpe, le banc et la fenêtre à droite sont ce que la conversion doit conserver.
Essayer d’abord dans le Playground
- Ouvrez la page d’édition de Seedream 5.0 Flash et restez sur l’onglet Playground, en vue Form. Connectez-vous avec un compte approvisionné pour lancer l’exécution.
- Sous Images, utilisez Add a file (ou Asset URL pour un lien direct) pour ajouter d’abord la photo. Flash accepte de 1 à 10 images au même prix et n’a ni seed ni masque.
- Collez le prompt ci-dessous dans Prompt, en remplaçant les détails de l’exemple par ce qui figure sur votre photo.
- Réglez Aspect ratio sur celui de la photo, Resolution sur 2k, Output format sur PNG et Background sur Opaque, vérifiez l’estimation du prix, puis lancez.
Convert the image into an original anime-style illustration. Keep the same adult woman: face outline, short wavy dark hair, seated pose, moss-green jacket, cream scarf and navy bag, with one analog camera held in both hands and the station window on the right with its light direction. Use clean drawn contours, a few flat cel-shaded shadow shapes and a softly painted background. Restrained eye enlargement; keep the original face proportions. Keep the composition. No new people, lettering, camera or costume.
Si votre sujet tient l’appareil d’une seule main, copier « both hands » demande au modèle de redessiner la pose. Demander du chibi ou des proportions exagérées demande au modèle de changer le visage ; pour une personne reconnaissable, gardez « restrained eye enlargement; keep the original face proportions ». Le corps de la requête sous le formulaire est le même JSON que celui de l’API : une conversion qui fonctionne ici peut être copiée telle quelle dans le code.
Puis l’appeler depuis le code
Installez le SDK Python (pip install spicyapi), définissez SPICY_API_KEY dans l’environnement et exécutez :
import uuid
from spicyapi import SpicyClient, output_assets
client = SpicyClient() # reads SPICY_API_KEY from the environment
photo = client.upload_file("./authorized-photo.jpg") # local files become spicy:// URIs
task = client.create_task(
model="bytedance/seedream-5.0-flash/edit",
input_data={
"image_urls": [photo["uri"]],
"prompt": "Convert the image into an original anime-style illustration. Keep the same adult woman: face outline, short wavy dark hair, seated pose, moss-green jacket, cream scarf and navy bag, with one analog camera held in both hands and the station window on the right with its light direction. Use clean drawn contours, a few flat cel-shaded shadow shapes and a softly painted background. Restrained eye enlargement; keep the original face proportions. Keep the composition. No new people, lettering, camera or costume.",
"aspect_ratio": "auto",
"resolution": "2k",
"output_format": "png",
"background": "opaque",
},
idempotency_key=str(uuid.uuid4()), # new key per new request; reuse only to retry the same one
)
final = client.wait_for_terminal(task["taskId"])
if final["state"] != "succeeded":
raise RuntimeError(f"Task {task['taskId']} ended as {final['state']}")
print(output_assets(final)[0]["url"]) # copy it to your own storage nowLes envois de fichiers, l’attente, les erreurs et les nouvelles tentatives sont décrits dans la référence du SDK Python et le guide des tâches asynchrones. Pour comparer des styles, repartez à chaque fois de la photo d’origine ; pour garder des modifications acceptées, éditez le dernier résultat accepté et surveillez la dérive.
Ou laisser un agent s’en charger
Si un assistant doit exécuter les conversions, donnez-lui la CLI ou le serveur MCP. Les deux affichent le prix et demandent votre confirmation avant un appel payant. Le Skill ajoute des instructions par-dessus l’un ou l’autre.
- CLI.
spicyapiexécute une tâche depuis un terminal ou un script (npx @spicyapi/clifonctionne sans installation) :
``bash spicyapi files upload ./authorized-photo.jpg # prints a spicy:// URI spicyapi tasks create --model bytedance/seedream-5.0-flash/edit \ --input-file input.json --idempotency-key anime-001 --wait ``
input.json contient le même objet input que ci-dessus, avec l’URI spicy:// dans image_urls.
- Serveur MCP. Ajoutez le serveur MCP à votre assistant, puis demandez : « Convert ./authorized-photo.jpg to an anime-style illustration with Seedream 5.0 Flash editing, keeping the pose, camera and scarf. » Il appelle
spicyapi_upload_file, puisspicyapi_task_create(qui s’arrête pour votre confirmation du prix), puisspicyapi_task_wait.
``json { "mcpServers": { "spicyapi": { "command": "npx", "args": ["--yes", "--package=@spicyapi/mcp", "spicyapi-mcp"], "env": { "SPICY_API_KEY": "YOUR_SPICY_API_KEY" } } } } ``
- Skill.
npx skills add spicyapi-ai/spicy-skillinstalle l’Agent Skill, qui apprend à un assistant de code à lire le schéma à jour et à réutiliser les clés d’idempotence au lieu de deviner. Il ne peut pas exécuter de tâches seul : utilisez-le avec la CLI ou MCP.
Autre option pour la photo entière : Qwen Image 2.1
L’édition de Qwen Image 2.1 convertit aussi une photo entière, à partir de 0,036 $ par image en 1k ; des références supplémentaires augmentent les devis en 1k et 1.5k. En 2k, le prix actuel est de 0,048 $ par image produite et la deuxième référence ne l’augmente pas. Le modèle réécrit votre prompt par défaut : mettez enable_prompt_expansion sur false (proposé en 1k et 2k) pour conserver votre formulation. Il n’a pas de prompt négatif, donc écrivez les exclusions, comme « no new people », dans le prompt lui-même.
Ajouter une référence de style seulement pour des choix de dessin visibles
Si les mots ne donnent pas le rendu de dessin voulu, ajoutez un exemple de style en deuxième image : « Use the second image only for line weight, flat shadow shapes and background brushwork; do not copy its person, clothes or scene. » Gardez la photo en premier, car le prompt désigne les images par leur position. Une image de style dominée par un visage peut amener une seconde identité dans le résultat ; un recadrage qui ne montre que les traits et l’ombrage est plus sûr.

Version illustrée de la même scène : contours à l’encre et ombrage peint, avec la même pose, le même appareil, la même écharpe, le même sac et la même fenêtre.
Corriger l’échec précis
| Échec | Correction |
|---|---|
| La personne paraît plus jeune | Retirez les termes juvéniles, mignons ou chibi ; demandez la mâchoire, les proportions du visage et la taille d’yeux mesurée de la photo adulte. |
| L’appareil devient un livre | « One analog camera with one lens, held in the same two-hand pose » ; demandez moins de détails autour des doigts. |
| La personne se lève | Nommez le banc et le contact du corps : « same seated hip, knee and arm positions; do not change to a standing pose. » |
| L’écharpe et la veste changent de couleur | Supprimez toute consigne de palette globale ; nommez l’écharpe crème et la veste vert mousse et n’autorisez que des zones d’ombre plus claires et plus sombres. |
| La fenêtre devient un autre lieu | « Same window divisions and bench, simplified painted texture, not a replacement scene. » |
| Le résultat ressemble à une photo filtrée | Demandez des éléments dessinés : traits de contour, aplats d’ombre, arrière-plan simplifié. |
| Le style est bon mais la personne ne l’est pas | Revenez à la photo d’origine, réduisez l’exagération du visage et retirez la deuxième image si elle montre un autre visage. |
Un prompt large comme « perfect anime, huge eyes, magical city, same everything » invite à modifier la personne et le décor.
Retoucher une zone une fois le dessin réussi
Pour un bord d’appareil ou une prise en main mal formés, utilisez l’illustration acceptée comme source d’une édition Qwen Image 2.1 avec masque ; le masque concentre la retouche demandée sur une petite zone, tandis que les zones noires indiquent ce qui doit être conservé. Dans le Playground d’édition de Qwen Image 2.1, ajoutez l’illustration acceptée sous Images, ouvrez Advanced parameters et ajoutez une image noir et blanc sous Mask (blanc sur l’appareil et le raccord avec la main, noir ailleurs), puis choisissez 1k ou 2k pour Resolution (les masques ne sont pas proposés en 1.5k). Le prix en 1k commence à 0,036 $ par image. Demandez ensuite :
Repair the marked camera and adjacent grip in the same clean-line anime treatment. Keep one coherent camera with one lens supported by the existing hands. Retain the face, short hair, moss jacket, cream scarf, seated pose, bench and window.
Comparez le visage et la scène après la retouche ; un masque est une consigne, pas un verrou de pixels. Pour une seule ligne de contour manquante, la tracer dans un éditeur d’images ordinaire est plus rapide.
Quand il faut un réglage : strength et LoRA
Seedream et Qwen décident eux-mêmes de leur éloignement de la photo. Si vous devez contrôler cette distance, utilisez un endpoint d’édition doté de strength, valeur de 0 à 1 (0,8 par défaut) : édition FLUX.1 Dev LoRA (0,018 $ par image) ou édition Z-Image Turbo LoRA (0,012 $ par image). Les valeurs basses restent plus proches de la photo ; près de 1, la photo n’est plus qu’un guide approximatif, et sur FLUX 0,95 peut redessiner presque tout, visage compris. Commencez à 0,8, changez un seul réglage à la fois par pas de 0,1 avec le seed fixé, et augmentez strength si la photo transparaît ou baissez-le si le visage dérive. Ces endpoints renvoient des images plus petites que Flash en 2k (FLUX environ 0,7 mégapixel ; Z-Image 1024 ou 1536 px sur le grand côté) et prennent un seul image_url au lieu de image_urls.
Le rendu anime de ces endpoints vient d’un LoRA de style que vous fournissez (loras, jusqu’à trois entrées path et scale). Le fichier doit être entraîné pour le modèle de base de cet endpoint. Un LoRA vaut l’étape supplémentaire quand vous voulez le même rendu sur une série de photos ; pour une seule image, le prompt Flash ci-dessus est plus simple. Rédiger un brief de style pour un LoRA FLUX explique comment choisir un fichier et son échelle de départ.
Seedream 5.0 Flash et Qwen Image 2.1 sont des modèles d’édition non censurés : les photos de personnages adultes se convertissent donc aussi ; gardez le sujet adulte et rejetez une conversion qui rend le personnage enfantin. Le consentement et les obligations légales restent votre responsabilité.
Une conversion Flash plus une révision Flash coûtent 0,058 $. La conversion a réussi lorsque la même personne adulte, la même pose et les mêmes objets sont reconnaissables dans le dessin, et pas seulement parce que l’image ressemble à un anime.









