I assume you have a scene, with a script attached, and a sprite as a child node of that scene.
So you can hide it in ready, wait some time and then put it visible again.
func _ready():
randomize()
$Sprite.visible = false
var t = rand_range(5,20)
yield(get_tree().create_timer(t),"timeout")
$Sprite.visible = true
This code, first runs randomize
to initialize a seed for random generation. Then hides the sprite, after that, it generates a rando number between 5 and 20 (for the limits you asked, you can change them). After that, it creates a timer, with the timeout generated randomly befor that, and wait until it times out.
After that, it puts the sprite visible again