def highlight_create(
            self, media_ids, cover_media_id=None,
            title='Highlights', source='self_profile'):
        """
        Create a new highlight

        :param media_ids: A list of media_ids
        :param cover_media_id: The media_id for the highlight cover image
        :param title: Title of the highlight
        :param module: The UI module via which the highlight is created
        """
        if not (media_ids and isinstance(media_ids, list)):
            raise ValueError('media_ids must be a non-empty list')

        if not cover_media_id:
            cover_media_id = media_ids[0]

        if not title:
            title = 'Highlights'

        if len(title) > 16:
            raise ValueError('title must not exceed 16 characters')

        cover = {
            'media_id': cover_media_id,
            'crop_rect': json.dumps(
                [0.0, 0.21830457, 1.0, 0.78094524], separators=(',', ':'))
        }
        params = {
            'media_ids': json.dumps(media_ids, separators=(',', ':')),
            'cover': json.dumps(cover, separators=(',', ':')),
            'source': source,
            'title': title,
        }
        params.update(self.authenticated_params)
        return self._call_api('highlights/create_reel/', params=params)

        Create a new highlight

        :param media_ids: A list of media_ids
        :param cover_media_id: The media_id for the highlight cover image
        :param title: Title of the highlight
        :param module: The UI module via which the highlight is created
        
instagram_private_api/endpoints/highlights.py