Seedance 2.5 is live — 30-second cinematic video with native audio & real-person references
Guide d'intégration et de tarification de l'API Kling
2026/09/03

Guide d'intégration et de tarification de l'API Kling

Comparez les tarifs actuels de l'API Kling, choisissez Kling 3.0 ou Turbo, et implémentez la génération vidéo, l'interrogation, les tentatives et le stockage.

Le prix actuel de reAPI pour une requête vidéo texte vers vidéo Kling API de cinq secondes commence à 385 crédits (0,385 $) avec kling-3-0, mode: "std", et le son désactivé. La route Kling 3.0 complète gère également l'animation d'image première et dernière, l'audio natif, les invites multi-plans structurées, les éléments réutilisables, et la sortie jusqu'à 4K. Kling 3.0 Turbo utilise une surface de requête plus petite, mais son nom n'implique pas qu'il s'agisse de l'option la moins chère : une requête Turbo 720p de cinq secondes coûte actuellement 0,630 $.[1][3]

Ce guide couvre le contrat de passerelle reAPI du premier POST au scrutin et au stockage de fichiers. Il montre aussi où l'API officielle Kling diffère, afin que les champs et les prix d'une surface n'aboutissent pas accidentellement dans une requête pour l'autre.

TL;DR

  • Pour le brouillon texte vers vidéo le moins cher du tableau actuel, utilisez kling-3-0 avec mode: "std", sound: false et une durée explicite.
  • Utilisez kling-3-0 quand vous avez besoin d'audio natif, d'images premières et dernières, d'un contrôle multi-plan structuré, d'éléments ou de 4K. N'utilisez kling-3-0-turbo que si son flux texte/image-première plus simple est ce que vous entendez évaluer.
  • Soumettez chaque tâche vidéo Kling de reAPI à POST /api/v1/videos/generations. Sauvegardez l'id retourné, puis scrutez GET /api/v1/tasks/{id} jusqu'à ce que le statut soit completed ou failed.
  • Le scrutin ne consomme pas de crédits. Un cadence de deux à trois secondes est suffisant ; les réponses de tâche en vol sont mises en cache pendant cinq secondes.[6]
  • Lisez usage.credits sur la tâche terminale. La plupart des fournisseurs, des dépassements de délai, et les défaillances de persistance sont remboursés, mais certaines défaillances de sécurité post-génération peuvent conserver un frais.[6]
  • Copiez une vidéo complétée dans un stockage que vous contrôlez. Le contrat de tâche ne promet pas une rétention CDN indéfinie.

Quel modèle d'API Kling devriez-vous utiliser ?

Commencez par l'entrée que vous avez et le contrôle dont vous avez besoin. Motion Control n'est pas un substitut moins cher à la génération texte vers vidéo, et Turbo n'est pas simplement une version à prix inférieur du modèle complet.

ID de modèle reAPIChamps de requête obligatoiresCe que la route exposePremier usage judicieux
kling-3-0Invite, ou invites de plans structurésT2V ; I2V image première/dernière ; audio natif ; jusqu'à cinq plans structurés ; éléments ; 720p, 1080p, ou 4KLa plupart des nouvelles intégrations Kling
kling-3-0-turboInvite ou une URL d'image premièreT2V et I2V image première ; 720p ou 1080p ; filigrane optionnelUn test Turbo intentionnellement simple
kling-v3-motion-controlprompt, image_url, video_url, character_orientation, et modeTransfert de mouvement en Standard ou ProTier Motion Control plus nouveau et plus coûteux
kling-v2-6-motion-controlprompt, image_url, video_url, character_orientation, et modeLa même forme de requête que v3Validation Motion Control à moindre coût

Le guide Kling décrit la famille VIDEO 3.0 plus large comme supportant une sortie de trois à quinze secondes, texte vers vidéo, image vers vidéo, images de début et de fin, audio natif, narratifs multi-plans, et références d'éléments.[8] Les champs acceptés dépendent toujours de la surface API. Sur reAPI, les champs du modèle complet sont documentés sous kling-3-0, tandis que Turbo a un schéma différent sous kling-3-0-turbo.

