web api static method
Summarizer: availability() static method
Limited availabilitySecure context
The availability() static method of the Summarizer interface returns an enumerated value that indicates whether the browser AI model supports (or will support) a given Summarizer configuration.
Syntax
Summarizer.availability()
Summarizer.availability(options)
Parameters
optionsOptional- : An options object specifying a possible configuration for a
Summarizer. Possible values include:expectedInputLanguages- : An array of strings equal to BCP 47 language tags specifying the expected languages of the input text. Defaults to
["en"].
- : An array of strings equal to BCP 47 language tags specifying the expected languages of the input text. Defaults to
expectedContextLanguages- : An array of strings equal to BCP 47 language tags specifying the expected languages of any provided context strings (either the
sharedContextpassed to theSummarizer, or acontextspecified during asummarize()orsummarizeStreaming()call). Defaults to["en"].
- : An array of strings equal to BCP 47 language tags specifying the expected languages of any provided context strings (either the
format- : An enumerated value specifying the text
formatyou want summaries returned in. Defaults tomarkdown.
- : An enumerated value specifying the text
length- : An enumerated value specifying the relative
lengthfor the generated summaries. Defaults toshort.
- : An enumerated value specifying the relative
outputLanguage- : A string equal to a BCP 47 language tag specifying the expected language of summaries generated by the
Summarizer. Defaults toen.
- : A string equal to a BCP 47 language tag specifying the expected language of summaries generated by the
type- : An enumerated value specifying the
typeof summary you want thisSummarizerto generate. Defaults tokey-points.
- : An enumerated value specifying the
- : An options object specifying a possible configuration for a
Return value
A Promise that fulfills with an enumerated value indicating whether support is available (or will be available) for a given Summarizer configuration, or null if support could not be determined.
Possible values include:
available- : The browser supports the given configuration and can be used immediately.
downloadable- : The browser supports the given configuration, but it first needs to download an AI model, or some fine-tuning data for the model.
downloading- : The browser supports the given configuration, but it needs to finish an ongoing download before it can proceed.
unavailable- : The browser does not support the given configuration, or the Summarizer API is blocked by a
summarizerPermissions-Policy.
- : The browser does not support the given configuration, or the Summarizer API is blocked by a
Exceptions
NotSupportedErrorDOMException- : Thrown if the provided
contextis not in language theSummarizersupports.
- : Thrown if the provided
UnknownErrorDOMException- : Thrown if the
measureInputUsage()call failed for any other reason, or a reason the user agent did not wish to disclose.
- : Thrown if the
Examples
Basic availability() usage
async function getSummarizer() {
const options = {
sharedContext: "This is a scientific article",
type: "key-points",
format: "markdown",
length: "medium",
};
const availability = await Summarizer.availability(options);
if (availability === "unavailable") {
// The Summarizer API isn't usable
return undefined;
} else if (availability === "available") {
// The Summarizer API can be used immediately
return Summarizer.create(options);
}
// The Summarizer API can be used after the model is downloaded
const summarizer = await Summarizer.create(options);
summarizer.addEventListener("downloadprogress", (e) => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
return summarizer;
}
Detecting language support
async function langSupport(lang) {
const availability = await Summarizer.availability({
expectedInputLanguages: [lang],
});
return availability;
}
langSupport("en-US");
langSupport("fr");
langSupport("zh-CN");
Specifications
SpecificationsStandards references are available on the canonical MDN page.
Browser compatibility
Browser compatibilityCompatibility data is available on the canonical MDN page.
See also
- Using the Summarizer API
- Web AI demos on chrome.dev