Usa video-to-text-python para subir medios, crear tareas de transcripción y consultar resultados.
El cliente Python envuelve las API públicas de carga y tareas con clientes síncrono y asíncrono.
Instalación
Sección titulada «Instalación»pip install video-to-text-pythonInicialización
Sección titulada «Inicialización»import os
from video_to_text import VideoToTextClient
client = VideoToTextClient( api_key=os.environ["VTT_API_KEY"],)Transcribir un archivo
Sección titulada «Transcribir un archivo»from pathlib import Path
task = client.transcriptions.transcribe_file( Path("meeting.mp4"), language="Auto", timestamp_mode="CHUNK", transcription_mode="balanced", timeout=600,)
print(task.full_text)Usa precision cuando la precisión sea más importante que el coste en créditos.
Carga y creación manual
Sección titulada «Carga y creación manual»upload = client.uploads.create({ "filename": "meeting.mp4", "mimetype": "video/mp4",})
content = Path("meeting.mp4").read_bytes()client.uploads.put(upload.upload_url, content, mimetype="video/mp4")
asset = client.uploads.complete(upload.upload_id, { "fileKey": upload.file_key, "fileUrl": upload.file_url, "filename": "meeting.mp4", "mimetype": "video/mp4", "fileSize": len(content),})
created = client.tasks.create({ "assetId": asset.asset_id, "language": "Auto", "timestampMode": "CHUNK", "transcriptionMode": "balanced",})
result = client.tasks.wait(created.transcript_id)print(result.full_text)Cliente asíncrono
Sección titulada «Cliente asíncrono»from video_to_text import AsyncVideoToTextClient
async with AsyncVideoToTextClient( api_key=os.environ["VTT_API_KEY"],) as client: task = await client.transcriptions.transcribe_file( Path("meeting.mp4"), transcription_mode="balanced", ) print(task.full_text)Resultados de la tarea
Sección titulada «Resultados de la tarea»tasks.wait() devuelve el resultado cuando la tarea llega a SUCCEEDED. Si la tarea llega a FAILED o CANCELED, el cliente lanza APIError y usa show_error como detalle cuando está disponible.
Los detalles de la tarea incluyen full_text, chunks, words, source_duration_ms, result_language, transcription_mode y billed_credits.
Errores
Sección titulada «Errores»from video_to_text import APIError, RateLimitError, UploadError
try: task = client.transcriptions.transcribe_file( Path("meeting.mp4"), transcription_mode="balanced", )except RateLimitError: print("Please retry later.")except UploadError: print("The media upload did not complete.")except APIError as error: print(error.error_code, error.problem.detail)Recursos
Sección titulada «Recursos»Para código fuente, issues y contribuciones, visita el repositorio GitHub de video-to-text-python. Instala la versión más reciente del paquete video-to-text-python desde PyPI.