Motion Control mérite son propre flux de travail car la vidéo motrice fournit le mouvement et la durée facturable. Le guide API Kling Motion Control existant couvre l'orientation, la préparation du flux source, et la dérive d'identité en détail.

Tarification de l'API Kling au 3 septembre 2026

reAPI facture les routes Kling publiques par seconde et règle la requête en crédits entiers. Un crédit vaut 0,001 $. Les tarifs complets et Turbo ci-dessous ont été vérifiés par rapport à des charges utiles valides dans l'estimateur en direct le 3 septembre 2026 ; vérifiez les pages de modèle liées à nouveau avant un grand lot car les tarifs peuvent changer.[1][3]

Tarifs Kling 3.0 et Kling 3.0 Turbo

Modèle et tierAudioTarif par seconde5 secondes10 secondes15 secondes
kling-3-0 Standard (std)Désactivé0,077 $0,385 $0,770 $1,155 $
kling-3-0 Standard (std)Activé0,110 $0,550 $1,100 $1,650 $
kling-3-0 Pro (pro)Désactivé0,099 $0,495 $0,990 $1,485 $
kling-3-0 Pro (pro)Activé0,1485 $0,743 $1,485 $2,228 $
kling-3-0 4K (4K)Désactivé ou activé0,3685 $1,843 $3,685 $5,528 $
kling-3-0-turbo 720pNon exposé0,12584 $0,630 $1,259 $1,888 $
kling-3-0-turbo 1080pNon exposé0,15752 $0,788 $1,576 $2,363 $

Les totaux en dollars reflètent un règlement en crédits entiers. Par exemple, cinq secondes de Kling 3.0 Pro avec le son sont calculées comme :

ceil(0,1485 $ × 5 secondes × 1 000 crédits par dollar)
= ceil(742,5)
= 743 crédits
= 0,743 $

L'arrondi se produit une fois pour la requête, pas une fois pour chaque seconde. En mode multi-plans structurés, remplacez la durée de haut niveau par la somme des durées de plans. Un plan de quatre secondes suivi d'un plan de cinq secondes facture donc neuf secondes.[2]

Tarifs Motion Control

Ces tarifs sont inclus pour qu'un sélectionneur de modèle puisse comparer tous les quatre ID publics. La durée de la vidéo source interrogée sur le serveur est arrondie ; il n'y a pas de champ duration fourni par le client. Les tarifs par seconde proviennent de la page de modèle Motion Control en direct. Les totaux à 5, 10 et 15 secondes sont des scénarios calculés pour les vidéos sources dont les longueurs facturables interrogées équivalent à ces valeurs, et non des charges utiles avec un paramètre duration.[11]

ModèleModeTarif par seconde facturable5 secondes10 secondes15 secondes
kling-v2-6-motion-controlStandard0,062832 $0,315 $0,629 $0,943 $
kling-v2-6-motion-controlPro0,100584 $0,503 $1,006 $1,509 $
kling-v3-motion-controlStandard0,113168 $0,566 $1,132 $1,698 $
kling-v3-motion-controlPro0,150832 $0,755 $1,509 $2,263 $

Une source de quinze secondes est valide uniquement quand Motion Control utilise character_orientation: "video" ; l'orientation d'image limite le clip moteur à dix secondes.[5]

Ne mélangez pas les crédits reAPI, les tarifs d'API officiels et les crédits client

Trois nombres portant le mot « crédit » peuvent décrire des produits différents. Ils ne sont pas interchangeables :

  1. Crédits reAPI règlent les requêtes de passerelle à 0,001 $ chacun. Ce sont les crédits utilisés dans les tableaux ci-dessus.
  2. Tarification officielle de l'API développeur Kling appartient à l'API directe de Kuaishou, qui a son propre compte, contrat de requête, et barème tarifaire.
  3. Crédits client Kling appartiennent à l'abonnement web ou app. Ils ne tarifient pas un appel reAPI ou une requête d'API développeur officielle.

Pour le contexte, le barème tarifaire officiel du développeur le 3 septembre listait Kling 3.0 complet à 0,084 $/0,126 $ par seconde pour 720p sans/avec audio natif, 0,112 $/0,168 $ pour 1080p, et 0,420 $ pour 4K de toute façon.[10] Ce sont les prix de liste d'API directe officielle, pas la preuve que Kuaishou a changé ses tarifs pour correspondre à la table reAPI. Lors de la budgétisation d'une intégration reAPI, utilisez le tarif reAPI attaché à l'ID de modèle exact et à la charge utile que vous soumettrez.

Avant d'envoyer la première requête

Vous avez besoin d'une clé reAPI et, pour image vers vidéo, de médias hébergés à une URL publique. Créez une clé sur la page des clés API, gardez-la dans une variable d'environnement, et ne la mettez jamais dans le code du navigateur ou un dépôt public.

Les quatre ID Kling publics utilisent le même point de terminaison de soumission :

POST https://reapi.ai/api/v1/videos/generations
GET  https://reapi.ai/api/v1/tasks/{id}

Les requêtes utilisent un jeton Bearer :

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Les schémas sont stricts. Un champ copié depuis une autre API vidéo est rejeté plutôt que silencieusement ignoré. Les entrées médias doivent être des URLs HTTP(S) publiques ; les chemins locaux, les URIs data: et les chaînes base64 ne sont pas acceptés par ces routes.

Champs acceptés par kling-3-0

ChampObligatoire ?Valeur acceptée
modelOuiValeur exacte kling-3-0
promptSingle-shot uniquement1–2 500 caractères
image_urlsNonJusqu'à deux URLs HTTP(S) publiques : image première, puis image dernière optionnelle
soundNonBooléen ; défaut false
durationNonEntier de 3 à 15 ; défaut 5
aspect_ratioNon16:9, 9:16, ou 1:1 ; défaut 16:9
modeNonstd, pro, ou 4K ; défaut pro
multi_shotsNonBooléen ; défaut false
multi_promptQuand multi_shots est trueUn à cinq objets { prompt, duration }
kling_elementsNonJusqu'à trois objets d'élément, chacun avec deux à quatre URLs de référence

L'objet est strict, y compris ses objets de plan imbriqués et ses objets d'élément. Faites attention à l'orthographe exacte : le champ audio est sound, le champ tier est mode, et l'enum 4K utilise un capital K.[2]

Flux de travail asynchrone de l'API Kling de la soumission d'une requête par la sauvegarde de l'ID de tâche, l'interrogation d'un état terminal, et le stockage de la vidéo

Envoyez une requête texte vers vidéo Kling de cinq secondes

Ceci est la combinaison cinq secondes la moins coûteuse de texte vers vidéo dans le tableau Kling actuel de reAPI : résolution Standard et pas d'audio.

curl https://reapi.ai/api/v1/videos/generations \
  -H "Authorization: Bearer $REAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling-3-0",
    "prompt": "A ceramic coffee cup on a wooden table as morning light moves slowly across the surface, locked camera, natural shadows",
    "duration": 5,
    "aspect_ratio": "16:9",
    "mode": "std",
    "sound": false
  }'

Une soumission réussie retourne un enregistrement de tâche, pas la vidéo :

{
  "id": "task_018f5a3a1b6e7d9f8c2b4d6e8f0a2c4e",
  "model": "kling-3-0",
  "status": "processing",
  "created_at": 1735000000
}

Le champ à sauvegarder est id. N'écrivez pas de code client attendant un task_id ; cette clé n'est pas dans l'enveloppe de réponse montrée par l'API.

Scrutez en toute sécurité, gérez l'échec et stockez la vidéo

