{
  "name": "InfiniteTalk AI - Sparse-Frame Video Dubbing",
  "short_name": "InfiniteTalk AI",
  "description": "Transform any image into lifelike video with AI. Advanced sparse-frame, audio-driven video dubbing technology.",
  "start_url": "/",
  "display": "standalone",
  "background_color": "#000000",
  "theme_color": "#000000",
  "orientation": "portrait-primary",
  "scope": "/",
  "lang": "en-US",
  "dir": "ltr",
  "categories": ["productivity", "multimedia", "utilities"],
  "icons": [
    {
      "src": "/logo.webp",
      "sizes": "512x512",
      "type": "image/webp",
      "purpose": "any maskable"
    }
  ],
  "screenshots": [
    {
      "src": "/screenshot-mobile.png",
      "sizes": "390x844",
      "type": "image/png",
      "form_factor": "narrow",
      "label": "InfiniteTalk AI Mobile Interface"
    },
    {
      "src": "/screenshot-desktop.png",
      "sizes": "1280x720",
      "type": "image/png",
      "form_factor": "wide",
      "label": "InfiniteTalk AI Desktop Interface"
    }
  ],
  "shortcuts": [
    {
      "name": "Create Video",
      "short_name": "Create",
      "description": "Start creating a new AI video",
      "url": "/infinitetalk",
      "icons": [
        {
          "src": "/logo.webp",
          "sizes": "512x512"
        }
      ]
    },
    {
      "name": "Multi Video",
      "short_name": "Multi",
      "description": "Create multiple videos at once",
      "url": "/infinitetalk-multi",
      "icons": [
        {
          "src": "/logo.webp",
          "sizes": "512x512"
        }
      ]
    },
    {
      "name": "Audio Tools",
      "short_name": "Audio",
      "description": "Audio processing tools",
      "url": "/audio-tools",
      "icons": [
        {
          "src": "/logo.webp",
          "sizes": "512x512"
        }
      ]
    }
  ],
  "related_applications": [],
  "prefer_related_applications": false,
  "edge_side_panel": {
    "preferred_width": 400
  },
  "launch_handler": {
    "client_mode": "navigate-existing"
  },
  "handle_links": "preferred",
  "capture_links": "existing-client-navigate",
  "file_handlers": [
    {
      "action": "/infinitetalk",
      "accept": {
        "image/*": [".jpg", ".jpeg", ".png", ".webp", ".gif"]
      },
      "launch_type": "single-client"
    }
  ],
  "protocol_handlers": [
    {
      "protocol": "web+infinitetalk",
      "url": "/infinitetalk?url=%s"
    }
  ]
}
