Add Video Account Manage Video Basic Operations Collections Channel Immersive view Search Video Share Video Label & Edit Label & Edit Cut Clips Player Embedded Player Player Integrations Embedded Collections Example Pages APIs FAQ
Dark mode Light mode
Dark mode Light mode

Learn how to use muse.ai

Explore muse.ai features and learn how to use this video hosting platform to its full potential.

Add videos

Uploading video

To get videos on muse.ai, you need to upload them first.
You can do this by dragging-and-dropping any video into the muse.ai grid, or simply click on the upload button on the top-right corner.

Drag and drop

  • 1Click and hold the file you want to upload
  • 2Drag it onto the muse.ai grid and drop it

Upload button

  • 1On the top right, click on the Upload button
  • 2Select your file in the file explorer window and confirm

Account

Change username

  • 1At the top-right of the page, click on the icon.
  • 2From the dropdown, click on Settings
  • 3Edit the first line, under NAME

Change channel URL (muse.ai/username)

  • 1At the top-right of the page, click on the icon.
  • 2From the dropdown, click on Settings.
  • 3Edit the second line, under USERNAME, where it says muse.ai/yourusername.

Change password

  • 1At the top-right of the page, click on the icon.
  • 2From the dropdown, click on Settings.
  • 3In the PASSWORD row, on the right, click on Change.
  • 4Type in your current password, as well as the new one, in their respective inputs.
  • 5Click Save

Reset password

  • 1On muse.ai, click on Login.
  • 2In login modal, click on Forgot your password?
  • 3Enter the email of the account.
  • 4Click on Continue
  • 5In your inbox, you will recieve a email. In it, click on Reset password.
  • 6Type in your new password.
  • 7Click on Reset password.

Delete your account

  • 1At the top-right of the page, click on the icon.
  • 2From the dropdown, click on Settings.
  • 3On the sidebar, click on Plan.
  • 4Click on Delete.
  • 5Click on Request deletion.
  • 6In your inbox, you will recieve a email to confirm deletion. In it, click on Permanently delete account.

Manage your video

Organize and manage all your video using our state-of-the-art tools.

Basic operations

Easily rename, download, change visibility, share and delete videos using the muse.ai interface.

Rename a video

  • 1Select it
  • 2In the bottom-bar, click on Rename
  • 3Type in new name
  • 4Click Save

Download a video

  • 1Select it
  • 2In the bottom-bar, click on Download

Change visibility of a video

  • 1Select it
  • 2In the bottom-bar, click on Change visibility
  • 3Select the desired option
Private: only the owner can view. Hidden: not visible on muse.ai. Unlisted: anyone with the link can view. Password: anyone with the password can view. Public: anyone can view.

Delete a video

  • 1Select it
  • 2In the bottom-bar, click on Delete
  • 3Confirm by clicking on Delete video

Add subtitles

  • 1In the video page, click on the icon.
  • 2Click on Manage subtitles.
  • 3Click on Upload subtitles and select the desired file.
  • 3Rename the subtitles to the correct language.

Change cover/thumbnail

  • 1In the video page, click on the icon.
  • 2Click on Change cover.
  • 3Upload your own image, or type in the moment when the frame you want to use as cover is shown (e.g. 0:20).
  • 3Click Set cover.

Collections

Collections are groups of videos you can create and share with anyone.

Create a collection

  • 1Go to Collections by clicking on Collections in the sidebar
  • 2In the top-right, click on New collection
  • 3Type in new collection name
  • 4Select desired visibility (default is Private)
  • 5Click Create

Add videos to a collection

  • 1Go to Videos by clicking on Videos in the sidebar
  • 3Select the videos you want to add
  • 4In the bottom-bar, click on Add to collection
  • 5Click on the collection you want to add the videos to

Change collection visibility

  • 1Go to Collections by clicking on Collections in the sidebar
  • 2Click on the Collection you want to make public or private
  • 3Inside the collection, on the top-left next to the title, click on or icon
  • 4Select the desired visibility

Manage videos in a collection

Use the Basic Operations.

Channel

