files/en-us/web/api/createmonitor/index.md
{{APIRef("Summarizer API")}}{{SeeCompatTable}}{{securecontext_header}}
The CreateMonitor interface provides information on the progress of an AI model download or some fine-tuning data for the model.
It can be used via:
{{InheritanceDiagram}}
Inherits events from its parent, {{DOMxRef("EventTarget")}}.
CreateMonitor usageA CreateMonitor instance is used via the monitor property of an AI API's create() method ({{domxref("Summarizer.create_static", "Summarizer.create()")}} is shown below). The monitor property takes a callback function as a value, the argument of which is the CreateMonitor instance. You can then monitor download progress via the instance's {{domxref("CreateMonitor/downloadprogress_event", "downloadprogress")}} event.
const summarizer = await Summarizer.create({
sharedContext:
"A general summary to help a user decide if the text is worth reading",
monitor(monitor) {
monitor.addEventListener("downloadprogress", (e) => {
console.log(`download progress: ${e.loaded}/${e.total}`);
});
},
});
const summary = await summarizer.summarize(myText);
{{Specifications}}
{{Compat}}