CheaperGen

Documentazione API di MiniMax H3 Max

Tutto ciò che ti serve per chiamare MiniMax H3 Max dal tuo codice. URL di base: https://cheapergen.com/api/v1. Provalo prima nel playground.

Usi un agente di programmazione?

Incolla questo testo in Claude Code, Cursor, Codex o qualsiasi agente di programmazione. Aggiunge l’API al tuo progetto, conserva la chiave in CHEAPERGEN_API_KEY ed esegue una prova con un preventivo gratuito prima di spendere.

Add MiniMax H3 Max (CheaperGen endpoint minimax/h3-max/text-to-video) to this project by following https://cheapergen.com/agents/integrate.md
Cosa legge il tuo agente

Autenticazione

Crea una chiave in Dashboard → Chiavi API, inviala come token bearer e conservala lato server.

export CHEAPERGEN_API_KEY="cg_live_…"

# every request
Authorization: Bearer $CHEAPERGEN_API_KEY

API MiniMax H3 Max Da testo a video

POST/api/v1/run/minimax/h3-max/text-to-video

Invia un job asincrono e restituisce 202 con l’ID della generazione. Interroga GET /api/v1/generations/{id} o specifica webhook_url. Consulta il ciclo di vita dei job.

Parametri di input

NomeTipoDescrizioneEffetto sul prezzo
promptobbligatoriostringDescrivi l’inquadratura: soggetto, azione, movimento della camera, illuminazione e stile.No
aspect_ratiostring (enum)Formato del fotogramma in output.
Valori: 16:9 · 9:16 · 1:1 · 4:3 · 3:4 · 21:9
Predefinito: 16:9
Sì
resolutionstring (enum)Risoluzione dell’output. Le risoluzioni più alte costano di più al secondo.
Valori: 480P · 768P
Predefinito: 768P
Sì
durationintegerDurata della clip generata in secondi (5–15 s). Paghi al secondo.
Intervallo: 5–15s
Predefinito: 6
Sì
seedintegerUsa lo stesso seed e le stesse impostazioni per riprodurre un risultato. Lascia vuoto per un valore casuale.No
enable_safety_checkerbooleanSe impostato su true, il controllo di sicurezza è attivo. I contenuti vietati dalla nostra Politica di utilizzo accettabile restano bloccati in ogni caso.
Predefinito: true
No
webhook_urlstringa (URL)Facoltativo. Inviamo con POST la generazione completata a questo indirizzo, firmandola con il segreto del webhook. WebhookNo

