def METHOD_NAME(
    self,
    *,
    schedule_item: ScheduleItemData,
    speakers_data: dict,
    media_file_path: str,
) -> UploadVideoToYouTubeInput:
    count_speakers = len(schedule_item.speakers_ids)
    speakers_names = ", ".join(
        [
            speakers_data[str(speaker_id)]["fullname"]
            for speaker_id in schedule_item.speakers_ids
        ]
    )
    if count_speakers == 0 or count_speakers > 2:
        title = f"{schedule_item.title} - {schedule_item.conference_name}"
    else:
        title = f"{schedule_item.title} - {speakers_names}"
    if len(title) > 100:
        title = schedule_item.title
    description = (
        f"{schedule_item.title} - "
        f"{speakers_names} - {schedule_item.conference_name}\n\n"
    )
    if schedule_item.elevator_pitch:
        description += f"{schedule_item.elevator_pitch}\n\n"
    elif schedule_item.description:
        description += f"{schedule_item.description}\n\n"
    elif schedule_item.keynote_description:
        description += f"{schedule_item.keynote_description}\n\n"
    if schedule_item.type.lower() != "custom":
        description += (
            f"Full Abstract: https://2023.pycon.it/event/{schedule_item.slug}\n\n"
        )
    description += f"{schedule_item.conference_youtube_video_bottom_text}\n\n"
    if schedule_item.clean_tags:
        description += " ".join(schedule_item.hashtags)
    return UploadVideoToYouTubeInput(
        title=replace_invalid_chars_with_lookalikes(title),
        description=replace_invalid_chars_with_lookalikes(description),
        file_path=media_file_path,
        tags=schedule_item.clean_tags,
    )