Summarizer: summarizeStreaming() method

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The summarizeStreaming() method of the Summarizer interface generates a new summary as a ReadableStream.

Syntax

js
summarizeStreaming(input)
summarizeStreaming(input, options)

Parameters

input

A string representing the text to be summarized.

options Optional

An object specifying configuration options for the summarizeStreaming() operation. Possible values include:

context

A string describing the context the input text is being used in, which helps the Summarizer generate a more suitable summary.

signal

An AbortSignal object instance, which allows the summarizeStreaming() operation to be aborted via the associated AbortController.

Return value

A ReadableStream containing the generated summary.

Exceptions

InvalidStateError DOMException

Thrown if the current Document is not active.

NotAllowedError DOMException

Thrown if usage of the Summarizer API is blocked by a summarizer Permissions-Policy.

NotReadableError DOMException

Thrown if the output summary was filtered by the user agent, for example because it was detected to be harmful, inaccurate, or nonsensical.

NotSupportedError DOMException

Thrown if the provided context is not in language the Summarizer supports.

QuotaExceededError DOMException

Thrown if the summarize operation exceeds the available inputQuota.

UnknownError DOMException

Thrown if the summarizeStreaming() call failed for any other reason, or a reason the user agent did not wish to disclose.

Examples

Basic summarizeStreaming() usage

js
const summarizer = await Summarizer.create({
  sharedContext:
    "A general summary to help a user decide if the text is worth reading",
  type: "tl;dr",
  length: "short",
});

const stream = summarizer.summarizeStreaming(myTextString);
let summary = "";

for await (const chunk of stream) {
  summary += chunk;
}

console.log("Stream complete");
summaryOutput.textContent = summary;

Specifications

Specification
Writing Assistance APIs
# dom-summarizer-summarizestreaming

Browser compatibility

See also