Hub documentation
Resumen de Spaces
Resumen de Spaces
Hugging Face Spaces te permite crear y desplegar demos impulsadas por ML en minutos. Mira el siguiente video para una introducción rápida a Spaces:
En las siguientes secciones, aprenderás lo básico para crear un Space, configurarlo y desplegar tu código en él.
Creación de un nuevo Space
Para crear un nuevo Space, visita la página principal de Spaces y haz clic en Create new Space. Junto con elegir un nombre para tu Space, seleccionar una licencia opcional y configurar la visibilidad de tu Space (público, protegido o privado), se te pedirá que elijas el SDK para tu Space. El Hub ofrece tres opciones de SDK: Gradio, Docker y HTML estático. Si seleccionas “Gradio” como SDK, serás redirigido a un nuevo repositorio que muestra la siguiente página:
Los Spaces estáticos son gratuitos para todos. Los Spaces de Gradio y Docker se ejecutan en compute y requieren un plan de pago para crearlos: PRO para cuentas personales, Team o Enterprise para organizaciones. Las cuentas personales gratuitas en buen estado aún pueden alojar hasta 2 Spaces de Gradio que se ejecutan en ZeroGPU.

Por debajo, Spaces almacena tu código en un repositorio git, al igual que los repositorios de modelos y conjuntos de datos. Gracias a esto, las mismas herramientas que usamos para todos los otros repositorios en el Hub (git y git-xet) también funcionan con Spaces. Sigue el mismo flujo que en Getting Started with Repositories para agregar archivos a tu Space. Cada vez que se envía un nuevo commit, el Space se reconstruirá y reiniciará automáticamente.
Para obtener tutoriales paso a paso sobre cómo crear tu primer Space, consulta las guías a continuación:
Visibilidad del espacio
Puedes establecer la visibilidad de un Space desde la pestaña Settings mediante el menú desplegable de visibilidad. Los Spaces admiten tres niveles de visibilidad: public, protected y private.
La visibilidad protegida forma parte de los planes PRO o Team & Enterprise.
| Público | Protegido | Privado | |
|---|---|---|---|
| Código fuente en el Hub | Visible para todos | Privado (solo propietario/colaboradores) | Privado (solo propietario/colaboradores) |
| Aplicación accesible mediante URL de inserción | Sí | Sí | No |
| Aplicación accesible a través de un dominio personalizado | Sí | Sí | No |
| Clonable por otros | Sí | No | No |
Los Spaces Públicos están totalmente abiertos: cualquier persona puede ver el código fuente, acceder a la aplicación en ejecución y clonar el repositorio.
Los Spaces protegidos mantienen su código fuente privado en el Hub: solo el propietario y los colaboradores pueden ver o clonar el repositorio. Sin embargo, la aplicación en ejecución es accesible públicamente a través de su URL de incrustación (https://<space-subdomain>.hf.space) o a través de un dominio personalizado cuando se configura uno. Esto resulta especialmente útil para alojar sitios web o aplicaciones sin publicar el código fuente.
Los Spaces Private son totalmente privados: el código fuente y la aplicación en ejecución solo son accesibles para el propietario y los colaboradores. El Space no aparecerá en los resultados de búsqueda y otros usuarios recibirán un error 404 al visitar su URL.
Recursos de hardware
Cada entorno de Spaces tiene, de forma predeterminada, un límite de 16 GB de RAM, 2 núcleos de CPU y 50 GB de espacio en disco (no persistente). El hardware CPU Basic predeterminado no tiene un coste por hora, pero crear un Space que se ejecute en compute (Gradio o Docker) requiere un plan de pago, mientras que los Spaces estáticos son gratuitos para todos. Puedes actualizar a un mejor hardware, incluyendo una variedad de aceleradores GPU, por un precio competitivo. Para solicitar una actualización, haz clic en el botón Settings en tu Space y selecciona el entorno de hardware que prefieras.
| Hardware | CPU | Memoria | Memoria de GPU | Precio por hora |
|---|---|---|---|---|
| Básico de CPU | 2 vCPU | 16 GB | GRATIS | |
| Mejora de CPU | 8 vCPU | 32 GB | $0.03 | |
| Nvidia T4 - pequeño | 4 vCPU | 15 GB | 16 GB | $0.40 |
| Nvidia T4 - medio | 8 vCPU | 30 GB | 16 GB | $0.60 |
| 1x Nvidia L4 | 8 vCPU | 30 GB | 24 GB | $0.80 |
| 4x Nvidia L4 | 48 vCPU | 186 GB | 96 GB | $3.80 |
| 1x Nvidia L40S | 8 vCPU | 62 GB | 48 GB | $1.80 |
| 4x Nvidia L40S | 48 vCPU | 382 GB | 192 GB | $8.30 |
| 8x Nvidia L40S | 192 vCPU | 1534 GB | 384 GB | $23.50 |
| 1x Nvidia RTX PRO 6000 | 23 vCPU | 256 GB | 96 GB | $2.75 |
| 2x Nvidia RTX PRO 6000 | 46 vCPU | 512 GB | 192 GB | $5.50 |
| 4x Nvidia RTX PRO 6000 | 92 vCPU | 1024 GB | 384 GB | $11.00 |
| 8x Nvidia RTX PRO 6000 | 184 vCPU | 2048 GB | 768 GB | $22.00 |
| Nvidia A10G - pequeño | 4 vCPU | 15 GB | 24 GB | $1.00 |
| Nvidia A10G - grande | 12 vCPU | 46 GB | 24 GB | $1.50 |
| 2x Nvidia A10G - grande | 24 vCPU | 92 GB | 48 GB | $3.00 |
| 4x Nvidia A10G - grande | 48 vCPU | 184 GB | 96 GB | $5.00 |
| Nvidia A100 - grande | 12 vCPU | 142 GB | 80 GB | $2.50 |
| 4x Nvidia A100 | 48 vCPU | 568 GB | 320 GB | $10.00 |
| 8x Nvidia A100 | 96 vCPU | 1136 GB | 640 GB | $20.00 |
Nota: Encuentra información de precios más detallada y completa en nuestra página de precios.
¿Tienes un Space increíble pero necesitas ayuda para cubrir los costos de la actualización de hardware? Nos encanta ayudar a quienes tienen un Space innovador, así que no dudes en solicitar una subvención de GPU comunitaria usando el enlace en la pestaña Settings de tu Space y comprueba si el tuyo cumple con los requisitos.
Lea más en nuestras secciones dedicadas a Mejoras de GPU en Spaces y Uso de disco y almacenamiento en Spaces.

Gestión de secretos y variables de entorno
Si tu aplicación requiere variables de entorno (por ejemplo, claves secretas o tokens), ¡no las codifiques directamente dentro de tu aplicación! En su lugar, ve a la página de Configuración de tu repositorio de Space y añade una nueva variable o secreto. Usa variables si necesitas almacenar valores de configuración no sensibles y secretos para almacenar tokens de acceso, claves de API o cualquier valor sensible o credencial.

Puede utilizar:
- Variables si necesitas almacenar valores de configuración no confidenciales. Son de acceso público y visibles, y se añadirán automáticamente a los Spaces duplicados a partir de los tuyos.
- Secretos para almacenar tokens de acceso, claves de API o cualquier valor o credencial sensible. Son privados y su valor no se puede leer desde la página de configuración del Space una vez establecido. No se añadirán a los Spaces duplicados desde tu repositorio.
El acceso a secretos y variables es diferente según el SDK de Space que utilices:
- En los espacios estáticos, ambos están disponibles a través de JavaScript del lado del cliente en
window.huggingface.variables - Para los espacios de Docker, consulta la gestión de entornos con Docker
Para otros Spaces, ambos se exponen a tu aplicación como variables de entorno. A continuación, un ejemplo muy simple de acceso a la variable MODEL_REPO_ID declarada anteriormente en Python (sería lo mismo para los secretos):
import os
print(os.getenv('MODEL_REPO_ID'))A los propietarios de Spaces se les advierte cuando nuestro Spaces Secrets Scanner encuentra secretos codificados de forma fija.
Duplicar un Space
Duplicar un Space puede ser útil si deseas crear una nueva demostración utilizando otra como plantilla inicial. Los Spaces duplicados también pueden ser útiles si quieres tener un Space mejorado individual para tu uso con inferencia rápida.
Si deseas duplicar un Space, puedes hacer clic en los tres puntos en la esquina superior derecha del espacio y luego en Duplicate this Space. Una vez que hagas esto, podrás cambiar los siguientes atributos:
- Owner: El Space duplicado puede estar bajo tu cuenta o en cualquier organización en la que tengas acceso de escritura
- Nombre del espacio
- Visibilidad: El Space es privado de forma predeterminada. Lea más sobre las opciones de visibilidad aquí.
- Hardware: Puedes elegir el hardware en el que se ejecutará el Space. Lee más sobre las mejoras de hardware aquí.
- Almacenamiento: si el repositorio original utiliza un bucket de almacenamiento, se le pedirá que configure el almacenamiento. Lea más sobre el uso del disco y el almacenamiento aquí.
- Secretos y variables: si el repositorio original tiene configurados algunos secretos y variables, podrás configurarlos al duplicar el repositorio.
Algunos Spaces pueden tener variables de entorno que es posible que necesites configurar. En estos casos, el flujo de trabajo de duplicación rellenará automáticamente las Variables públicas desde el Space de origen y te mostrará una advertencia sobre la configuración de los Secrets. El Space duplicado usará hardware CPU Basic de forma predeterminada, pero puedes actualizarlo más adelante si es necesario. La duplicación sigue las mismas reglas que la creación de un nuevo Space: duplicar un Space de Gradio o Docker requiere un plan de pago para la cuenta u organización de destino (con la misma excepción de ZeroGPU free tier para cuentas personales).
Networking
Si tu Space necesita realizar solicitudes de red, puedes hacerlas a través de los puertos estándar HTTP y HTTPS (80 y 443) junto con el puerto 8080. Se bloquearán las solicitudes dirigidas a otros puertos.
Gestión del ciclo de vida
En el hardware gratuito, tu Space entrará en “modo de suspensión” y dejará de ejecutarse tras un período de tiempo si no se utiliza. Si deseas que tu Space se ejecute de forma indefinida, considera actualizar a hardware de pago. También puedes pausar manualmente tu Space desde la pestaña Settings. Un Space en pausa deja de ejecutarse hasta que alguien con acceso de escritura lo reinicie. El tiempo en pausa no se factura.
Variables de entorno integradas
En algunos casos, es posible que le interese tener acceso programático al autor del Space o al nombre del repositorio. Esta función resulta especialmente útil cuando espera que los usuarios dupliquen su Space. Para facilitar esto, los Spaces exponen diferentes variables de entorno en tiempo de ejecución (consulte también variables de entorno integradas en Jobs). Dado un Space osanseviero/i-like-flan:
ACCELERATOR: El tipo de acelerador disponible (p. ej.,t4-medium,a10g-small), ononepara Spaces solo de CPU.CPU_CORES: 4MEMORY: 15GiSPACE_AUTHOR_NAME: osansevieroSPACE_REPO_NAME: i-like-flanSPACE_TITLE: I Like Flan (especificado en el archivo README)SPACE_ID:osanseviero/i-like-flanSPACE_HOST:osanseviero-i-like-flan.hf.spaceSPACE_CREATOR_USER_ID:6032802e1f993496bc14d9e3- Este es el ID del usuario que creó originalmente el Space. Es útil si el Space pertenece a una organización. Puedes obtener la información del usuario con una llamada a la API enhttps://huggingface.co/api/users/{SPACE_CREATOR_USER_ID}/overview.SPACE_SIGNING_SECRET: un secreto aleatorio único para tu Space, expuesto como un secreto. Permanece igual entre reinicios, reconstrucciones y réplicas, por lo que puedes usarlo para firmar elementos como cookies, estado de OAuth o tokens CSRF. Para usar tu propio valor en su lugar, añade un secreto llamadoSPACE_SIGNING_SECRETen la configuración de tu Space.
En caso de que OAuth esté habilitado para tu Space, las siguientes variables también estarán disponibles:
OAUTH_CLIENT_ID: el ID de cliente de tu aplicación de OAuth (público)OAUTH_CLIENT_SECRET: el secreto de cliente de tu aplicación de OAuthOAUTH_SCOPES: ámbitos accesibles por tu aplicación de OAuth. Actualmente, siempre es"openid profile".OPENID_PROVIDER_URL: La URL del proveedor de OpenID. Los metadatos de OpenID estarán disponibles en{OPENID_PROVIDER_URL}/.well-known/openid-configuration.
Clonar el repositorio
Puedes clonar fácilmente el repositorio de tu Space localmente. Comienza haciendo clic en el menú desplegable situado en la esquina superior derecha de la página de tu Space:

Selecciona “Clone repository” y luego podrás seguir las instrucciones para clonar el repositorio del Space en tu máquina local usando HTTPS o SSH.


Vincular modelos y conjuntos de datos en el Hub
Puedes mostrar todos los modelos y conjuntos de datos a los que tu Space enlaza añadiendo su identificador en los metadatos del README de tu Space. Para ello, puedes definirlos bajo las claves models y datasets. Además de enumerar los artefactos en el archivo README, también puedes registrarlos en cualquier archivo .py, .ini o .html. ¡Lo analizaremos automáticamente!
A continuación se muestra un ejemplo que vincula dos modelos de un espacio:
title: My lovely space
emoji: 🤗
colorFrom: blue
colorTo: green
sdk: docker
pinned: false
models:
- reach-vb/musicgen-large-fp16-endpoint
- reach-vb/wav2vec2-large-xls-r-1B-common_voice7-lt-ft