GSP075
Descripción general
En este lab, conocerás el poder del aprendizaje automático usando varias APIs de este tipo juntas. Primero, extraerás texto de imágenes a través del reconocimiento óptico de caracteres (OCR) con el método de detección de texto de la API de Cloud Vision. Luego, aprenderás a traducir ese texto con la API de Translation y a analizarlo con la API de Natural Language.
Objetivos
En este lab, aprenderás a hacer lo siguiente:
- Crear una solicitud a la API de Vision y llamar a la API con curl
- Usar el método de detección de texto (OCR) de la API de Vision
- Usar la API de Translation para traducir el texto extraído de tu imagen
- Usar la API de Natural Language para analizar el texto
Configuración y requisitos
Antes de hacer clic en el botón Comenzar lab
Lee estas instrucciones. Los labs cuentan con un temporizador que no se puede pausar. El temporizador, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.
Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.
Para completar este lab, necesitarás lo siguiente:
- Acceso a un navegador de Internet estándar. Se recomienda el navegador Chrome.
Nota: Usa una ventana del navegador privada o de incógnito (opción recomendada) para ejecutar el lab. Así evitarás conflictos entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
- Tiempo para completar el lab (recuerda que, una vez que comienzas un lab, no puedes pausarlo).
Nota: Usa solo la cuenta de estudiante para este lab. Si usas otra cuenta de Google Cloud, es posible que se apliquen cargos a esa cuenta.
Cómo iniciar tu lab y acceder a la consola de Google Cloud
-
Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá un diálogo para que selecciones la forma de pago.
A la derecha, se encuentra el panel Configuración del lab y acceso, que tiene los siguientes elementos:
- El botón Abrir la consola de Google Cloud
- Las credenciales temporales (nombre de usuario y contraseña) que debes usar para este lab
- Otra información para completar el lab (si es necesaria)
Ten en cuenta que el cronómetro del lab se encuentra cerca de la parte superior de la página y muestra el tiempo restante.
-
Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).
El lab inicia los recursos y abre otra pestaña, en la que se muestra la página de acceso.
Sugerencia: Ordena las pestañas en ventanas separadas, una junto a la otra.
Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usa otra cuenta.
-
De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.
{{{user_0.username | "Username"}}}
También puedes encontrar el nombre de usuario en el panel Configuración del lab y acceso.
-
Haz clic en Siguiente.
-
Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.
{{{user_0.password | "Password"}}}
También puedes encontrar la contraseña en el panel Configuración del lab y acceso.
-
Haz clic en Siguiente.
Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud.
Nota: Usar tu propia cuenta de Google Cloud para este lab podría generar cargos adicionales.
-
Haz clic para avanzar por las páginas siguientes:
- Acepta los Términos y Condiciones.
- No agregues opciones de recuperación ni autenticación de dos factores, ya que esta cuenta es temporal.
- No te registres para obtener pruebas gratuitas.
Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.
Nota: Para acceder a los productos y servicios de Google Cloud, haz clic en el menú de navegación o escribe el nombre del servicio o producto en el campo Buscar.
Activa Cloud Shell
Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud. Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.
-
Haz clic en Activar Cloud Shell
en la parte superior de la consola de Google Cloud.
-
Haz clic para avanzar por las siguientes ventanas:
- Continúa en la ventana de información de Cloud Shell.
- Autoriza a Cloud Shell para que use tus credenciales para realizar llamadas a la API de Google Cloud.
Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu Project_ID, . El resultado contiene una línea que declara el Project_ID para esta sesión:
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con la función de autocompletado con tabulador.
- Puedes solicitar el nombre de la cuenta activa con este comando (opcional):
gcloud auth list
- Haz clic en Autorizar.
Resultado:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- Puedes solicitar el ID del proyecto con este comando (opcional):
gcloud config list project
Resultado:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Nota: Para obtener toda la documentación de gcloud, en Google Cloud, consulta la guía con la descripción general de gcloud CLI.
Tarea 1: Crea una clave de API
Como usarás curl para enviar una solicitud a la API de Vision, genera una clave de API que puedas pasar en la URL de la solicitud.
-
Para crear una clave de API, abre el menú de navegación > APIs y servicios > Credenciales.
-
Haz clic en + Crear credenciales.
-
En el menú desplegable, selecciona Clave de API.
-
Se abrirá la página Crear clave de API.
-
En
Elige las restricciones de API, haz clic en el menú desplegable para seleccionar APIs.
-
En la lista de APIs disponibles, elige las siguientes marcando sus respectivas casillas:
- API de Cloud Vision
- API de Cloud Translation
- API de Cloud Natural Language
-
Haz clic en Aceptar para confirmar la selección.
-
Haz clic en Crear para generar la clave de API con las restricciones especificadas.
-
Luego, copia la clave que acabas de generar y haz clic en Cerrar.
-
Ahora, guarda la clave de API en una variable de entorno para no tener que insertar su valor en cada solicitud.
-
Ejecuta lo siguiente en Cloud Shell, y reemplaza <your_api_key> por la clave que acabas de copiar:
export API_KEY=<YOUR_API_KEY>
Haz clic en Revisar mi progreso para verificar la tarea realizada.
Crear una clave de API
Tarea 2: Sube una imagen a un bucket de Cloud Storage
Crea un bucket de Cloud Storage
Existen dos maneras de enviar imágenes a la API de Vision para su detección: enviar a la API una cadena de imagen codificada en base64 o pasarle la URL de un archivo almacenado en Cloud Storage. En este lab, crearás un bucket de Cloud Storage para almacenar tus imágenes.
-
Abre al menú de navegación > navegador de Cloud Storage en la consola y, luego, haz clic en Crear bucket.
-
Asigna al bucket un nombre único:-bucket.
-
Luego, haz clic en Elige cómo controlar el acceso a los objetos.
-
Desmarca la casilla Aplicar la prevención de acceso público a este bucket.
-
Elige Preciso en Control de acceso y haz clic en Crear.
Sube una imagen al bucket
- Haz clic con el botón derecho en la siguiente imagen de un letrero francés, haz clic en Guardar imagen como y guárdala en tu computadora como sign.jpg.