Richiesta

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/minimax/h3-max/text-to-video`, {
  method: "POST",
  headers,
  body: JSON.stringify({
    "prompt": "Un colibrì resta sospeso davanti a un fiore rosso, le ali immobili in una lama di luce, documentario naturalistico",
    "aspect_ratio": "16:9",
    "resolution": "768P",
    "duration": 6
  }),
}).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.video.url : job.error);

Risposta

{
  "id": "gen_8c2QmX1nq0k4",
  "object": "generation",
  "model": "minimax/h3-max",
  "endpoint": "minimax/h3-max/text-to-video",
  "mode": "text-to-video",
  "status": "queued",
  "input": {
    "prompt": "Un colibrì resta sospeso davanti a un fiore rosso, le ali immobili in una lama di luce, documentario naturalistico",
    "aspect_ratio": "16:9",
    "resolution": "768P",
    "duration": 6
  },
  "output": null,
  "error": null,
  "cost": {
    "amount_usd": 0.2255,
    "currency": "usd",
    "estimated": true,
    "official_usd": null,
    "list_price_source": "official",
    "list_price_label": "Official",
    "saved_usd": null
  },
  "source": "api",
  "started_at": null,
  "completed_at": null,
  "urls": {
    "get": "https://cheapergen.com/api/v1/generations/gen_8c2QmX1nq0k4",
    "cancel": "https://cheapergen.com/api/v1/generations/gen_8c2QmX1nq0k4/cancel"
  },
  "created_at": "2026-10-15T09:21:04Z"
}

API MiniMax H3 Max Da immagine a video

POST/api/v1/run/minimax/h3-max/image-to-video

Invia un job asincrono e restituisce 202 con l’ID della generazione. Interroga GET /api/v1/generations/{id} o specifica webhook_url. Consulta il ciclo di vita dei job.

Parametri di input

NomeTipoDescrizioneEffetto sul prezzo
promptobbligatoriostringDescrivi l’inquadratura: soggetto, azione, movimento della camera, illuminazione e stile.No
image_urlobbligatoriostring (URL)Immagine usata come fotogramma iniziale. JPG/PNG/WebP, URL o caricamento.No
end_image_urlstring (URL)Fotogramma conclusivo facoltativo: il modello anima la transizione tra i due.No
resolutionstring (enum)Risoluzione dell’output. Le risoluzioni più alte costano di più al secondo.
Valori: 480P · 768P
Predefinito: 768P
Sì
durationintegerDurata della clip generata in secondi (5–15 s). Paghi al secondo.
Intervallo: 5–15s
Predefinito: 6
Sì
seedintegerUsa lo stesso seed e le stesse impostazioni per riprodurre un risultato. Lascia vuoto per un valore casuale.No
enable_safety_checkerbooleanSe impostato su true, il controllo di sicurezza è attivo. I contenuti vietati dalla nostra Politica di utilizzo accettabile restano bloccati in ogni caso.
Predefinito: true
No
webhook_urlstringa (URL)Facoltativo. Inviamo con POST la generazione completata a questo indirizzo, firmandola con il segreto del webhook. WebhookNo

Richiesta

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/minimax/h3-max/image-to-video`, {
  method: "POST",
  headers,
  body: JSON.stringify({
    "prompt": "Il poster prende vita: cadono coriandoli e il titolo si illumina",
    "image_url": "https://cdn.cheapergen.com/samples/portrait.jpg",
    "resolution": "768P",
    "duration": 6
  }),
}).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.video.url : job.error);

Risposta

{
  "id": "gen_8c2QmX1nq0k4",
  "object": "generation",
  "model": "minimax/h3-max",
  "endpoint": "minimax/h3-max/image-to-video",
  "mode": "image-to-video",
  "status": "queued",
  "input": {
    "prompt": "Il poster prende vita: cadono coriandoli e il titolo si illumina",
    "image_url": "https://cdn.cheapergen.com/samples/portrait.jpg",
    "resolution": "768P",
    "duration": 6
  },
  "output": null,
  "error": null,
  "cost": {
    "amount_usd": 0.2255,
    "currency": "usd",
    "estimated": true,
    "official_usd": null,
    "list_price_source": "official",
    "list_price_label": "Official",
    "saved_usd": null
  },
  "source": "api",
  "started_at": null,
  "completed_at": null,
  "urls": {
    "get": "https://cheapergen.com/api/v1/generations/gen_8c2QmX1nq0k4",
    "cancel": "https://cheapergen.com/api/v1/generations/gen_8c2QmX1nq0k4/cancel"
  },
  "created_at": "2026-10-15T09:21:04Z"
}

Ottieni il risultato

Le generazioni sono asincrone. Continua a interrogare finché il campo status non vale succeeded, failed o canceled; oppure specifica webhook_url al momento dell’invio. Le generazioni non riuscite vengono rimborsate automaticamente.

curl https://cheapergen.com/api/v1/generations/gen_8c2QmX1nq0k4 \
  -H "Authorization: Bearer $CHEAPERGEN_API_KEY"

Altro: ciclo di vita dei job · i webhook · errori

prezzi di MiniMax H3 Max

Paga al secondo di video man mano che le usi, senza abbonamento (piani mensili sono facoltativi). Le generazioni non riuscite vengono rimborsate automaticamente.

FasciaPrezzo ufficialeCheaperGen
480P
al secondo
$0,05/s$0,0396/s
768P
al secondo
$0,08/s$0,06/s
  • Prezzo ufficiale: Prezzo di listino dell’API internazionale MiniMax, platform.minimax.io ($0.05 / s a 480P, $0.08 / s a 768P). Prezzi verificati il 18 ottobre 2026.