Le flux complet est une POST suivi de requêtes GET bornées. La POST reste en dehors de la boucle de scrutin. Ce détail a de l'importance : répéter une soumission peut créer et facturer une autre vidéo, tandis que répéter une recherche de tâche ne fait que lire la tâche existante.

Le script suivant s'exécute sur Node.js 20 ou plus récent. Il soumet une requête de cinq secondes, scrute toutes les trois secondes, fait des tentatives de lectures sûres de tâche après des limites de débit ou des erreurs de passerelle temporaires, et écrit la vidéo MP4 complétée dans le répertoire courant.

import { writeFile } from 'node:fs/promises';

const API_BASE = 'https://reapi.ai/api/v1';
const API_KEY = process.env.REAPI_API_KEY;
const OUTPUT_FILE = 'kling-output.mp4';

if (!API_KEY) throw new Error('Set REAPI_API_KEY before running this script');

const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));

async function parseResponse(response) {
  const body = await response.json().catch(() => ({}));
  if (response.ok) return body;

  const code = body.error?.code ?? response.status;
  const message = body.error?.message ?? response.statusText;
  const error = new Error(`${code}: ${message}`);
  error.status = response.status;
  error.retryAfter = response.headers.get('retry-after');
  throw error;
}

async function submitVideo() {
  const response = await fetch(`${API_BASE}/videos/generations`, {
    method: 'POST',
    headers: {
      Authorization: `Bearer ${API_KEY}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      model: 'kling-3-0',
      prompt:
        'A ceramic coffee cup on a wooden table as morning light moves slowly across the surface, locked camera, natural shadows',
      duration: 5,
      aspect_ratio: '16:9',
      mode: 'std',
      sound: false,
    }),
  });

  // Intentionally no automatic POST retry: an uncertain response could hide
  // a task that was already created.
  return parseResponse(response);
}

async function readTask(taskId) {
  for (let attempt = 0; attempt < 5; attempt += 1) {
    try {
      const response = await fetch(`${API_BASE}/tasks/${taskId}`, {
        headers: { Authorization: `Bearer ${API_KEY}` },
      });
      return await parseResponse(response);
    } catch (error) {
      const retryable =
        error.status === 429 || [502, 503, 504].includes(error.status);
      if (!retryable || attempt === 4) throw error;

      const retryAfterSeconds = Number(error.retryAfter);
      const delay =
        error.status === 429 && Number.isFinite(retryAfterSeconds)
          ? retryAfterSeconds * 1000
          : Math.min(2 ** attempt * 1000, 8000);
      await sleep(delay);
    }
  }
}

async function waitForVideo(taskId) {
  const deadline = Date.now() + 30 * 60 * 1000;

  while (Date.now() < deadline) {
    await sleep(3000);
    const task = await readTask(taskId);

    if (task.status === 'completed') {
      const videoUrl = task.output?.video_urls?.[0];
      if (!videoUrl) throw new Error('Task completed without a video URL');
      return { videoUrl, credits: task.usage?.credits };
    }

    if (task.status === 'failed') {
      const code = task.error?.code ?? 'UNKNOWN_TASK_ERROR';
      const message = task.error?.message ?? 'Video generation failed';
      const credits = task.usage?.credits ?? 'unknown';
      throw new Error(`${code}: ${message}; settled credits: ${credits}`);
    }
  }

  throw new Error(`Client polling deadline reached for ${taskId}`);
}

async function downloadVideo(url) {
  const response = await fetch(url);
  if (!response.ok) {
    throw new Error(`Video download failed with HTTP ${response.status}`);
  }
  await writeFile(OUTPUT_FILE, Buffer.from(await response.arrayBuffer()));
}

const submitted = await submitVideo();
console.log(`Submitted ${submitted.id}`);

const result = await waitForVideo(submitted.id);
await downloadVideo(result.videoUrl);
console.log(`Saved ${OUTPUT_FILE}; settled credits: ${result.credits}`);

Le délai de trente minutes appartient à cet exemple, pas au contrat API. Les tâches vidéo peuvent prendre des minutes, et le plafond de temps mural documenté du travailleur est de 48 heures. Choisissez un délai d'expiration client qui correspond à votre produit, persistez l'ID de tâche, et laissez un travailleur d'arrière-plan reprendre le scrutin plutôt que de garder une requête web ouverte.[6]

Écrire le MP4 localement prouve que le téléchargement fonctionne. En production, diffusez la réponse en S3, R2 ou un autre stockage d'objets et sauvegardez votre URL de stockage durable à côté de l'ID de tâche. Faites cela dès que la tâche est complétée ; le contrat de tâche de reAPI ne garantit pas une rétention permanente pour les URLs générées.

Transformez une image—ou des images premières et dernières—en vidéo

La route Kling 3.0 complète bascule vers image vers vidéo quand image_urls est présent. La première URL est l'image d'ouverture ; la deuxième URL optionnelle est l'image de fin. Une invite single-shot reste obligatoire.

{
  "model": "kling-3-0",
  "prompt": "The camera moves gently toward the bottle while the reflected light travels from left to right; preserve the label and bottle shape",
  "image_urls": [
    "https://assets.example.com/bottle-start.png",
    "https://assets.example.com/bottle-end.png"
  ],
  "duration": 6,
  "mode": "pro",
  "sound": false
}

Les images source déterminent les proportions de sortie, donc aspect_ratio n'est pas nécessaire ici. Gardez les deux images au même rapport d'aspect et utilisez une image de fin qui représente une continuation plausible. Un changement drastique d'angle de caméra, d'éclairage et de géométrie d'objet donne au modèle plusieurs conflits à résoudre à la fois.

Si vous n'avez besoin que d'une image première, passez une URL. Pour une comparaison plus large de flux de travail d'image première, image première et dernière, et image de référence, consultez le guide API image vers vidéo.

Ajoutez l'audio natif et la direction multi-plans structurée

kling-3-0 expose l'audio avec le booléen sound. Son mode multi-plans structurés remplace l'invite de haut niveau unique par jusqu'à cinq objets invite-et-durée. Chaque invite de plan accepte 1–500 caractères et chaque durée de plan doit être un entier de 1 à 12 secondes.[2]

{
  "model": "kling-3-0",
  "aspect_ratio": "16:9",
  "mode": "pro",
  "sound": true,
  "multi_shots": true,
  "multi_prompt": [
    {
      "prompt": "Close shot of a barista placing a cup on the counter; soft room tone and a quiet ceramic tap",
      "duration": 4
    },
    {
      "prompt": "Cut to a wider view as morning customers enter; the room ambience continues naturally",
      "duration": 5
    }
  ]
}

Cette requête facture neuf secondes Pro-with-audio : 1 337 crédits, ou 1,337 $ au tarif vérifié pour cet article. Il n'est pas nécessaire d'ajouter une duration de haut niveau pour le calcul des prix ; les deux durées de plans constituent le total facturable.

Pour un sujet ou un produit récurrent, la même route complète accepte jusqu'à trois kling_elements. Chaque élément a besoin d'un nom et de deux à quatre URLs d'image de référence, et peut inclure une description. Référez-y vous dans l'invite comme @name :

{
  "model": "kling-3-0",
  "prompt": "Slow orbit around @bluebottle on a stone pedestal; keep the cap, glass shape, and front label unchanged",
  "kling_elements": [
    {
      "name": "bluebottle",
      "description": "A rectangular cobalt-blue perfume bottle",
      "element_input_urls": [
        "https://assets.example.com/bottle-front.png",
        "https://assets.example.com/bottle-side.png"
      ]
    }
  ],
  "duration": 5,
  "mode": "pro"
}

Un élément est une preuve de référence, pas une garantie que chaque petit label ou surface survivra au mouvement. Examinez l'identité, le texte, la géométrie et les réflexions séparément avant d'approuver un lot.

Quand Kling 3.0 Turbo est la bonne requête

Le schéma reAPI de Turbo est intentionnellement plus petit. Il prend en charge la génération texte vers vidéo ou l'animation à partir d'une image première, avec une résolution 720p/1080p et un filigrane optionnel. Il n'expose pas la sound, l'image dernière, multi_prompt, kling_elements, ou les champs 4K complets de Kling 3.0.[4]

ChampObligatoire ?Valeur acceptée
modelOuiValeur exacte kling-3-0-turbo
promptT2V uniquement1–3 072 caractères ; optionnel quand une image première est présente
first_frame_imageNonUne URL d'image HTTP(S) publique
resolutionNon720p ou 1080p ; défaut 720p
durationNonEntier de 3 à 15 ; défaut 5
aspect_ratioNon16:9, 9:16, ou 1:1 ; T2V uniquement
watermarkNonBooléen

Une requête d'image première ressemble à ceci :

curl https://reapi.ai/api/v1/videos/generations \
  -H "Authorization: Bearer $REAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling-3-0-turbo",
    "prompt": "The dog looks toward the sea as wind moves its fur; gentle handheld camera",
    "first_frame_image": "https://assets.example.com/dog-on-beach.jpg",
    "resolution": "720p",
    "duration": 5,
    "watermark": false
  }'

Avec first_frame_image présent, l'image source fixe le rapport d'aspect et la prompt peut être omise. Pour texte vers vidéo, l'invite est obligatoire et aspect_ratio accepte 16:9, 9:16, ou 1:1.

Le mot « Turbo » est facile à mal lire. À la date vérifiée, Turbo 720p coûtait 0,12584 $ par seconde, plus que Kling 3.0 Standard complet sans audio à 0,077 $ et Pro sans audio à 0,099 $. Cet article ne présente pas un contrôle latence ou une comparaison de qualité de sortie, donc choisissez Turbo pour sa route et les résultats observés sur votre charge de travail—pas parce que l'étiquette implique un gain de prix.

Gérez la validation, les tentatives et les remboursements sans tâches en double

Séparez les erreurs qui nécessitent une requête modifiée des erreurs qui justifient une autre lecture. Le catalogue d'erreurs utilise un code numérique à l'intérieur d'une enveloppe standard { error: { code, message, request_id } }.[7]

RésultatCe qu'il signifie généralementAction suivante
HTTP 400, code 2xxxxChamp manquant, enum/plage invalide, champ supplémentaire, ou modèle non supportéCorriger la charge utile ; ne pas réessayer inchangé
HTTP 401/403Identifiant manquant, invalide, révoqué, ou non autoriséCorriger l'authentification ou l'origine
HTTP 402, code 30001Crédits insuffisantsAjouter des crédits ou réduire la requête
HTTP 404, code 40001 lors du scrutinLa tâche est manquante ou appartient à un autre utilisateurVérifier l'ID de tâche et la clé API
HTTP 429, code 50001Limite de débit dépasséeAttendre Retry-After, puis réessayer
HTTP 502/503/504Problème de disponibilité de service ou en amont temporaireRéessayer les lectures sûres avec backoff
HTTP 200 avec status: "failed"La tâche asynchrone a atteint un état terminal d'échecInspecter error.code, error.message, et usage.credits

Les défaillances de tâche apparaissent à l'intérieur d'une réponse d'interrogation HTTP 200 réussie. Les codes dans la plage 8xxxx distinguent la défaillance de soumission, le délai d'attente de flux de travail, la défaillance en amont terminale, les URLs de sortie manquantes, la défaillance de persistance, la défaillance de politique de contenu, l'entrée en amont invalide, et l'annulation.[7]

Le comportement de remboursement est également spécifique. Les défaillances de fournisseur, les dépassements de délai, et les défaillances de persistance sont remboursés quand le flux de travail se termine. Certaines politiques de sécurité post-génération spécifiques au modèle peuvent cacher une sortie tout en conservant un frais. Sur une tâche échouée, usage.credits: 0 signifie que la réservation a été entièrement remboursée ; une valeur positive est le montant conservé.[6]

Ne relancez pas automatiquement la POST quand le réseau échoue après l'envoi du corps. La surface reAPI documentée n'expose pas une clé d'idempotence pour cette soumission, donc la tâche d'origine peut déjà exister. Enregistrez le request_id, l'ID de tâche si disponible, l'horodatage, le modèle, et le hash de charge utile. Les relances automatiques sont mieux réservées pour les GETs de tâche et d'autres lectures idempotentes.

Les champs de l'API Kling officielle ne sont pas des champs reAPI

La famille de modèles est la même, mais les deux API sont des produits distincts. Les exemples Kling officiel utilisent https://api-singapore.klingai.com, des chemins spécifiques à modalité comme /text-to-video/kling-3.0, settings et options imbriqués, et une requête de tâche à /tasks?task_ids=....[9] Sa requête image vers vidéo utilise un chemin distinct et une structure contents.[12] reAPI utilise un chemin de génération vidéo unique et choisit la route à partir du champ model plat.

SouciAPI développeur Kling officiellePasserelle reAPI
IdentifiantClé API Kling officielleClé API reAPI
Chemin de soumissionChemins de modèle T2V/I2V séparésPOST /api/v1/videos/generations
Forme de requêtesettings, options imbriqués, et I2V contentsJSON plat spécifique au modèle
Recherche de tâche/tasks?task_ids=.../api/v1/tasks/{id}
Vocabulaire de succèssubmitted, processing, succeeded, failedprocessing, completed, failed
Source de prixBarème tarifaire officiel KlingPage de modèle reAPI et estimateur

Cette distinction explique plusieurs défaillances d'intégration courantes. Une charge utile officielle contenant settings.resolution n'est pas valide sur le schéma reAPI strict. Un client reAPI attendant succeeded attendra aussi au-delà d'un résultat completed valide. Choisissez un contrat, utilisez sa clé, ses champs, ses noms de statut, et sa source de prix d'un bout à l'autre.

Liste de contrôle de production

Avant d'envoyer un flux de travail Kling dans une file d'attente, vérifiez les éléments qui sont difficiles à reconstruire plus tard :

  • Épinglez l'ID de modèle public exact et enregistrez la date de vérification des prix.
  • Validez la durée, la résolution ou le mode, le rapport d'aspect, l'audio et le nombre de plans avant la soumission.
  • Rendez chaque URL de média récupérable sans cookies, sessions de navigateur expirantes, ou accès au réseau local.
  • Persistez l'id retourné avant que le scrutin commence.
  • Scrutez dans un travail d'arrière-plan avec un délai d'expiration, et respectez Retry-After.
  • Traitez completed et failed comme terminaux ; enregistrez usage.credits pour les deux.
  • Copiez les fichiers complétés vers un stockage durable et sauvegardez l'URL de stockage final.
  • Enregistrez le request_id pour les erreurs de soumission et l'erreur de tâche imbriquée pour les défaillances asynchrones.
  • Examinez séparément l'acceptation visuelle de l'achèvement API. Un clip complété peut toujours être inutilisable pour votre produit.

Ce dernier point change les vraies unités d'économie. Le tableau API donne le coût par requête complétée. Un budget de production doit utiliser dépense totale réglée / clips acceptés, y compris les générations complétées qui échouent votre examen visuel. Pour une explication plus large des unités de facturation mixtes et du coût d'acceptation, voir Tarification API de génération vidéo IA.

FAQ

Combien coûte l'API Kling pour cinq secondes ?

Sur reAPI le 3 septembre 2026, la génération texte vers vidéo de cinq secondes variait de 0,385 $ pour Kling 3.0 Standard complet sans son à 1,843 $ pour 4K. Turbo coûtait 0,630 $ à 720p et 0,788 $ à 1080p. Vérifiez la page de modèle en direct avant de soumettre car les tarifs peuvent changer.

Kling 3.0 Turbo est-il moins cher que Kling 3.0 ?

Non dans le tableau reAPI vérifié. Turbo 720p était 0,12584 $ par seconde, tandis que Kling 3.0 Standard complet sans son était 0,077 $ et Pro sans son était 0,099 $. Choisissez Turbo pour sa route spécifique et son comportement de sortie, pas son nom.

L'API Kling peut-elle animer une image première et une image dernière ?

Oui, avec kling-3-0 sur reAPI. Mettez l'image première à l'index 0 et l'image dernière optionnelle à l'index 1 de image_urls. Turbo accepte uniquement une first_frame_image.

Kling 3.0 génère-t-il l'audio ?

La route kling-3-0 complète expose l'audio natif via sound: true. Les requêtes audio Standard et Pro ont des tarifs actuels par seconde plus élevés que leurs versions silencieuses. Le schéma reAPI Turbo n'expose pas un champ sound.

À quelle fréquence dois-je scruter une tâche vidéo Kling ?

Toutes les deux à trois secondes est un cadence de départ raisonnable. Scruter plus vite ne fait pas que la génération se termine plus tôt, et les réponses de tâche en vol sont mises en cache pendant cinq secondes. Utilisez un travailleur d'arrière-plan et un délai d'expiration côté client.

Les tâches API Kling échouées sont-elles facturées ?

Lisez la tâche terminale plutôt que de supposer. Sur reAPI, failed avec usage.credits: 0 signifie que la réservation a été entièrement remboursée. Une valeur positive signifie qu'un frais documenté spécifique au modèle a été conservé, ce qui peut survenir après certaines décisions de sécurité post-génération.

Puis-je envoyer des images base64 à ces routes reAPI Kling ?

Non. La passerelle accepte les URLs de médias HTTP(S) publiques pour ces champs. Téléchargez d'abord l'image vers le stockage, puis soumettez son URL.

Conclusion

Un plan fiable de tarification et d'intégration de l'API Kling commence par la route exacte, pas le nom de la famille de modèles. Pour une nouvelle génération texte vers vidéo, Kling 3.0 Standard complet sans son est le point de départ le moins coûteux actuel ; ajoutez Pro, l'audio, les plans structurés, les images dernières, ou 4K uniquement quand la sortie l'exige. Soumettez une fois, sauvegardez l'id de réponse, scrutez la tâche avec un délai d'expiration, inspectez les crédits réglés, et déplacez chaque vidéo acceptée vers un stockage que vous contrôlez.

La page de modèle Kling 3.0 et la page de modèle Turbo portent les tarifs reAPI actuels. Gardez l'API Tasks et la référence des erreurs à côté du code pendant que vous câblez la première file d'attente de production.

Références

  1. Page de modèle et de tarification en direct Kling 3.0 de reAPI, consultée le 3 septembre 2026.
  2. Documentation API Kling 3.0 de reAPI, consultée le 3 septembre 2026.
  3. Page de modèle et de tarification en direct Kling 3.0 Turbo de reAPI, consultée le 3 septembre 2026.
  4. Documentation API Kling 3.0 Turbo de reAPI, consultée le 3 septembre 2026.
  5. Documentation API Kling Motion Control de reAPI, consultée le 3 septembre 2026.
  6. Référence API Tasks reAPI, consultée le 3 septembre 2026.
  7. Référence des codes d'erreur reAPI, consultée le 3 septembre 2026.
  8. Guide d'utilisateur du modèle Kling VIDEO 3.0, Kuaishou, 6 février 2026 ; consultée le 3 septembre 2026.
  9. Plateforme ouverte Kling : API texte vers vidéo VIDEO 3.0, consultée le 3 septembre 2026.
  10. Tarification génération vidéo de la plateforme ouverte Kling, consultée le 3 septembre 2026.
  11. Page de modèle et de tarification en direct Kling Motion Control de reAPI, consultée le 3 septembre 2026.
  12. Plateforme ouverte Kling : API image vers vidéo VIDEO 3.0, consultée le 3 septembre 2026.