Files
whisper-api-server/client_api.ipynb
T
2025-03-01 22:54:55 +03:00

3.5 KiB

In [ ]:
import requests

def transcribe_audio(file_path: str, server_url: str = ""):
    """
    Отправляет аудиофайл на сервер для распознавания и возвращает результат.

    Args:
        file_path: Путь к локальному аудиофайлу.
        server_url: URL сервера (по умолчанию "").

    Returns:
        Распознанный текст.
    """
    try:
        # Открываем файл для отправки
        with open(file_path, "rb") as audio_file:
            # Формируем запрос
            files = {"file": (file_path, audio_file)}
            response = requests.post(f"{server_url}/v1/audio/transcriptions", files=files)

        # Проверяем статус ответа
        if response.status_code == 200:
            return response.json()
        else:
            print(f"Ошибка: {response.status_code}")
            print(response.json())
            return None

    except Exception as e:
        print(f"Ошибка при отправке файла: {e}")
        return None
In [ ]:
# Запуск транскрибации
server="http:192.168.1.176:5042"
file="/Users/serge/Downloads/emToQc8pxaI_audio.mp3"
text = transcribe_audio(file, server)

print(text)
In [ ]:
import secrets
import pyperclip  # Import the pyperclip library

def generate_token(num_groups: int, group_length: int) -> str:
    """
    Generates a token with a specified number of groups and length for each group.

    Args:
        num_groups (int): The number of groups in the token.
        group_length (int): The length of each group.

    Returns:
        str: The generated token.
    """
    groups = [secrets.token_urlsafe(group_length) for _ in range(num_groups)]
    return "-".join(groups)

if __name__ == "__main__":
    num_groups = 4
    group_length = 8
    token = generate_token(num_groups, group_length)
    print(token)

    # Copy the token to the clipboard
    pyperclip.copy(token)
    print("Token copied to clipboard!")
In [ ]: