Oh, okay, I remember what's going on here. So with the new changes to the 3D Dice, we wait until we actually "render" the message to your window to show the 3D Dice rolling. With an API command, the original message with the roll is never actually rendered. The PowerCards script does use that data to later display dice results, but that's a new message (one created with sendChat()) and it's not a "real" roll, it's just HTML that looks like a roll was made. So we have message A, which is "!power --name|Test --Roll|[[1d20]]". That message is calculated client-side (the rolls are made, etc.), but it's never shown since it's an API command. The calculated message (including dice results) are then sent to the API server. PowerCards script then makes a new message, message B, which contains HTML that looks like an inline roll but is really not an "actual" roll, and then puts the results from the roll from message A in there. Since message A is never shown to anyone, and since message B doesn't actually have any rolls in it, you don't get the 3D Dice shown on your screen. I can probably make it so that the 3D Dice can show to the person who is making the original roll via the API command, but I won't be able to have it show to everyone. Because when do the original roll, in message A, we don't know on our end who should be able to see it (the API script determines that later). Which is the bug we fixed (where 3D Dice were showing to everyone when they shouldn't have been). So with the current way it works, our options are either: 1) Make it so 3D Dice show to everyone regardless of who should actually see the final result, or 2) Only show 3D Dice to people who should see the final result, but not be able to show them for API scripts since those have their own way of determining who the message goes to (an !api command may end up as a whisper, a regular message, etc.) I'll give it some more thought and see if there's a way to better support it. But at least now hopefully you know what's going on :-).