Client for the Kagi Universal Summarizer API.
npm install kagi-summarizer-client
import { create } from 'kagi-summarizer-client';
const summarizer = create({
// Kagi Summarizer API token
token: '...'
});
const urlResult = await summarizer.summarizeUrl('https://page.com/article');
console.log(urlResult.data.output);
const textResult = await summarizer.summarizeText('foo bar baz');
console.log(textResult.data.output);
Create a summarizer client with the given settings.
type Settings = {
// Kagi Summarizer API token from https://kagi.com/settings?p=api
token: string,
};
Returns: summarizer
Summarize content on the web.
Your Kagi account will be charged $0.03 to $1.00 per invocation of this function depending on content length and the engine selected.
Returns: Promise<SummarizerResponse>
type SummarizerResponse = {
meta: {
id: string,
node: string,
ms: number,
// API balance remaining (USD)
api_balance: number,
},
data: {
// The summary
output: string,
tokens: number,
}
};
Summarize text.
Your Kagi account will be charged $0.03 to $1.00 per invocation of this function depending on content length and the engine selected.
Returns: Promise<SummarizerResponse>
(See typedef above)
summarizeUrl
and summarizeText
both accept an optional Options
object as
the 2nd parameter.
Specify the summarization engine.
summarizer.summarizeUrl('https://page.com/article', {
engine: 'cecil' // 'agnes', 'daphne', 'muriel'
});
Specify the summary type.
summarizer.summarizeUrl('https://page.com/article', {
summaryType: 'summary', // 'takeaway'
});
import { languages } from 'kagi-summarizer-client';
summarizer.summarizeUrl('https://page.com/article', {
targetLanguage: languages.Portuguese
});
Whether to allow cached requests and responses.
summarizer.summarizeUrl('https://page.com/article', {
cache: true
});
- Fetch API (Node 18 or later)
MIT