Kling API на JavaScript и Node.js: пример

Рабочая схема Kling API для JavaScript и Node.js: POST-запрос, task_id, проверка статуса, обработка HTTP-ошибок и безопасное хранение ключа.

Серверная интеграция на JavaScript

Постоянный API-ключ нельзя помещать в клиентский JavaScript. Безопасная схема: браузер отправляет данные вашему backend, backend проверяет пользователя и параметры, затем обращается к NexusAPI с ключом из переменной окружения. Современный Node.js поддерживает fetch без дополнительной библиотеки.

const response = await fetch("https://nexusapi.dev/generate", {
  method: "POST",
  headers: {
    Authorization: "Bearer " + process.env.NEXUS_API_KEY,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({params: {
    model_name: "kling-v3",
    prompt: "A cinematic camera move",
    duration: 5
  }})
});
if (!response.ok) throw new Error(await response.text());
const { task_id } = await response.json();

Сохраните task_id, затем запрашивайте GET /tasks/{task_id}. Fetch не выбрасывает исключение только из-за HTTP-кода, поэтому response.ok нужно проверять и при создании, и при polling. Статус completed означает готовый result, failed — завершение с ошибкой.

Webhook и надёжность

Для фоновой задачи передайте webhook_url, принимайте POST на HTTPS endpoint и связывайте событие со своей записью по task_id. Делайте обработчик идемпотентным, отвечайте быстро и предусмотрите резервную проверку статуса. Не копируйте параметры между версиями Kling: набор полей необходимо сверять с OpenAPI.