Captures APIs are now available!

Im probably messing something up here but in this little demo the image is visible in the capture despite being disabled before the capture resulting in a white background

local captureService = game:GetService("CaptureService")
local AssetService = game:GetService("AssetService")
local Runservice = game:GetService("RunService")
local Canvas = Instance.new("EditableImage")

Canvas.Parent = script.Parent.ImageLabel
Canvas.Size = script.Parent.ImageLabel.AbsoluteSize

--stored because vec2 is costly to build for reasons
local v2z = Vector2.zero

--Before capture disable canvas
captureService.CaptureBegan:Connect(function()
	script.Parent.ImageLabel.Visible = false
end)

--After capture enable canvas for viewing
captureService.CaptureEnded:Connect(function()
	script.Parent.ImageLabel.Visible = true
end)

--every second take a screenshot and render it to the canvas
while task.wait(1) do
	captureService:CaptureScreenshot(function(capture)
		Canvas:DrawImage(v2z, AssetService:CreateEditableImageAsync(capture), Enum.ImageCombineType.Overwrite)
	end)
end


(ignore the stretching I know how to fix it, im just trying to solve this first)