Each muse.ai account has a customizable Channel, which gathers all its public videos and collections. Your channel acts as a hub for your public content, and is a great way to share with your audience. Private, Unlisted and Hidden videos will not show on the channel.

Go to your channel

  • 1When logged in, click on the icon to open the Account options dropdown.
  • 2Click on Channel

Change title / tagline / description

  • 1When in your Channel, click in Edit channel in the top-right.
  • 2Click and edit the text field you want to edit.
  • 3Click in Stop editing in the top-right.

Set featured video

  • 1When in your Channel, click in Edit channel in the top-right.
  • 2Click and edit the featured video, where it says Change featured video
  • 3Select the video you wish to set as featured, and click on Set as featured video in the bottom-right of the modal.
  • 4Click in Stop editing in the top-right.

Manage videos in a channel

Immersive view is designed for viewing purposes only, and does not include managment controls. To manage videos in a Channel, go to its corresponding Collection and use the Basic Operations.

Immersive view

Immersive view is an alternative design for your collections. You can use immersive view to showcase a Collection and its videos to people who don't have a muse.ai account, or simply to share a Collection in a stylish way.

See a Collection in immersive view

  • 1Go to Collections by clicking on Collections in the sidebar
  • 2Click on the Collection you want
  • 3In the top-right, click on Immersive view

Share a Collection in immersive view

  • 1Go to Collections by clicking on Collections in the sidebar
  • 2Click on the Collection you want
  • 3In the top-right, click on Immersive view
  • 3Copy the URL in the address bar. If the Collection isn't private, anyone with the link will be able to view the channel.

Manage videos in a channel

Immersive view is designed for viewing purposes only, and does not include managment controls. To manage videos in a Channel, go to its corresponding Collection and use the Basic Operations.

Share

Share a video

  • 1Select the video
  • 2In the bottom-bar, click on Share
  • 3If the video is Private, you'll need to change its visibility to Public or Unlisted
  • 3Click on Copy or select and copy the URL in the address box

Get embed link

  • 1Select the video
  • 2In the bottom-bar, click on Share
  • 3Click on icon
  • 4Click on Copy

Customize embedded player

  • 1Select the video
  • 2In the bottom-bar, click on Share
  • 3Click on icon
  • 4Click on Advanced embed options
  • 5Customize the player using the panel on the right-side
  • 6Click on Copy

Restrict embed to certain domains

  • 1Select the video
  • 2In the bottom-bar, click on Share
  • 3Click on icon
  • 4Click on Configure domain restrictions
  • 5Input your domains and press Add to add them to the list of approved domains
  • 6Click on Copy

Share link to video file

  • 1Select the video
  • 2In the bottom-bar, click on Share
  • 3Click on icon
  • 4Click on Copy for the file you want to share.

Edit, label and cut clips

Edit automatic transcriptions, label using intuitive interfaces, and cut clips to share with anyone.

Edit & Label

On muse.ai, you can label anything.

Speech

Edit transcript

  • 1Open the video you want to edit
  • 2In the panel on the right, go to the Speech tab
  • 3On the bottom-right, click on Edit
  • 4Click on the paragraph you want to edit, making it editable
  • 5Type in what you want
  • 6In the timeline under the video, move the handles to set the start and end times of the paragraph you have selected
  • 7Click Done
Click on to preview the segment you have selected Use , , and to switch between spectrogram, image, and sound timeline styles Use your mouse's scrollwheel or use pinch to zoom in and out on the timeline

Add paragraph to transcript

  • 1Open the video you want to edit
  • 2In the panel on the right, go to the Speech tab
  • 3On the bottom-right, click on Edit
  • 4Use the timeline below the video to navigate to where you want to add a new paragraph
  • 5Click Add
  • 6Type in what you want
  • 7In the timeline under the video, move the handles to set the start and end times of the new paragraph
  • 8Click Done
Click on to preview the segment you have selected Use , , and to switch between spectrogram, image, and sound timeline styles Use your mouse's scrollwheel or use pinch to zoom in and out on the timeline

People

Edit people

  • 1Open the video you want to edit
  • 2In the panel on the right, go to the People tab
  • 3Click on any person's name and type to rename it
  • 4Click Save
