def METHOD_NAME(item_id: str, output_dir: Path):
    # Collect metadata to model
    request = requests.get(f"https://api.polyhaven.com/files/{item_id}", timeout=30)
    data = request.json()
    # Check resolution is available
    if args.resolution not in data["blend"]:
        print(f"Skipping model {item_id} as the desired resolution is not available.")
        return
    # Download blend file
    blend_data = data["blend"][args.resolution]["blend"]
    download_file(blend_data["url"], output_dir / blend_data["url"].split("/")[-1])
    # Download textures
    for texture_path, texture_data in blend_data["include"].items():
        destination = output_dir / texture_path
        destination.parent.mkdir(parents=True, exist_ok=True)
        download_file(texture_data["url"], destination)