- Abre al bucket que acabas de crear en el navegador de Cloud Storage y haz clic en Subir > Subir archivos; luego, elige sign.jpg.
A continuación, permite que el archivo se vea de forma pública, al mismo tiempo que mantienes privado el acceso al bucket.
- Haz clic en los 3 puntos del archivo de imagen:

-
Selecciona Editar acceso.
-
Luego, haz clic en Agregar entrada y configura lo siguiente:
- En Entidad, selecciona Pública.
- Asegúrate de que el valor allUsers sea el valor del campo Nombre.
- En Acceso, elige Reader.

- Haz clic en Guardar.
Verás que el archivo es de acceso público.
Ahora que el archivo está en tu bucket, está todo listo para que crees una solicitud a la API de Vision y le pases la URL de la foto.
Haz clic en Revisar mi progreso para verificar la tarea realizada.
Subir una imagen al bucket
Tarea 3: Crea tu solicitud a la API de Cloud Vision
- En el entorno de Cloud Shell, crea un archivo
ocr-request.json y, luego, agrégale el código que aparece más abajo. Recuerda reemplazar my-bucket-name por el nombre del bucket que creaste. Puedes crear el archivo con tu editor de línea de comandos preferido (nano, vim o emacs) o hacer clic en el ícono de lápiz para abrir el editor de código en Cloud Shell:

- Agrega lo siguiente al archivo
ocr-request.json:
{
"requests": [
{
"image": {
"source": {
"gcsImageUri": "gs://my-bucket-name/sign.jpg"
}
},
"features": [
{
"type": "TEXT_DETECTION",
"maxResults": 10
}
]
}
]
}
Deberás usar el atributo TEXT_DETECTION de la API de Cloud Vision para ejecutar el reconocimiento óptico de caracteres (OCR) en la imagen y extraer el texto.
Tarea 4: Llama al método de detección de texto
- En Cloud Shell, llama a la API de Cloud Vision con
curl:
curl -s -X POST -H "Content-Type: application/json" --data-binary @ocr-request.json https://vision.googleapis.com/v1/images:annotate?key=${API_KEY}
La primera parte de la respuesta debería verse así:
{
"responses": [
{
"textAnnotations": [
{
"locale": "fr",
"description": "LE BIEN PUBLIC\nles dépêches\nPour Obama,\nla moutarde\nest\nde Dijon\n",
"boundingPoly": {
"vertices": [
{
"x": 138,
"y": 40
},
{
"x": 622,
"y": 40
},
{
"x": 622,
"y": 795
},
{
"x": 138,
"y": 795
}
]
}
},
{
"description": "LE",
"boundingPoly": {
"vertices": [
{
"x": 138,
"y": 99
},
{
"x": 274,
"y": 82
},
{
"x": 283,
"y": 157
},
{
"x": 147,
"y": 173
}
]
}
},
{
"description": "BIEN",
"boundingPoly": {
"vertices": [
{
"x": 291,
"y": 79
},
{
"x": 413,
"y": 64
},
{
"x": 422,
"y": 139
},
{
"x": 300,
"y": 154
}
]
}
...
]
}]
}
El método de OCR puede extraer mucho texto de la imagen.
El primer dato que obtienes de textAnnotations es el bloque de texto completo que la API detectó en la imagen. Esto incluye lo siguiente:
- el código de idioma (en este caso, fr para francés)
- una cadena con el texto
- un cuadro delimitador que indica en qué parte de la imagen se encontró el texto
A continuación, se genera un objeto por cada palabra detectada en el texto, que incluye su correspondiente cuadro delimitador.
Nota: Para imágenes que tienen más texto, la API de Cloud Vision también tiene un atributo DOCUMENT_TEXT_DETECTION. Esta respuesta incluye información adicional y desglosa el texto en páginas, bloques, párrafos y palabras.
A menos que hables francés, es probable que no sepas lo que dice aquí. El paso siguiente es la traducción.
- Ejecuta el siguiente comando
curl para guardar la respuesta en un archivo ocr-response.json, de manera que se pueda hacer referencia a ella más tarde:
curl -s -X POST -H "Content-Type: application/json" --data-binary @ocr-request.json https://vision.googleapis.com/v1/images:annotate?key=${API_KEY} -o ocr-response.json
Tarea 5: Envía texto desde la imagen hasta la API de Translation
La API de Translation puede traducir texto a más de 100 idiomas. También puede detectar el idioma del texto de entrada. Para traducir el texto en francés al inglés, pasa el texto y el código del idioma meta (en-US) a la API de Translation.
- Primero, crea un archivo
translation-request.json y agrégale lo siguiente:
{
"q": "your_text_here",
"target": "en"
}
q indica por dónde pasarás la cadena que quieres traducir.
-
Guarda el archivo.
-
Ejecuta este comando de Bash en Cloud Shell para extraer el texto de la imagen del paso anterior y copiarlo en un archivo translation-request.json nuevo (todo en un solo comando):
STR=$(jq .responses[0].textAnnotations[0].description ocr-response.json) && STR="${STR//\"}" && sed -i "s|your_text_here|$STR|g" translation-request.json
- Ahora ya puedes llamar a la API de Translation. Este comando también copiará la respuesta en un archivo
translation-response.json:
curl -s -X POST -H "Content-Type: application/json" --data-binary @translation-request.json https://translation.googleapis.com/language/translate/v2?key=${API_KEY} -o translation-response.json
- Ejecuta este comando para inspeccionar el archivo con la respuesta de la API de Translation:
cat translation-response.json
Ahora puedes comprender mejor el significado del letrero.
{
"data": {
"translations": [
{
"translatedText": "TO THE PUBLIC GOOD the dispatches For Obama, the mustard is from Dijon",
"detectedSourceLanguage": "fr"
}
]
}
}
En la respuesta, figura lo siguiente:
-
translatedText, que contiene la traducción resultante
-
detectedSourceLanguage, que es fr, el código ISO de idioma para el francés
La API de Translation admite más de 100 idiomas, que figuran en la referencia de idiomas admitidos.
Además de traducir el texto de la imagen, es posible que quieras analizarlo en mayor profundidad. Aquí es donde resulta útil la API de Natural Language. Avancemos al siguiente paso.
Tarea 6. Analiza el texto de la imagen con la API de Natural Language
La API de Natural Language nos ayuda a comprender textos extrayendo entidades, analizando el sentimiento y la sintaxis, y clasificando el texto en categorías. Usa el método analyzeEntities para ver qué entidades puede encontrar la API de Natural Language en el texto de tu imagen.
- Para configurar la solicitud a la API, crea un archivo
nl-request.json con lo siguiente:
{
"document":{
"type":"PLAIN_TEXT",
"content":"your_text_here"
},
"encodingType":"UTF8"
}
En la solicitud, le informas a la API de Natural Language sobre el texto que estás enviando:
-
Los valores de tipo admitidos (type:) son PLAIN_TEXT y HTML.
-
Pasa el texto para enviarlo a la API de Natural Language y analizarlo (content:). La API de Natural Language también puede recibir archivos almacenados en Cloud Storage para el procesamiento de texto. Si necesitas enviar un archivo desde Cloud Storage, reemplaza content por gcsContentUri y usa el valor del URI del archivo de texto en Cloud Storage.
-
El valor encodingType: le informa a la API qué tipo de codificación de texto debe emplear cuando procesa el texto. La API utilizará esta información para calcular dónde aparecen entidades específicas en el texto.
- Ejecuta este comando de Bash en Cloud Shell para copiar el texto traducido en el bloque de contenido de la solicitud a la API de Natural Language:
STR=$(jq .data.translations[0].translatedText translation-response.json) && STR="${STR//\"}" && sed -i "s|your_text_here|$STR|g" nl-request.json
El archivo nl-request.json ahora contiene el texto traducido en inglés de la imagen original. Es hora de analizarlo.
- Llama al endpoint
analyzeEntities de la API de Natural Language con esta solicitud curl:
curl "https://language.googleapis.com/v1/documents:analyzeEntities?key=${API_KEY}" \
-s -X POST -H "Content-Type: application/json" --data-binary @nl-request.json
Si te desplazas por la respuesta, verás las entidades que encontró la API de Natural Language:
{
"entities": [
{
"name": "dispatches",
"type": "OTHER",
"metadata": {},
"salience": 0.3560996,
"mentions": [
{
"text": {
"content": "dispatches",
"beginOffset": 23
},
"type": "COMMON"
}
]
},
{
"name": "mustard",
"type": "OTHER",
"metadata": {},
"salience": 0.2878307,
"mentions": [
{
"text": {
"content": "mustard",
"beginOffset": 38
},
"type": "COMMON"
}
]
},
{
"name": "Obama",
"type": "PERSON",
"metadata": {
"mid": "/m/02mjmr",
"wikipedia_url": "https://en.wikipedia.org/wiki/Barack_Obama"
},
"salience": 0.16260329,
"mentions": [
{
"text": {
"content": "Obama",
"beginOffset": 31
},
"type": "PROPER"
}
]
},
{
"name": "Dijon",
"type": "LOCATION",
"metadata": {
"mid": "/m/0pbhz",
"wikipedia_url": "https://en.wikipedia.org/wiki/Dijon"
},
"salience": 0.08129317,
"mentions": [
{
"text": {
"content": "Dijon",
"beginOffset": 54
},
"type": "PROPER"
}
]
}
],
"language": "en"
}
En el caso de las entidades que tienen página de Wikipedia, la API proporciona metadatos, incluida la URL de esa página junto con el elemento mid de la entidad. El mid es un ID que se asocia a esta entidad en el Gráfico de conocimiento de Google. Para obtener más información al respecto, llama a la API de Knowledge Graph y pásale este ID. En todas las entidades, la API de Natural Language indica los lugares en los que apareció en el texto (mentions), el type de la entidad y el valor salience (un rango [0,1] que indica qué tan importante es la entidad para el texto como unidad). Además del inglés, la API de Natural Language admite los idiomas que figuran en la referencia de idiomas admitidos.
Si observas esta imagen, es relativamente fácil identificar las entidades importantes, pero si tuvieras una biblioteca de miles de imágenes, sería mucho más difícil. La OCR, la traducción y el procesamiento de lenguaje natural sirven para extraer significado de grandes conjuntos de datos de imágenes.
Haz clic en Revisar mi progreso para verificar la tarea realizada.
Analizar el texto de la imagen con la API de Natural Language
¡Felicitaciones!
Aprendiste a combinar 3 APIs de aprendizaje automático diferentes: el método de OCR de la API de Vision extrajo texto de una imagen; luego, la API de Translation tradujo ese texto al inglés y, por último, la API de Natural Language encontró entidades en ese texto. Puedes usar estas APIs en conjunto para extraer significado de grandes conjuntos de datos de imágenes.
Próximos pasos/Más información
Capacitación y certificación de Google Cloud
Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.
Última actualización del manual: 8 de abril de 2026
Prueba más reciente del lab: 8 de abril de 2026
Copyright 2026 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.