Imagen a prompt
Tiene una imagen de referencia y ninguna idea de qué palabras la recrearían. Este endpoint mira la imagen y redacta el prompt que un modelo de texto a imagen necesitaría para producir algo cercano, convirtiendo un visual que no puede editar en texto que sí puede.
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.
La distancia entre ver una imagen y describirla
Un diseñador encuentra en un moodboard una imagen con exactamente la iluminación y la paleta que busca, pero el archivo en sí es un callejón sin salida: sin capas, sin historial de prompt, sin forma de pedir una variación. Reconstruir una descripción a ojo es lento y subjetivo, y dos personas mirando la misma foto escribirán dos prompts distintos, ninguno con garantía de reproducir la composición. Este endpoint automatiza ese paso de descripción y le entrega un punto de partida funcional en vez de un cursor parpadeando en blanco.
Qué envía y qué recibe
Envía una imagen por URL o archivo, y la tarea devuelve un prompt estructurado que cubre sujeto, estilo, iluminación, paleta de color, composición y rasgos técnicos notables, redactado como lo espera leer un modelo de generación. No es una transcripción literal de píxeles; es una interpretación pensada para servir como entrada a image.generate o una herramienta equivalente, así que obtiene un texto que puede pegar, ajustar y volver a correr de inmediato.
Por qué es un problema inverso genuinamente difícil
Generar una imagen a partir de texto ya es una relación de uno a muchos: incontables prompts podrían producir un resultado de apariencia similar. Ir en la dirección contraria, de imagen a prompt, es inherentemente con pérdida: el modelo tiene que adivinar la intención, distinguir lo deliberado de lo incidental, y comprimir una escena entera en un párrafo de instrucciones. Por eso el resultado debe leerse como un borrador sólido y editable, no como una receta exacta garantizada, y por eso este campo solo se volvió práctico cuando los modelos de visión y lenguaje empezaron a describir imágenes con matices reales en lugar de descripciones genéricas.
Dónde encaja en un flujo creativo
Como la tarea es asíncrona, se integra sin fricción en un flujo donde un usuario sube una inspiración, su sistema extrae un prompt, y ese prompt pasa directo a un paso de generación sin que nadie escriba una descripción a mano. Los equipos lo usan para construir bibliotecas de prompts a partir de una carpeta de referencias, para incorporar guías de estilo a un pipeline de generación, o simplemente para entender por qué una imagen funciona antes de intentar hacer diez más parecidas.
Expectativas honestas
Este endpoint describe una imagen; no la clona píxel por píxel, y ninguna generación posterior a partir del prompt resultante será idéntica a otra, ni siquiera entre sí. Trátelo como un andamiaje experto: un prompt inicial preciso y bien estructurado que ahorra la parte más difícil del proceso, que es quedarse mirando una referencia sin saber por dónde empezar a escribir.
Qué puede hacer con ella
De moodboard a prompt funcional
Un diseñador sube una foto de referencia estilo Pinterest y recibe un prompt estructurado que puede pegar directamente en una herramienta de generación e iterar.
Construir una biblioteca de prompts desde activos existentes
Un estudio pasa su biblioteca de imágenes aprobadas por el endpoint para armar un conjunto buscable de prompts que describen su propio estilo de casa.
Análisis competitivo de creatividades
Un equipo de marketing analiza el visual de un anuncio de la competencia para entender las decisiones de composición e iluminación antes de dar el brief a su propio diseñador.
Recuperar un prompt perdido
Un equipo tiene la imagen final de una campaña antigua pero perdió el prompt que la generó, y reconstruye una versión de trabajo cercana para seguir iterando.
Preguntas frecuentes
¿Cómo funciona la api de imagen a prompt?
Envíe un POST a /image/prompt-from-image con la imagen de origen como URL o archivo; recibe un task_id y el prompt generado llega por webhook o por un enlace firmado.
¿El prompt va a reproducir la imagen exactamente?
No. Es una descripción estructurada y cercana, pensada como un punto de partida sólido para un modelo de generación, no como una receta exacta píxel a píxel: regenerar a partir de ella produce una imagen similar, no idéntica.
¿Qué incluye el prompt de salida?
Sujeto, estilo, iluminación, paleta de color, composición y rasgos técnicos notables, redactados con el fraseo que espera un modelo de texto a imagen.
¿Puedo usar el resultado directamente para generar una imagen?
Sí, el resultado está escrito para pegarse directamente en image.generate o una herramienta compatible, sin necesidad de reformatearlo.
¿Hay un plan 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 por imagen?
$0.010 por solicitud más $0.0575 por imagen, y solo se cobra cuando la tarea se completa realmente.
¿Qué pasa si el análisis falla?
La tarea reintenta automáticamente hasta tres veces; si aun así no logra completarse, recibe un error claro y nunca se cobra el intento fallido.
¿Puedo procesar muchas imágenes a la vez?
Cada llamada procesa una imagen de origen; para volúmenes grandes, envíe varias solicitudes asíncronas en paralelo y recoja los resultados por webhook a medida que van terminando.
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/prompt-from-image \
-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/prompt-from-image", {
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/prompt-from-image",
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/prompt-from-image", 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/prompt-from-image", 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.prompt_from_image",
"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. |
422 | task_failed | La tarea falló tras 3 reintentos. No se cobra. |