Found the same person multiple times? Give them the same name and they will be merged into one Hover over a picture and click on to remove that person from the list

Objects

Label objects

  • 1Open the video you want to edit
  • 2In the panel on the right, go to the Objects tab
  • 3On the bottom-right, click on Edit
  • 4Click-and-drag over the video to draw a box around the object you want to label
  • 5Give the object a name by clicking on the box header
  • 6In the timeline under the video, move the handles to set when the object comes in and out of view
  • 7Click Done
Click on to preview the segment you have selected Use , , and to switch between spectrogram, image, and sound timeline styles Use your mouse's scrollwheel or use pinch to zoom in and out on the timeline

Edit an existing object label

  • 1Open the video you want to edit
  • 2In the panel on the right, go to the Objects tab
  • 3On the bottom-right, click on Edit
  • 4In the panel on the right, click on the name of the object you want to edit to navigate to the next time it shows up
  • 5Rename the object by clicking on the box header or resize its bounding-box by dragging its corners
  • 6In the timeline under the video, move the handles to set when the object comes in and out of view
  • 7Click Done
Click on to preview the segment you have selected Use , , and to switch between spectrogram, image, and sound timeline styles Use your mouse's scrollwheel or use pinch to zoom in and out on the timeline

Text

Label text

  • 1Open the video you want to edit
  • 2In the panel on the right, go to the Text tab
  • 3On the bottom-right, click on Edit
  • 4Click-and-drag over the video to draw a box around the text you want to label
  • 5Give the text a name by clicking on the box header
  • 6In the timeline under the video, move the handles to set when the text comes in and out of view
  • 7Click Done
Click on to preview the segment you have selected Use , , and to switch between spectrogram, image, and sound timeline styles Use your mouse's scrollwheel or use pinch to zoom in and out on the timeline

Edit an existing text label

  • 1Open the video you want to edit
  • 2In the panel on the right, go to the Text tab
  • 3On the bottom-right, click on Edit
  • 4In the panel on the right, click on the preview of the text you want to edit to navigate to when it shows up
  • 5Rename the text by clicking on the box header or resize its bounding-box by dragging its corners
  • 6In the timeline under the video, move the handles to set when the text comes in and out of view
  • 7Click Done
Click on to preview the segment you have selected Use , , and to switch between spectrogram, image, and sound timeline styles Use your mouse's scrollwheel or use pinch to zoom in and out on the timeline

Actions

Label actions

  • 1Open the video you want to edit
  • 2In the panel on the right, go to the Actions tab
  • 3On the bottom-right, click on Edit
  • 4Click-and-drag over the video to draw a box around the action you want to label
  • 5Give the action a name by clicking on the box header
  • 6In the timeline under the video, move the handles to set when the action starts and when it ends
  • 7Click Done
Click on to preview the segment you have selected Use , , and to switch between spectrogram, image, and sound timeline styles Use your mouse's scrollwheel or use pinch to zoom in and out on the timeline

Edit an existing action label

  • 1Open the video you want to edit
  • 2In the panel on the right, go to the Actions tab
  • 3On the bottom-right, click on Edit
  • 4In the panel on the right, click on the name of the action you want to edit to navigate to the next time it shows up
  • 5Rename the action by clicking on the box header or resize its bounding-box by dragging its corners
  • 6In the timeline under the video, move the handles to set when the action starts and when it ends
  • 7Click Done
Click on to preview the segment you have selected Use , , and to switch between spectrogram, image, and sound timeline styles Use your mouse's scrollwheel or use pinch to zoom in and out on the timeline

Sounds

Label sounds

  • 1Open the video you want to edit
  • 2In the panel on the right, go to the Sounds tab
  • 3On the bottom-right, click on Edit
  • 4Click Add
  • 5Give the sound a name
  • 6In the timeline under the video, move the handles to set when the sound starts and when it ends
  • 7Click Done
Click on to preview the segment you have selected Use , , and to switch between spectrogram, image, and sound timeline styles Use your mouse's scrollwheel or use pinch to zoom in and out on the timeline

Edit an existing sound label

  • 1Open the video you want to edit
  • 2In the panel on the right, go to the Sounds tab
  • 3On the bottom-right, click on Edit
  • 4In the panel on the right, click on the name of the sound you want to edit to navigate to the next time it can he heard
  • 5On the bottom-left of the video, rename the sound by clicking on its label
  • 6In the timeline under the video, move the handles to set when the sound starts and when it ends
  • 7Click Done
Click on to preview the segment you have selected Use , , and to switch between spectrogram, image, and sound timeline styles Use your mouse's scrollwheel or use pinch to zoom in and out on the timeline

Cut clips

Save and share the best moments of any video by cutting clips of its highlights.

Cut a clip from a video

  • 1Open the video you want cut a clip from
  • 2Under the bottom-right of the video, click on
  • 3In the timeline under the video, move the handles to set the start and end times of the new clip
  • 4In the panel on the right, you can set the new clip's title, description and visibility
  • 5Click Save
Click on to preview the segment you have selected Use , , and to switch between spectrogram, image, and sound timeline styles Use your mouse's scrollwheel or use pinch to zoom in and out on the timeline

Player

Stream videos in 4K with DASH/HLS streaming, cast to any screen using Chromecast or Airplay, and search for anything inside your videos using the muse.ai HTML5 responsive video player.

Subtitles

  • 1Click on the icon at the bottom-right of the player.
  • 2Click on Subtitles and select the subtitles you want.
Selecting subtitles

Video playback quality

  • 1Click on the icon at the bottom-right of the player.
  • 2Click on Quality and select the resolution you want.
Selecting video quality

Video playback speed

  • 1Click on the icon at the bottom-right of the player.
  • 2Click on Speed and select the speed you want.
Playback speed

Chromecast / Airplay

  • 1Click on the or icon in the bottom-right of the player.
  • 2Select the device to which you want to cast.
  • Chromecast is only available on Chrome browsers, with a Chromecast device on the same WiFi network.
  • Airplay is only available on Apple devices, with an Airplay device on the same WiFi network.
Chromecast

Video chapters

  • 1Add chapters by typing the timestamps followed by chapter titles in the video description, one per line. For example:
    0:00 Intro
    3:05 Phase One
  • 2Place your cursor over the timeline to preview the chapter names.
  • 2Click on the timestamps to navigate to the beginning of each chapter.
Video chapters

Keyboard controls

[space] / k Play / Pause
l Skip 10 seconds
j Back 10 seconds
. Next frame
, Previous frame
Skip 5 seconds
Back 5 seconds
Volume up
Volume down
f Toggle fullscreen
s Focus search field

Embed our technology on your website

Bring muse.ai technology to your own websites by using our embedded player and search.

Player integrations

Embedding in Wordpress

Our standard embed codes work on Wordpress webpages. However, some Wordpress hosting services don't allow for custom scripts. To address these cases we also provide an option to embed your video in an iframe. You can toggle this option by checking the Use iframe checkbox in the embed modal.

  • 1Go to the Page or Post in which you want to embed the video.
  • 2Type / or click on the icon.
  • 3Select the Custom HTML block.
  • 4Paste your embed code.
In order to embed videos for free using Wordpress, we recommended to self-host, as many of Wordpress hosting options charge for this ability.

Embedding in Squarespace

The Squarespace free plan only allows for iframe embed codes, which you can get by checking the Use iframe checkbox in the embed modal. To use our standard embed codes, you will need to upgrade your Squarespace plan.

  • 1Go to the Page in which you want to embed the video.
  • 2Click on Edit.
  • 3Click on the icon at the top of each section.
  • 4Select the Code block.
  • 5Replace the placeholder content with your embed code.
  • 6Click Apply.

Embedding in Wix

  • 1Go to the Page in which you want to embed the video.
  • 2Click on the icon on the left.
  • 3In the pop-up menu, select Embed Custom Embeds Embed a Widget.
  • 3Click on Enter code, above the new block.
  • 5Replace the placeholder content with your embed code.
  • 6Paste your code and click Update.
  • 7Resize the block to your liking.

Embedded Player

Clean yet powerful embedded video player you can customize to your needs.

Demo

Simple usage

To embed our player on your website you only need two lines of code:

<div class="muse-video-player" data-video="y8zH87z" data-width="600"></div>
<script src="https://muse.ai/static/js/embed-player.min.js"></script>

Simply set the data-video value to your video ID, which you can find in the address bar of your video on muse.ai.

If you have more than one video on your page, you only need to include the <script> tag once. It's also a good practice to place it in the <head> section or at the bottom of the <body> section.

You can configure the player size by setting the data-width or data-height attributes. If neither of them is set the player will default to 640x360.

You can configure the following values:

data-videoVideo ID.
data-widthPlayer width. Can be provided as pixels (e.g. "560") or a relative value (e.g. "100%").
data-heightPlayer height. Can be provided as pixels (e.g. "560") or a relative value (e.g. "100%").
data-autoplaySet to "1" to play the video automaticaly.
data-loopSet to "1" to restart the video after it finishes.
data-startThe time at which the video should start playing.
data-resumeSet to "1" to seek back to the last viewing position when the video loads.
data-volumeSet volume to a value between 0 and 100.
data-consentSet to "1" to indicate the viewer has already given consent to view sensitive content.
data-shareSet to "1" to show a share icon in the player.
data-subtitlesEnable subtitles by default, set to "auto" to show automatically generated subtitles, or set to the name of uploaded subtitles.

Embedding on Wordpress, Squarespace, or Wix pages? See Player integrations.

Advanced usage

If you want more control over the player and its interactions with your website, you can use the JavaScript library. This allows you to programmatically create the player and access more of its functions.

To use the JavaScript library you will first of all need to include the following embedded player script (see "Simple usage"). Then, creating an instance of a player is easy:

<div id="your-container"></div>
<script src="https://muse.ai/static/js/embed-player.min.js"></script>
<script>
  const player = MusePlayer({
    container: '#your-container',
    video: 'y8zH87z',
    width: 400
  });
</script>

Using the player object you can perform basic operations on your video. For example, to pause the video, call player.pause().

MusePlayer parameters:
containerHTML element that will contain the player.
autoplaySet to true to play the video automatically.
loopSet to true ro restart the video after it finishes.
startTime at which the video should start playing.
resumeSet to true to seek back to the last viewing position when the video loads.
volumeSet volume to a value between 0 and 100.
widthDesired player width. Can be provided as an integer (in pixels) or a relative value as a string (e.g. '100%').
heightDesired player height. Can be provided as an integer (in pixels) or a relative value as a string (e.g. '100%').
titleSet to false to hide the title.
searchSet to false to hide the search functionality.
linksSet to false to disable links to muse.ai.
sizingSet to 'fill' to indicate that the player should fill the entire container's size and introduce black bars as necessary. Set to 'fit' to span the parent container while maintaining the player's aspect ratio. When using this value make sure that the container's parent has explicit width and height that don't depend on the player. If sizing is set, width and height will be ignored. Default: null.
logoSet to false to hide branding on the player.
styleSet to minimal for minimal player controls, and to no-controls to hide controls entirely.
consentSet to true to indicate the viewer has already given consent to view sensitive content.
linkedDataSet to true to enable Linked Data markup to help search engines find your videos.
shareSet to true to show a share icon in the player.
subtitlesEnable subtitles by default, set to 'auto' to show automatically generated subtitles, or set to the name of uploaded subtitles.
MusePlayer methods:
play()Play the video.
pause()Pause the video.
seek(time)Skip to the specified time.
on(event, listener)Set up a function that will be called when the specified event happens.
off(event, listener)Remove a previously set up event listener.
setVideo(video)Load the video into the player from the given video ID.
setVolume(volume)Set volume to a value between 0 and 100.
MusePlayer events:
playVideo is playing.
pauseVideo is paused.
endedVideo has ended.
metadataPlayer metadata (such as title, description, width, and height) is ready. The metadata object will be passed to the listener as the first argument.
timeupdateEvent fired when the current time of the player changes. The current time will be passed to the listener as the first argument.

For example:

player.on('metadata', metadata => {
  document.getElementById('video-title').innerText = metadata.title;
  document.getElementById('video-description').innerText = metadata.description;
});

Video Pages

As an alternative to embedding videos on your website, you can simply download a ready-made fully responsive HTML file and use it on your own website as a standalone page.

Centered video

Simple page that has the video centered both vertically and horizontally.

Example
<div class="container">
  <div id="video-player"></div>
</div>
<script src="https://muse.ai/static/js/embed-player.min.js"></script>
<script>
  const player = MusePlayer({
    container: document.getElementById('video-player'),
    video: 'c41FczZ',
    autoplay: true,
    loop: true,
    volume: 0,
    sizing: 'fit',
  });
</script>

Video + title + description

Simple page that has the video, the video title, and video description, horizontally centered.

Example
<div class="container">
  <h1 id="video-title"></h1>
  <div id="video-player"></div>
  <h2 id="video-description"></h2>
</div>
<script src="https://muse.ai/static/js/embed-player.min.js"></script>
<script>
  const player = MusePlayer({
    container: '#video-player',
    video: 'c41FczZ',
    autoplay: true,
    loop: true,
    volume: 0,
    width: 'parent',
  });
  player.on('metadata', metadata => {
    document.getElementById('video-title').innerText = metadata.title
    document.getElementById('video-description').innerText = metadata.description
  });
</script>

Video + interactive transcript

Simple two-pane layout with the video and its interactive auto-generated transcipt.

Example
<div id="container-video" class="container">
  <h1 id="video-title"></h1>
  <div id="video-player"></div>
  <h2 id="video-description" onclick="expandDescription()">
</div>
<div class="container-transcript">
  <div class="header-transcript">
    <h2>Transcript</h2>
  </div>
  <div id="transcript-list">
    <table><tbody id="speech-container"></tbody></table>
  </div>
</div>

<script src="https://muse.ai/static/js/embed-player.min.js"></script>
<script>
  // Load player with video VBdrD8b into #video-player.
  const svid = 'VBdrD8v';
  const player = MusePlayer({
    container: '#video-player',
    video: svid,
    width: 'parent',
    showTitle: false,
  });
  // Load video's title and description.
  player.on('metadata', metadata => {
    document.getElementById('video-title').innerText = metadata.title
    if (metadata.description.length > 0) {
      document.getElementById('video-description').classList.add('show');
      document.getElementById('video-description').innerText = metadata.description
    }
    document.getElementById('video-description').innerText = metadata.description
  });

  // Highlight the current word.
  player.on('timeupdate', function(time) {
    document.querySelectorAll('.word').forEach(function(word) {
      if (Number.parseFloat(word.dataset.start) <= time && Number.parseFloat(word.dataset.end) > time) {
        word.classList.add('current');
        word.scrollIntoView({behavior: "smooth", block: "center", inline: "end"});
      } else if (word.classList.contains('current')) {
        word.classList.remove('current');
      }
    });
  });

  // Fetch words and place them insde container-transcript as phrases.
  fetch(
    'https://muse.ai/api/files/i/speech/' + svid, {mode: 'cors'}
  )
  .then(function(response) {
    return response.json();
  })
  .then(function(words) {
    // Sort words by time.
    words.sort((a, b) => a[0] - b[0]);

    // Group into phrases.
    let phrases = [];
    let wordPrev;
    words.forEach(word => {
      let paragraphStart = word[2] == '\n' || wordPrev && word[0] - wordPrev[1] > 1.2;
      if (phrases.length == 0 || paragraphStart && wordPrev[2].trim()) {
        phrases.push([]);
      }
      if (word[2].trim()) {
        phrases[phrases.length - 1].push(word);
      }
      wordPrev = word;
    });

    // Draw phrases.
    let list = document.getElementById('speech-container');
    phrases.forEach(phrase => {
      if (!phrase.length) {
        return;
      }

      let time = phrase[0][0];
      let timeLen = time > 3600 ? 8 : (time > 600 ? 5 : 4);
      let timeStart = new Date(time * 1000).toISOString().substr(19 - timeLen, timeLen);
      let wordsHTML = '';
      phrase.forEach(word => {
        const punctJoin = ';:.,'.includes(word[2]);
        const classes = 'word' + (punctJoin ? ' punct-join' : '') + ('-–'.includes(word[2]) ? ' punct-space' : '');
        const space = punctJoin ? '' : ' ';
        wordsHTML += `${space}<span class="${classes}" data-start="${word[0]}" data-end="${word[1]}">${word[2]}</span>`;
      });
      list.insertAdjacentHTML('beforeend', `
      <tr>
        <td class="phrase-time">${timeStart}</td>
        <td class="phrase">${wordsHTML}</td>
      </tr>
      `);
    });
  });

  // On word click/touch, seek video to where the word is spoken.
  document.addEventListener('click', e => {
    if (e.target.classList.contains('word')) {
      player.seek(Number.parseFloat(e.target.dataset.start));
      player.play();
    }
  });

  function expandDescription() {
    var videoDescription = document.getElementById('video-description');
    videoDescription.classList.toggle('open');
  }

  const onScroll = () => {
    const containerVideo = document.getElementById('container-video')
    const scroll = document.documentElement.scrollTop
    if (scroll > 70) {
      containerVideo.classList.add('scrolled');
    } else {
      containerVideo.classList.remove('scrolled');
    }
  }

  window.addEventListener('scroll', onScroll);
