CheaperGen
O OpenMOSSTutoriel

Comment utiliser l’API MOSS Image

Tutoriel pas à pas sur l’API MOSS Image avec Node.js, Python et cURL : envoyer une tâche texte en image, l’interroger ou recevoir un webhook, puis télécharger le image. L’exemple ci-dessous coûte $0,039.

Points de terminaison
1
Texte en image
Exemple de requête
$0,039
Texte en image
Langages
3
Node.js · Python · cURL
Générations échouées
$0
remboursées automatiquement
1

Obtenir une clé API

Créez un compte, ajoutez des crédits, puis créez une clé dans Tableau de bord → Clés API. Enregistrez-la sous CHEAPERGEN_API_KEY sur votre serveur. Chaque requête la transmet comme jeton Bearer.

Comment obtenir une clé API MOSS Image
2

Choisissez un point de terminaison MOSS Image

Chaque tâche a son propre point de terminaison. Tous acceptent un corps JSON et renvoient une génération que vous pouvez interroger.

MOSS Image points de terminaison API, entrées obligatoires et tarifs
TâchePoint de terminaisonObligatoireÀ partir de
Texte en imageopenmoss/moss-image/text-to-imageprompt$0,0384 par image
3

Envoyer une tâche texte en image

Ce programme envoie la tâche, interroge son état toutes les 3 secondes jusqu’à sa fin et affiche l’URL image. Remplacez le prompt et les paramètres par les vôtres.

const API = "https://cheapergen.com/api/v1";
const headers = {
  Authorization: `Bearer ${process.env.CHEAPERGEN_API_KEY}`,
  "Content-Type": "application/json",
};

// 1. Submit the job
let job = await fetch(`${API}/run/openmoss/moss-image/text-to-image`, {
  method: "POST",
  headers,
  body: JSON.stringify({
    "prompt": "Pancarte en bois peinte à la main devant un salon de thé, avec le texte « 山间茶舍 MOUNTAIN TEA HOUSE — OPEN DAILY 9–6 », brume matinale, lumière chaleureuse",
    "aspect_ratio": "1:1",
    "resolution": "1K"
  }),
}).then((r) => r.json());

// 2. Poll until it finishes (or pass webhook_url and skip polling)
while (job.status === "queued" || job.status === "running") {
  await new Promise((r) => setTimeout(r, 3000));
  job = await fetch(`${API}/generations/${job.id}`, { headers }).then((r) => r.json());
}

console.log(job.status === "succeeded" ? job.output.images[0].url : job.error);
4

Définissez les paramètres importants

Les paramètres de openmoss/moss-image/text-to-image, avec l’incidence de chacun sur le prix.

Paramètres Texte en image de MOSS Image et effet sur le prix
ParamètreType · valeur par défautDescriptionEffet sur le prix
aspect_ratiostring (enum) · 1:1Format de l’image générée. En 1K : 1:1 = 1024 × 1024, 4:5 = 912 × 1136, 5:4 = 1136 × 912, 3:4 = 880 × 1168, 4:3 = 1168 × 880, 2:3 = 832 × 1248, 3:2 = 1248 × 832, 9:16 = 768 × 1360, 16:9 = 1360 × 768, 1:2 = 720 × 1440, 2:1 = 1440 × 720, 9:21 = 656 × 1552, 21:9 = 1552 × 656, 1:3 = 576 × 1760, 3:1 = 1760 × 576.
1:1 · 4:5 · 5:4 · 3:4 · 4:3 · 2:3 · 3:2 · 9:16 · 16:9 · 1:2 · 2:1 · 9:21 · 21:9 · 1:3 · 3:1
1:1: $0,0384 par image
resolutionstring (enum) · 1KTaille de sortie, au même prix quel que soit le format d’image : en 1:1, 1K = 1 MP (1024 × 1024), 1.5K ≈ 2,25 MP (1536 × 1536), 2K = 4 MP (2048 × 2048), avec 1 MP = 1024² px. Les autres formats conservent le même nombre de pixels : chaque côté correspond au côté en 1:1 × √ratio, arrondi à l’entier inférieur multiple de 16 (par ex. 2K en 16:9 = 2720 × 1536).
1K · 1.5K · 2K
1K: $0,0384 par image
1.5K: $0,0826 par image
2K: $0,1534 par image
seedintegerRéutilisez le même seed et les mêmes paramètres pour reproduire un résultat. Laissez ce champ vide pour une valeur aléatoire.Aucun
enable_safety_checkerboolean · trueSi cette option est activée, la vérification de sécurité sera appliquée. Le contenu interdit par notre politique d’utilisation acceptable reste bloqué dans tous les cas.Aucun
5

