code: def create_blank_frame(frame=None, text="", logging=False):
      """
      ## create_blank_frame
  
      Create blank frames of given frame size with text
  
      Parameters:
          frame (numpy.ndarray): inputs numpy array(frame).
          text (str): Text to be written on frame.
      **Returns:**  A reduced numpy ndarray array.
      """
      # check if frame is valid
      if frame is None or not (isinstance(frame, np.ndarray)):
          raise ValueError("[Helper:ERROR] :: Input frame is invalid!")
      # grab the frame size
      (height, width) = frame.shape[:2]
      # create blank frame
      blank_frame = np.zeros(frame.shape, frame.dtype)
      # setup text
      if text and isinstance(text, str):
          if logging:
              logger.debug("Adding text: {}".format(text))
          # setup font
          font = cv2.FONT_HERSHEY_SCRIPT_COMPLEX
          # get boundary of this text
          fontScale = min(height, width) / (25 / 0.25)
          textsize = cv2.getTextSize(text, font, fontScale, 5)[0]
          # get coords based on boundary
          textX = (width - textsize[0]) // 2
          textY = (height + textsize[1]) // 2
          # put text
          cv2.putText(
              blank_frame,
              text,
              (textX, textY),
              font,
              fontScale,
              (125, 125, 125),
              6,
          )
  
      # return frame
      return blank_frame
  
file_path: vidgear/vidgear/gears/asyncio/helper.py
imports: import os
  import cv2
  import requests
  import numpy
  import logging
  from tqdm import tqdm
  from colorlog import ColoredFormatter
  from requests.adapters import HTTPAdapter
  from requests.packages.urllib3.util.retry import Retry
  from ..helper import logger_handler, mkdir_safe
label_desc: Use image node_id 1 for calling a global function with example usage: create_blank_frame(frame, text, logging) and returns: blank_frame