File size: 1,261 Bytes
772c618
 
 
 
 
 
 
 
 
 
 
3468b44
 
 
 
 
 
772c618
 
 
 
 
 
 
3468b44
772c618
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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"]]