Récupérer le résultat

Une tâche passe de queued à running, puis à succeeded, failed ou canceled. Interrogez GET /api/v1/generations/{id}, ou indiquez webhook_url pour que nous vous envoyions le résultat par POST. Téléchargez le résultat et stockez-le vous-même.

200 — terminée
{
  "id": "gen_8c2QmX1nq0k4",
  "object": "generation",
  "model": "openmoss/moss-image",
  "endpoint": "openmoss/moss-image/text-to-image",
  "mode": "text-to-image",
  "status": "succeeded",
  "input": {
    "prompt": "Pancarte en bois peinte à la main devant un salon de thé, avec le texte « 山间茶舍 MOUNTAIN TEA HOUSE — OPEN DAILY 9–6 », brume matinale, lumière chaleureuse",
    "aspect_ratio": "1:1",
    "resolution": "1K"
  },
  "output": {
    "images": [
      {
        "url": "https://cdn.cheapergen.com/outputs/gen_8c2Q-0.png",
        "content_type": "image/png",
        "width": 2048,
        "height": 2048
      }
    ]
  },
  "error": null,
  "cost": {
    "amount_usd": 0.2255,
    "currency": "usd",
    "estimated": false,
    "official_usd": 0.264,
    "list_price_source": "reference",
    "list_price_label": "fal API",
    "saved_usd": 0.0385
  },
  "source": "api",
  "created_at": "2026-10-15T09:21:04Z",
  "started_at": "2026-10-15T09:21:06Z",
  "completed_at": "2026-10-15T09:22:31Z"
}
Vérifier les signatures des webhooks
6

Calculer le prix avant le lancement

Le point de terminaison de devis est gratuit et ne nécessite pas de clé. Il renvoie le prix, le tarif de fal API et votre remise pour exactement les paramètres que vous envoyez.

curl -X POST https://cheapergen.com/api/v1/quote/openmoss/moss-image/text-to-image \
  -H "Content-Type: application/json" \
  -d '{"prompt":"Pancarte en bois peinte à la main devant un salon de thé, avec le texte « 山间茶舍 MOUNTAIN TEA HOUSE — OPEN DAILY 9–6 », brume matinale, lumière chaleureuse","aspect_ratio":"1:1","resolution":"1K"}'
Erreurs de l’API et marche à suivre
ÉtatCodeSignification
400invalid_requestUn paramètre manque ou dépasse les limites autorisées ; le message indique lequel.
401unauthorizedClé API manquante, mal formée ou révoquée.
402insufficient_balanceCrédits insuffisants pour le prix indiqué ; rechargez votre solde ou activez la recharge automatique.
429rate_limitedTrop de requêtes ou de générations en cours ; attendez un peu avant de réessayer.
502upstream_errorUne erreur s’est produite pendant la génération ; le montant réservé est remboursé et vous pouvez réessayer.
503model_unavailableAucune capacité n’est disponible pour le moment ; réessayez plus tard ou choisissez un autre modèle.
Documentation complète de l’API MOSS Image

FAQ

Questions sur l’API MOSS Image

Non. L’API utilise HTTPS et JSON. Les exemples Node.js (fetch) et Python (requests) de cette page sont des programmes complets. Toute langue capable d’envoyer une requête HTTP convient.

Oui. Ajoutez "webhook_url" au corps de la requête ; nous envoyons la génération terminée par POST à cette URL, avec une signature dans l’en-tête CheaperGen-Signature (HMAC-SHA256 de l’horodatage et du corps brut). Vous pouvez aussi interroger GET /api/v1/generations/{id}.

Texte en image est proposé à partir de $0,0384 par image ; la requête d’exemple sur cette page coûte $0,039, 23 % sous le tarif de fal API. Les générations échouées sont automatiquement remboursées.