Zaloguj się

Przepis: masowo z CSV

Uruchom wsad z pliku CSV. Użyj stałego Idempotency-Key per wiersz, aby ponowne uruchomienie nie naliczyło podwójnie.

typescript
import { ClipFoundry } from '@clipfoundry/sdk';
import { parse } from 'csv-parse/sync';
import { readFileSync } from 'node:fs';

const cf = new ClipFoundry({ apiKey: process.env.CLIPFOUNDRY_API_KEY });
const rows = parse(readFileSync('scripts.csv'), { columns: true });

for (const [i, row] of rows.entries()) {
  const job = await cf.jobs.create(
    { script: row.script, style: row.style ?? 'cinematic', voiceId: row.voice },
    { idempotencyKey: 'bulk-' + i + '-' + row.id },
  );
  console.log(row.id, '→', job.jobId);
}

Zbieraj wyniki przez polling lub webhooki; kolejka sama obsłuży współbieżność.