SDK Node.js

Le SDK officiel reprend toute l’API avec des types TypeScript. Il gère les nouvelles tentatives, les limites de débit et les clés d’idempotence pour vous.

Installation

Le paquet @vidoum/node fonctionne avec Node.js 18 ou plus, Deno, Bun et les environnements « edge ». Il est fourni avec vos accès ; demandez-le à notre équipe. Il contient votre clé secrète : il refuse de démarrer dans un navigateur.

Node.js · serveur
import { Vidoum } from "@vidoum/node";

const vidoum = new Vidoum({
  apiKey: process.env.VIDOUM_API_KEY,
  // timeoutMs: 30000, maxRetries: 3   (valeurs par défaut)
});

Méthodes

MéthodeRoute
organization.get()GET /v1/organizations/me
uploads.create(input)POST /v1/uploads
uploads.uploadFile(file, meta)Envoi complet depuis votre serveur (unique ou en plusieurs parties), puis /complete
uploads.get(id) · complete(id, parts?) · cancel(id) · signParts(id, numbers)/v1/uploads/{id}…
videos.list(params) · listAll(params)GET /v1/videos (listAll parcourt toutes les pages)
videos.get(id) · update(id, changes) · delete(id) · retry(id)/v1/videos/{id}…
videos.waitUntilReady(id)Interroge jusqu’à ready, failed ou cancelled
captions.upload(videoId, language, vtt) · delete(…)/v1/videos/{id}/captions
playback.createToken(input) · revoke(sessionId)/v1/playback-tokens, /v1/playback-sessions/{id}/revoke
webhooks.list() · create() · get() · update() · delete() · rotateSecret() · test() · listDeliveries() · redeliver()/v1/webhooks…
usage.get(params) · video(id, params)/v1/usage, /v1/usage/videos/{id}
apiKeys.rotate(graceSeconds?)POST /v1/api-keys/rotate
Vidoum.verifyWebhook(rawBody, header, secret)Vérifie la signature et renvoie l’événement

Erreurs

Toute erreur de l’API lève une VidoumError avec status, code, message et requestId.

Node.js
import { Vidoum, VidoumError } from "@vidoum/node";

try {
  await vidoum.videos.retry(videoId);
} catch (error) {
  if (error instanceof VidoumError && error.code === "invalid_state") {
    // la vidéo n’est pas en échec : rien à relancer
  } else throw error;
}

Exemples complets

Des exemples d’intégration Next.js et Laravel (envoi, webhooks, page de cours) sont disponibles. Pour les autres langages (Python, Java, .NET, PHP sans framework), l’API s’utilise directement en HTTP : la référence décrit chaque route, et la vérification des webhooks tient en quelques lignes (voir Webhooks).