Imagen en blanco y negro
Pasar una imagen a escala de grises parece trivial hasta que hay que hacerlo de forma consistente sobre miles de archivos con perfiles de color distintos. Este endpoint recibe cualquier imagen compatible y devuelve una versión en blanco y negro ponderada por luminancia, no un promedio plano, así que el resultado se ve nítido en vez de apagado.
Ejecútela online
Ejecute esto en nuestros servidores con su cuenta. Las herramientas gratuitas corren en su navegador; esta cobra de su saldo del KIT según el precio de arriba.
Por qué la escala de grises sigue siendo relevante
Las imprentas todavía la piden, los flujos de documentos legales y médicos la exigen, los catálogos de comercio electrónico la usan para previsualizar variantes de producto, y muchos sistemas de diseño recurren a ella para estados deshabilitados o de carga. Cualquiera que maneje un flujo de documentos, una imprenta o un archivo fotográfico termina necesitando una forma confiable de quitar el color sin supervisar el proceso a mano.
Cómo funciona la conversión realmente
El endpoint lee los píxeles de origen y aplica una conversión ponderada por luminancia, dando más peso visual al verde que al azul y al rojo, tal como el ojo humano percibe el brillo. Esa decisión es justamente lo que evita que el filtro se vea plano y permite conservar el contraste y el detalle tanto en tonos de piel como en cielos y sombras.
Qué enviar y qué se recibe de vuelta
Envía la imagen por URL o mediante carga directa, llame a POST /image/grayscale y recibirá un task_id de inmediato, porque cada trabajo corre de forma asíncrona. Cuando la conversión termina, el archivo llega por un webhook firmado, la opción recomendada para flujos automatizados, o mediante un enlace firmado que permanece válido durante 24 horas si prefiere consultarlo manualmente o entregarlo a una persona.
Una breve nota sobre la historia del formato
La escala de grises como formato de salida deliberado antecede por décadas a la fotografía a color y siguió siendo el estándar en periódicos y digitalización legal mucho después de que el color se volviera asequible, simplemente porque comprime mejor y se reproduce con más fiabilidad en equipos económicos. Ese legado explica por qué la conversión a escala de grises sigue siendo una necesidad real en la automatización de documentos e imprenta, y no un simple capricho estético.
Cómo encaja en un flujo automatizado
Como cada llamada se cobra solo si el resultado es exitoso, se ejecutan tres reintentos automáticos antes de que vea una solicitud fallida y cobrada, lo que permite integrar este endpoint en un trabajo por lotes o en un pipeline de ingesta de documentos sin escribir su propia lógica de reintentos. No hay nivel gratuito ni cola de prueba que retrase nada; con saldo prepago el trabajo arranca de inmediato, y una respuesta 402 lo indica con claridad cuando no es así, en vez de dejarlo en una cola silenciosa.
Qué puede hacer con ella
Flujos de documentos listos para imprimir
Los sistemas de digitalización legal y gubernamental convierten automáticamente los escaneos a color en escala de grises antes de archivarlos, reduciendo el tamaño del archivo y cumpliendo requisitos de impresión y de cumplimiento.
Vistas previas de fotos de producto
Las plataformas de comercio electrónico generan una vista previa en escala de grises de cada foto de producto para señalar variantes agotadas o descontinuadas sin necesidad de una nueva sesión de fotos.
Marcadores de posición en sistemas de diseño
Los equipos de interfaz convierten en lote imágenes de marketing a escala de grises para usarlas como marcadores de estados deshabilitados o de carga, manteniendo un lenguaje visual consistente.
Normalización de archivos fotográficos
Los archivos digitales estandarizan fotografías históricas escaneadas a escala de grises para mostrarlas de forma coherente junto a originales que nunca existieron en color.
Preguntas frecuentes
¿Qué hace exactamente la api de imagen en escala de grises?
Recibe cualquier imagen compatible y devuelve una versión en blanco y negro ponderada por luminancia mediante el endpoint POST /image/grayscale, entregada de forma asíncrona por webhook o por un enlace firmado válido por 24 horas.
¿Existe un nivel gratuito para esta api?
No hay capa gratuita: las capas gratis se abusan y ralentizan a todos. El acceso funciona con un saldo prepago de ForHosting KIT: se recarga desde $10.00 (no caduca) y cada solicitud se cobra a su precio publicado, así que una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens ni créditos inventados, y una tarea fallida no se cobra.
¿Cuánto cuesta convertir una imagen a escala de grises?
Cada llamada cuesta $0.002 por solicitud más $0.005 por imagen procesada, y solo se cobra cuando la conversión se completa con éxito.
¿Qué formatos de imagen son compatibles?
El endpoint acepta los formatos rasterizados estándar usados en el resto de nuestras herramientas de imagen; conviene revisar la referencia vigente antes de enviar perfiles de color poco comunes.
¿Se cobra si la conversión falla?
No. Una tarea fallida nunca se cobra. El sistema reintenta automáticamente hasta tres veces antes de devolver un error claro, sin costo alguno.
¿Puedo procesar imágenes en lote?
Sí, cada imagen se envía en una llamada independiente y todas corren de forma asíncrona, por lo que puede lanzar lotes grandes sin esperar a que termine un solo trabajo.
¿En qué se diferencia de un simple promedio en blanco y negro?
Este endpoint usa ponderación por luminancia, que refleja cómo el ojo humano percibe el brillo, así que el contraste y el detalle se conservan mucho mejor que con un promedio plano de RGB.
¿Cuánto tiempo tengo para descargar el resultado?
El enlace firmado permanece válido durante 24 horas; después de ese plazo, y de nuestra ventana de retención estándar, el archivo se elimina y nunca se usa para entrenamiento.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, y pronto desde nuestra app, el email y Telegram.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/image/grayscale \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"image":"https://ejemplo.com/imagen.jpg"}'const res = await fetch("https://api.kit.forhosting.com/image/grayscale", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"image": "https://ejemplo.com/imagen.jpg"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/grayscale",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"image": "https://ejemplo.com/imagen.jpg"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/grayscale", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"image":"https://ejemplo.com/imagen.jpg"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"image":"https://ejemplo.com/imagen.jpg"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/grayscale", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"image": "https://ejemplo.com/imagen.jpg"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.grayscale",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_mb | 15 |
max_megapixels | 12 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |