Also experienceing problems when setting an animated imgsrc via the API. When logged in as a GM via firefox the animations do not play. When logged into chrome as a player via a seperate roll20 account on the same computer the animations will automatically play. When logged into both firefox and google using the seperate account as a player on a different computer on the same network the animations do not play. None of my players report being able to see the animations. This might indicate some sort of networking based weirdness. Either way this problem could be temporarily dealt with by adding API access to the pause/play commands for animated graphic objects. My script is similar to Fek's but instead i create a new token with the following function. function _createGif(currentPageID, top, left, width, height, img, name) { var animation =createObj('graphic', {name: name, pageid: currentPageID, left: left, top: top, layer: "objects", imgsrc: img, width: width + 10, height: height + 10, controlledby: '', playersedit_name: false, playersedit_bar1: false, playersedit_bar2: false, playersedit_bar3: false, playersedit_aura1: false, playersedit_aura2: false } ); toFront(animation) return animation } The top, left, width, height parameters are taken from some target token and the name param is a reference for the type of animation so the graphic can be deleted later. An example of the url sent to the img param is shown below. img = "<a href="https://s3.amazonaws.com/files.d20.io/images/105558454/2uqHxIykTpIK_PUEaRbRRg/thumb.webm?1582453018" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/105558454/2uqHxIykTpIK_PUEaRbRRg/thumb.webm?1582453018</a>" Hopefully this can be resolved soon as it really opens up some cool possibilities for triggered effects on dice rolls such as animated attacks and 1 click drop spell animations. Fek said: Setting an animated imgsrc via the API causes the animation to pause / not loop. Synopsis When a token is given an animated imgsrc via obj.set("imgsrc", url), the token accurately changes to the new image, but the animation does not play. This happens whether the original imgsrc was static or animated. In order to make the animation play correctly, you can right-click the token and toggle Animation > Stop Looping, then Animation > Loop. This seems to kick the animation back into gear. Unfortunately, there is no way (that I know of) to do this automatically, via API or otherwise. Reproduction 1) Create a new API script, with the following code: setAnimatedImgSrc.js 2) Make sure that the "newImgSrc" variable on line 12 leads to a valid animated asset in your library. 3) Select any token on the map, then type "!animate" into chat to trigger the script. Expected Outcome The token's image is changed to the animated image specified in the script, which begins to automatically play and, ideally, loop. Actual Outcome The token's image is changed to the animated image specified in the script, but it is stuck/paused on the first frame. Although the token's context menu suggests that it should be playing and looping, it will not do either unless you manually toggle Animation > Stop Looping, then Animation > Loop.