```typescript title="WASM - Token Reduction Configuration" import init, { extractBytes } from "kreuzberg-wasm"; await init(); const config = { tokenReduction: { mode: "aggressive", preserveImportantWords: true, }, }; const bytes = new Uint8Array(buffer); const result = await extractBytes(bytes, "application/pdf", config); console.log(`Original content: ${result.content.length} characters`); console.log(`Preview: ${result.content.substring(0, 100)}...`); // Token reduction modes: // - "aggressive": maximum reduction // - "balanced": moderate reduction // - "conservative": minimal reduction ``` ```typescript title="WASM - Token Reduction Modes" import init, { extractBytes } from "kreuzberg-wasm"; await init(); interface TokenReductionResult { mode: string; originalSize: number; reducedSize: number; reductionRatio: number; preview: string; } async function compareTokenReductionModes(bytes: Uint8Array): Promise { const modes = ["conservative", "balanced", "aggressive"]; const results: TokenReductionResult[] = []; for (const mode of modes) { const config = { tokenReduction: { mode, preserveImportantWords: true, }, }; const result = await extractBytes(bytes, "application/pdf", config); const originalSize = result.content.length; const reducedSize = result.content.split(/\s+/).length; results.push({ mode, originalSize, reducedSize, reductionRatio: 1 - reducedSize / originalSize, preview: result.content.substring(0, 80), }); } return results; } const bytes = new Uint8Array(buffer); const modeComparison = await compareTokenReductionModes(bytes); console.log("Token Reduction Mode Comparison:"); modeComparison.forEach((r) => { console.log(` ${r.mode}:`); console.log(` Original: ${r.originalSize} chars`); console.log(` Reduction: ${(r.reductionRatio * 100).toFixed(1)}%`); }); ```