You should use the Animator of the Humanoid to play the animation instead of the humanoid itself.
local Viewport = game:GetService("RunService").RenderStepped:Connect(function()
if ClonedCharacter then ClonedCharacter:Destroy() end
ClonedCharacter = Character:Clone()
if ClonedCharacter:FindFirstChild("WorldModel") == nil then
local WorldModel = Instance.new("WorldModel")
WorldModel.Parent = ClonedCharacter
local Animation = Instance.new("Animation")
Animation.Parent = script
Animation.AnimationId = "rbxassetid://12593637910"
local Dance = ClonedCharacter.Humanoid.Animator:LoadAnimation(Animation)
Dance:Play()
end
local HumanoidRootPart = ClonedCharacter:WaitForChild("HumanoidRootPart")
Camera.CFrame = CFrame.new(HumanoidRootPart.Position + (HumanoidRootPart.CFrame.LookVector * 5),HumanoidRootPart.Position)
ClonedCharacter.Parent = ViewportFrame
end)