Introduction
MOSS-Image Texte vers image crée une image à partir d’un prompt écrit avec MOSS-Image, un modèle de diffusion ouvert de 5 milliards de paramètres d’OpenMOSS publié sous Apache-2.0. Il est conçu pour les images qui contiennent beaucoup de texte exact, comme les affiches, les couvertures de magazine, les publicités et les enseignes. Lors de nos tests, il a aussi lu des prompts très longs jusqu’au bout, et les prompts NSFW sont revenus tels qu’écrits à chaque niveau de contenu, du niveau Léger au niveau Maximum. La plateforme n’ajoute aucun filtre de contenu. Pour vos propres fichiers LoRA, utilisez MOSS-Image LoRA.
Choisir un modèle selon votre besoin
| Ce dont vous avez besoin | Modèle |
|---|---|
| du texte exact, des prompts longs et une mise en page JSON avec le modèle de base | MOSS-Image Texte vers image (vous êtes ici) |
| le même modèle avec jusqu’à trois de vos propres LoRA | MOSS-Image LoRA Texte vers image |
Fonctionnalités et points forts
Du texte qui sort tel qu’écrit
Une affiche de film avec les noms du casting et du réalisateur, une couverture de magazine avec trois titres de une et une ligne de prix, une signature de parfum et une enseigne de motel au néon ont tous été correctement orthographiés lors de nos tests. OpenMOSS indique la même solidité pour le texte en anglais et en chinois.
Des prompts lus jusqu’au bout
Le prompt accepte jusqu’à 12 000 caractères. Un parapluie rouge mentionné seulement dans la dernière phrase d’un prompt de 13 000 caractères a été dessiné dans le coin inférieur gauche.
Mise en page JSON
Envoyez une mise en page JSON comme prompt et chaque bloc de texte ou objet reçoit sa propre boîte. Un flyer de club avec un titre, un sous-titre en script, une programmation et une danseuse a placé chaque élément dans sa boîte. OpenMOSS marque ce format comme expérimental.
Quinze formats, trois paliers
De 1:3 à 3:1 en 1k, 1.5k ou 2k. Une image 16:9 en 1.5k est revenue en 2048 x 1152, et une image 9:16 en 2k en 1536 x 2720.
Sans censure
Lors de nos tests, rien n’a été refusé ni adouci à aucun niveau de contenu, du niveau Léger au niveau Maximum. Rien n’est filtré à l’entrée ni à la sortie.
Paramètres de requête
| Paramètre | Obligatoire | Description |
|---|---|---|
prompt | Oui | Mettez chaque bout de texte entre guillemets et indiquez où il va. De 1 à 12 000 caractères ; l’anglais donne de bons résultats. 1 caractères minimum · 12000 caractères maximum |
aspect_ratio | Non | 15 formats de 1:3 à 3:1 ; 1:1 par défaut. Le ratio change la forme, pas le prix. |
resolution | Non | 1k (environ 1 mégapixel, par défaut), 1.5k ou 2k. Le palier fixe le prix ; une image panoramique en 1.5k est revenue en 2048 x 1152. |
output_format | Non | JPEG par défaut, ou PNG ou WebP. Le format ne change pas le prix. |
seed | Non | Permet de garder des images comparables pendant que vous modifiez une phrase à la fois. Ne promet pas des pixels identiques. |
Tarification
Facturé à l’image selon le palier de résolution (1k, 1.5k ou 2k). Le ratio d’image et le format de sortie ne changent pas le prix. Les requêtes en échec ne sont pas facturées.
| Spécification | Prix |
|---|---|
| $0.024 / image |
| $0.048 / image |
| $0.096 / image |
Cas d’utilisation
Affiches, couvertures et publicités
Titre, accroche, noms du casting et date dans une seule image, ou bandeau avec titres de une et ligne de prix. Mettez chaque chaîne entre guillemets et indiquez son emplacement.
Enseignes, bannières et flyers
Enseignes au néon, flyers d’événements et bannières larges où les mots portent l’image. Utilisez la mise en page JSON lorsque vous voulez une boîte pour chaque bloc.
Briefs longs en une seule requête
Collez le brief complet, avec la scène, les vêtements, la lumière, l’objectif et chaque ligne de texte, plutôt que de le réduire à quelques phrases.
Guide de prompt et conseils pratiques
Mettez le texte entre guillemets, puis placez-le
Écrivez « LAST CALL AT THE MERIDIAN » entre guillemets, puis indiquez où il va et comment il se présente : capitales en serif dorées sur le tiers inférieur. Utilisez des retours à la ligne à l’intérieur des guillemets là où une ligne doit se couper.
Écrire une mise en page JSON
Le prompt est un objet JSON avec un summary (un caption pour l’image entière) et une liste items. Chaque élément a un label (text ou object), un caption, un text facultatif et une bbox. Réglez bbox_format sur yxyx et bbox_coord_space sur abs_centralized : les boîtes sont [haut, gauche, bas, droite] en pixels depuis le centre du canevas, avec x qui croît vers la droite et y qui croît vers le bas.
Calculer sur la taille réelle
Une image 4:3 en 1k fait 1168 x 880 : x va de -584 à 584 et y de -440 à 440. Une boîte [-400, -560, -140, 40] correspond à une zone de titre en haut à gauche. Vérifiez la taille de sortie pour votre ratio et votre palier avant de placer les boîtes.
Gardez une seed de réserve
Les lettres se collent parfois : lors d’un essai, la signature du parfum a donné NOIIR au lieu de NOIR. Changez la seed et relancez. La seed permet de comparer les essais, mais ne promet pas des pixels identiques.
Ajoutez ce dont vous avez besoin sous forme de phrases
Il n’y a ni prompt négatif ni guidance. Décrivez le sujet, les vêtements, le lieu, la lumière et l’objectif en phrases, et gardez les chaînes de texte assez courtes pour être lisibles à la taille choisie.
Démarrage rapide de l’API
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "openmoss/moss-image/text-to-image",
"input": {
"prompt": "A ceramic teapot on a linen cloth, soft window light, muted palette",
"resolution": "1k",
"aspect_ratio": "1:1",
"output_format": "jpeg"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
La référence API détaille l’authentification, le schéma complet, le polling et la gestion des erreurs.