</script>

Video + interactive chapters

Simple two-pane layout designed for users who want to provide clickable chapters for navigating a video.

Example
<div class="container">
  <div id="video-player"></div>
</div>
<div class="container-chapters">
  <div class="header-chapters">
    <h2>Moments</h2>
  </div>
  <div id="container-list">
    <ol>
      <li data-start="0.0">Moment One     (0s)</li>
      <li data-start="2.5">Moment Two   (2.5s)</li>
      <li data-start="9.7">Moment three (9.7s)</li>
    </ol>
  </div>
</div>
<script src="https://muse.ai/static/js/embed-player.min.js"></script>
<script>
  const player = MusePlayer({
    container: '#video-player',
    video: 'c41FczZ',
    autoplay: true,
    loop: true,
    volume: 0,
    width: 'parent',
  });
  document.querySelectorAll('#container-list li').forEach(li => {
    li.addEventListener('click', e => {
      player.seek(Number.parseFloat(e.currentTarget.dataset.start));
    });
  });
</script>

Video list

Group of videos with one player, created by listing their ID's. The videos in a Video Group do not need to be in the same Collection.

Example
<div id="muse-video-player" data-width="900"></div>
<div id="vgrid"></div>
<script src="https://muse.ai/static/js/embed-player.min.js"></script>
<script>
  const player = MusePlayer({
    container: '#muse-video-player',
    video: 'k3f9BVE',
    sizing: 'fill',
  });
  function MuseList(vlist)
  {
    vlist.map(x => {
      fetch(`https://muse.ai/api/files/info/${x}`)
        .then(resp => resp.json())
          .then(jdata => {
            var i = document.createElement( "img" );
            i.src = `https://cdn.muse.ai/w/${jdata.fid}/thumbnails/00099.jpg`;
            i.onclick = function () {
              if (player.options.video === jdata.svid){
                player.play();
              }  else {
                player.setVideo(jdata.svid);
              }
            };
            document.getElementById('vgrid').appendChild(i);
          })
    })
  }
  var vlist = ['k3f9BVE', 'cZF7m3c', 'SwhktX7', 'Q7X4bvq'];  
  MuseList(vlist);
</script>

FAQ

Frequently asked questions

Is there a bandwidth limit?

We do not limit bandwidth, but operate according to a fair use policy. If a customer consumes so much bandwidth that it starts affecting their own and everyone else's viewers, we will get in touch to negotiate a better solution.

Is there a file-size limit?

No. File size is only limited by the storage allowance of your plan.

Can I choose who can see my videos?

Yes, you set the visibility status of your videos and collections. You can choose from Private, Unlisted, and Public. Using our embedded player you can also restrict plays to certain domains. See how to change visibility status.

What type of content is allowed?

We allow for any type of lawful content, provided it does not contain direct threats directed at any individual or group of people. Offensive content may be flagged as such, and users must consent to watching it.

Can I cancel anytime?

Yes, you can cancel anytime. Simply go to "Settings / Plan / Delete", and follow the steps.