Spaces:
Building
Building
import os | |
import requests | |
def search_pixabay(query, num_results=5, min_width=1280, min_height=720, lang="es"): | |
api_key = os.getenv("PIXABAY_API_KEY") | |
if not api_key: | |
raise ValueError("La variable de entorno PIXABAY_API_KEY no está configurada.") | |
if not query.strip(): | |
raise ValueError("La consulta no puede estar vacía.") | |
# Asegurarse de que num_results esté dentro del rango permitido (3-200) | |
if num_results < 3: | |
num_results = 3 | |
elif num_results > 200: | |
num_results = 200 | |
url = "https://pixabay.com/api/videos/" | |
params = { | |
"key": api_key, | |
"q": query, | |
"lang": lang, | |
"min_width": min_width, | |
"min_height": min_height, | |
"per_page": num_results, # Asegurarse de que esté dentro del rango | |
"video_type": "film" | |
} | |
response = requests.get(url, params=params) | |
if response.status_code != 200: | |
raise Exception(f"Error al buscar en Pixabay: {response.status_code} - {response.text}") | |
data = response.json() | |
if "hits" not in data or not data["hits"]: | |
raise Exception("No se encontraron videos relevantes para la consulta proporcionada.") | |
return [video["videos"]["large"]["url"] for video in data["hits"]] |