CheaperGen
O OpenMOSSTutorial

Cómo usar la API de MOSS Image

Tutorial paso a paso de la API de MOSS Image con Node.js, Python y cURL: envía una tarea de texto a imagen, consulta su estado o recibe un webhook y descarga el resultado de image. El ejemplo siguiente cuesta $0,039.

Endpoints
1
Texto a imagen
Solicitud de ejemplo
$0,039
Texto a imagen
Lenguajes
3
Node.js · Python · cURL
Generaciones fallidas
$0
reembolso automático
1

Obtener una clave de API

Crea una cuenta, añade saldo y genera una clave en Panel → Claves de API. Guárdala como CHEAPERGEN_API_KEY en tu servidor. Cada solicitud la envía como token bearer.

Cómo obtener una clave de API de MOSS Image
2

Elige un endpoint de MOSS Image

Cada tarea tiene su propio endpoint. Todos reciben un cuerpo JSON y devuelven una generación cuyo estado puedes consultar.

MOSS Image endpoints, entradas obligatorias y precios
TareaEndpointObligatorioDesde
Texto a imagenopenmoss/moss-image/text-to-imageprompt$0,0384 por imagen
3

Envía un trabajo de texto a imagen

Este programa envía la tarea, consulta su estado cada 3 segundos hasta que termina e imprime la URL de image. Cambia el prompt y los ajustes por los tuyos.

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": "Letrero de madera pintado a mano frente a una casa de té; dice «山间茶舍 MOUNTAIN TEA HOUSE — OPEN DAILY 9–6», con niebla matutina y luz cálida",
    "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

Configura los parámetros importantes

Los ajustes de openmoss/moss-image/text-to-image y cómo afecta cada uno al precio.

Parámetros de MOSS Image Texto a imagen y su efecto en el precio
ParámetroTipo · valor predeterminadoQué haceEfecto en el precio
aspect_ratiostring (enum) · 1:1Forma de la imagen de salida. 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 por imagen
resolutionstring (enum) · 1KTamaño de salida, al mismo precio en todas las relaciones de aspecto: 1K = 1 MP (1024 × 1024), 1.5K ≈ 2.25 MP (1536 × 1536), 2K = 4 MP (2048 × 2048) en 1:1, con 1 MP = 1024² px. Las demás relaciones conservan la cantidad de píxeles: cada lado equivale al lado 1:1 × √relación, redondeado hacia abajo a un múltiplo de 16 (por ejemplo, 2K en 16:9 = 2720 × 1536).
1K · 1.5K · 2K
1K: $0,0384 por imagen
1.5K: $0,0826 por imagen
2K: $0,1534 por imagen
seedintegerUsa la misma semilla y los mismos ajustes para reproducir un resultado. Déjalo vacío para usar una semilla aleatoria.Ninguno
enable_safety_checkerboolean · trueSi se establece en true, se activará el comprobador de seguridad. El contenido prohibido por nuestra Política de uso aceptable seguirá bloqueado en cualquier caso.Ninguno
5

Obtén el resultado

Una tarea pasa de queued a running y luego a succeeded, failed o canceled. Consulta GET /api/v1/generations/{id} o proporciona webhook_url para que te enviemos el resultado mediante una solicitud POST. Descarga y guarda el resultado por tu cuenta.

200 — succeeded
{
  "id": "gen_8c2QmX1nq0k4",
  "object": "generation",
  "model": "openmoss/moss-image",
  "endpoint": "openmoss/moss-image/text-to-image",
  "mode": "text-to-image",
  "status": "succeeded",
  "input": {
    "prompt": "Letrero de madera pintado a mano frente a una casa de té; dice «山间茶舍 MOUNTAIN TEA HOUSE — OPEN DAILY 9–6», con niebla matutina y luz cálida",
    "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"
}
Verifica las firmas de webhooks
6

Calcula el precio antes de ejecutar una solicitud

El endpoint de cotización es gratis y no requiere una clave. Devuelve el precio, el precio de fal API y tu descuento para los datos exactos que envíes.

curl -X POST https://cheapergen.com/api/v1/quote/openmoss/moss-image/text-to-image \
  -H "Content-Type: application/json" \
  -d '{"prompt":"Letrero de madera pintado a mano frente a una casa de té; dice «山间茶舍 MOUNTAIN TEA HOUSE — OPEN DAILY 9–6», con niebla matutina y luz cálida","aspect_ratio":"1:1","resolution":"1K"}'
Errores de la API y cómo resolverlos
EstadoCódigoSignificado
400invalid_requestFalta un parámetro o está fuera de rango; el mensaje indica cuál.
401unauthorizedFalta la clave de API, está mal formada o fue revocada.
402insufficient_balanceEl saldo no alcanza para el precio cotizado; añade créditos o activa la recarga automática.
429rate_limitedHay demasiadas solicitudes o generaciones en curso; espera un poco y vuelve a intentarlo.
502upstream_errorEl proveedor del modelo falló; se reembolsa el importe reservado y puedes volver a intentarlo.
503model_unavailableNo hay ninguna ruta disponible en este momento; inténtalo más tarde o elige otro modelo.
Documentación completa de la API de MOSS Image

Preguntas frecuentes

Preguntas sobre la API de MOSS Image

No. La API usa HTTPS y JSON, así que los ejemplos de Node.js (fetch) y Python (requests) de esta página son programas completos. Funciona cualquier lenguaje que pueda enviar solicitudes HTTP.

Sí. Añade "webhook_url" al cuerpo de la solicitud y enviaremos la generación terminada mediante POST, firmada con la cabecera CheaperGen-Signature (HMAC-SHA256 de la marca de tiempo y el cuerpo sin procesar). También puedes consultar GET /api/v1/generations/{id}.

Texto a imagen cuesta desde $0,0384 por imagen; la solicitud de ejemplo de esta página cuesta $0,039, 23% por debajo de el precio de fal API. Las generaciones fallidas se reembolsan automáticamente.