Change Material texture with code

Anyway, your code works fine for me. Any extra infomation like scene structure, image url or Godot version?

image

extends Node

func _ready() -> void:
	var image_url = "https://forum.godotengine.org/user_avatar/forum.godotengine.org/dctewi/288/30284_2.png"
	var image = await load_image_from_url(image_url)
	set_texture(image, "Node3D")

func load_image_from_url(image_url: String) -> ImageTexture:
	var error = $HTTPRequest.request(image_url)
	if error != OK:
		print("Fehler bei der Anfrage: ", error)
		return null
	
	var result = await $HTTPRequest.request_completed
	var response_code = result[1]
	var body = result[3]
	
	if response_code == 200:
		var image = Image.new()
		var load_error = image.load_png_from_buffer(body)
		if load_error == OK:
			print("Image loaded. Width: ", image.get_width(), " Height: ", image.get_height())
			var texture = ImageTexture.create_from_image(image)
			print("Texture loaded")
			return texture 
		else:
			print("Error while loading the image: ", load_error)
			return null
	else:
		print("HTTP Request error: ", response_code)
		return null

func set_texture(texture: ImageTexture, target: String):
	var root = self.get_parent()
	var debugSprite = root.find_child("Sprite3D") as Sprite3D
	debugSprite.texture = texture
	
	var target_node = root.find_child(target)
	if target_node != null:
		var image_plane = target_node.find_child("Plane") as MeshInstance3D
		if image_plane != null:
			print("Ziel gefunden! Textur wird angewendet.")
			var material = StandardMaterial3D.new()
			material.albedo_texture = texture
			image_plane.set_surface_override_material(0, material)
		else:
			print("Keine Plane unter dem Zielknoten gefunden.")
	else:
		print("Zielknoten nicht gefunden.")