# Using a separate file for this long help message to keep the main script clean.
# It's imported by client tools that use the --ytdlp-config-json argument.

REQUEST_PARAMS_HELP_STRING = """JSON string or path to a JSON file (prefixed with '@') containing per-request parameters.
This allows overriding server-side defaults and passing a full yt-dlp options dictionary.
If this argument is not provided, the tool will automatically look for and load 'ytdlp.json'
in the current directory if it exists.

The JSON structure is unified:
1. 'ytops': Parameters that control the behavior of the yt-ops-server itself (for 'get-info').
2. 'ytdlp_params': A dictionary of options passed directly to yt-dlp. This is used by both
   'get-info' (server-side) and 'download py' (client-side).

Example 'ytdlp.json' for getting info.json and for downloads:
{
  // --- YTOPS: Server-Side Controls (for 'get-info') ---
  "ytops": {
    "assigned_proxy_url": "socks5://your.proxy.com:1080", // Optional: Assign a specific proxy
    "force_renew": ["cookies", "visitor_id"],
    "session_params": {
      "visitor_rotation_threshold": 0,
      "prevent_cookie_rotation": false,
      "prevent_visitor_rotation": false
    }
  },

  // --- YTDLP: Parameters for yt-dlp (for 'get-info' and 'download py') ---
  "ytdlp_params": {
    "verbose": true,
    "socket_timeout": 60,
    "http_headers": {
      "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36"
    },
    "extractor_args": {
      "youtube": {
        "player_client": ["tv_simply"],
        "skip": ["translated_subs", "hls"],
        "pot_trace": ["true"],
        "jsc_trace": ["true"],
        "formats": ["duplicate"],
        "lang": ["en-US"],
        "timeZone": ["UTC"]
      },
      "youtubepot-bgutilhttp": {
        "base_url": ["http://172.17.0.1:4416"]
      }
    },
    "format_sort": ["res", "ext:mp4:m4a"],
    "remuxvideo": "mp4"
  }
}

You can also pass a minimal JSON string directly on the command line:
'{"ytops": {"force_renew": ["all"]}, "ytdlp_params": {"verbose": true}}'
"""
