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.
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ść.