Tutorial
¿Cómo usar la API de Krea 3? Genera tu primera imagen en 5 minutos
Cómo elegir entre Krea 3 y Krea 2 Medium Turbo, ejemplos en curl / Python, tabla de parámetros y mensajes de error originales.
TL;DR
- Krea 3 (
krea-3/text-to-image) es un modelo de texto a imagen: con una sola descripción genera fotografía realista, ilustración y arte conceptual; antes de generar, comprende y expande el prompt, y sus dos variantes berry (prioriza calidad, predeterminada) / jam (prioriza velocidad) se cambian al mismo precio. Abre la página del modelo para probarlo; los nuevos usuarios reciben 200 créditos al registrarse. - El precio es por imagen: Krea 3 $0.036; en la misma familia está el más económico Krea 2 Medium Turbo (
krea-2-medium-turbo) $0.0215 (consulta la tabla de precios completa en la página de precios). - Se llama a través de la API
/v1/tasksde HiAPI: envía la tarea y obtén untaskId, luego consulta el resultado y, cuando tenga éxito, descarga la imagen desdeoutput[0].url.
Qué puede hacer
- Con una sola frase genera una imagen completa: el modelo razona y expande antes de generar; si solo escribes
a lighthouse, añadirá la hora, la luz y la composición; si escribes con detalle, seguirá tu descripción. - Dos variantes berry / jam con un mismo ID: se cambian con
variant, con parámetros y precio idénticos; con el mismo seed, ambas producen composición y tonos distintos, así que puedes ejecutar cada una una vez y elegir entre dos propuestas. - 6 tamaños predefinidos hasta 1K: cuadrado, vertical y horizontal, 6 en total (de 1024×1024 a 1024×576), con salida en PNG o JPEG.
- También genera pósteres con texto de titular: pon el texto entre comillas; los titulares cortos suelen salir correctos.
Esta es una imagen real generada con berry:
Studio product photograph of a frosted glass perfume bottle with a brushed brass cap standing on a block of travertine, hard afternoon sunlight casting a long palm-leaf shadow across a warm beige wall, crisp reflections, high-end editorial look
(En español: fotografía de producto de estudio: un frasco de perfume de vidrio esmerilado con tapón de latón cepillado sobre un bloque de travertino, la luz dura de la tarde proyecta la larga sombra de una hoja de palma sobre una pared beige cálida, reflejos nítidos, acabado editorial de alta gama. Se usó el tamaño predeterminado square_hd.)

krea-3/text-to-image, berry, square_hd, 1024×1024, $0.036.
Cómo elegir entre los dos modelos
krea-3/text-to-image (Krea 3) |
krea-2-medium-turbo (Krea 2 Medium Turbo) |
|
|---|---|---|
| Por imagen | $0.036 | $0.0215 |
| Tamaños | 6 predefinidos (máx. 1024×1024), no admite personalizados | aspect_ratio con 8 proporciones, incluida panorámica cinematográfica 2.35:1 |
| Parámetros destacados | variant (berry/jam), reasoning_level (expansión por razonamiento), negative_prompt (solo berry) |
creativity con 4 niveles (raw/low/medium/high) |
| Procesamiento del prompt | Razona y expande antes de generar; frases cortas también producen una imagen completa | Genera directamente desde el texto original; cuanto más detalle escribas, más detalle obtendrás |
| Ideal para | Imagen final, exploración rápida con prompts cortos, pósteres con texto | Generación por lotes, composiciones panorámicas, producción diaria con presupuesto ajustado |
Los dos modelos se pueden combinar: Krea 2 para definir la dirección en borrador y Krea 3 para la imagen final; un borrador más una imagen final cuesta $0.0575. Para elegir prompts según el caso, consulta la guía completa de prompts.
Dos rutas para empezar
3 pasos en el navegador: abre la página del modelo → pega el prompt y elige el tamaño → pulsa generar; $0.036 por imagen.
3 pasos con la API: POST /v1/tasks para enviar → obtén el taskId → GET /v1/tasks/<taskId> y, cuando el estado sea success, descarga.
curl: la primera imagen
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: your-unique-key-001" \
-d '{
"model": "krea-3/text-to-image",
"input": {
"prompt": "Studio product photograph of a frosted glass perfume bottle with a brushed brass cap standing on a block of travertine, hard afternoon sunlight casting a long palm-leaf shadow across a warm beige wall, crisp reflections, high-end editorial look",
"image_size": "square_hd",
"variant": "berry",
"reasoning_level": "medium"
}
}'
Para cambiar a Krea 2 Medium Turbo, solo modifica los campos model e input:
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "krea-2-medium-turbo",
"input": {
"prompt": "Futuristic city skyline at dusk, neon reflections on wet streets, cinematic widescreen",
"aspect_ratio": "2.35:1",
"creativity": "low"
}
}'
El taskId de la respuesta es tu credencial de consulta.
Python: enviar, consultar y descargar
import time, uuid, requests
BASE = "https://api.hiapi.ai/v1/tasks"
HEADERS = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
}
payload = {
"model": "krea-3/text-to-image",
"input": {
"prompt": "Studio product photograph of a frosted glass perfume bottle with a brushed brass cap standing on a block of travertine, hard afternoon sunlight casting a long palm-leaf shadow across a warm beige wall, crisp reflections, high-end editorial look",
"image_size": "square_hd",
"variant": "berry",
"reasoning_level": "medium",
},
}
# Enviar: con Idempotency-Key, un reintento de red no crea tareas duplicadas
resp = requests.post(
BASE,
headers={**HEADERS, "Idempotency-Key": str(uuid.uuid4())},
json=payload,
timeout=30,
)
resp.raise_for_status()
task_id = resp.json()["taskId"]
# Consultar: queued -> handling -> archiving -> success / fail
while True:
task = requests.get(f"{BASE}/{task_id}", headers=HEADERS, timeout=30).json()
print(task["status"])
if task["status"] in ("success", "fail"):
break
time.sleep(3)
if task["status"] == "success":
image_url = task["output"][0]["url"] # dirección temporal, descárgala y guárdala cuanto antes
img = requests.get(image_url, timeout=60)
with open("output_image", "wb") as f: # nombra la extensión según el formato realmente devuelto
f.write(img.content)
print("saved")
Tabla de parámetros (krea-3/text-to-image)
| Campo | Obligatorio | Valores | Descripción |
|---|---|---|---|
prompt |
Sí | 1–5000 caracteres | Descripción de la imagen; cuanto más concreta, más se ajusta a tu descripción |
image_size |
No | square_hd / square / portrait_4_3 / portrait_16_9 / landscape_4_3 / landscape_16_9, predeterminado square_hd | Tamaño predefinido, máx. 1024×1024; no admite auto ni ancho/alto personalizados |
variant |
No | berry / jam, predeterminado berry | berry prioriza calidad, jam prioriza velocidad; mismo precio |
reasoning_level |
No | low / medium, predeterminado medium | Grado de expansión por razonamiento del prompt; usa medium con prompts cortos y low si escribes con detalle |
negative_prompt |
No | ≤1024 caracteres | Contenido que no quieres que aparezca; solo surte efecto en berry |
output_format |
No | png / jpeg, predeterminado png | Formato de salida |
seed |
No | entero 0–2147483647 | Reproducible dentro de la misma variante; berry y jam no se reproducen entre sí |
Los campos de Krea 2 Medium Turbo son distintos: prompt (obligatorio), aspect_ratio (8 proporciones, predeterminado 1:1), creativity (raw/low/medium/high, predeterminado low), seed. Si el cuerpo de la petición incluye campos no contemplados en la tabla, devuelve directamente 400.
Errores que encontrarás (texto original de la API)
| Qué hiciste | Respuesta |
|---|---|
Pasaste auto en image_size |
400 invalid input: image_size: value must be one of 'square_hd', 'square', 'portrait_4_3', 'portrait_16_9', 'landscape_4_3', 'landscape_16_9' |
Pasaste un campo no contemplado (p. ej., num_images) |
400 invalid input: <root>: additional properties 'num_images' not allowed |
prompt vacío |
400 invalid input: prompt: minLength: got 0, want 1 |
variant mal escrito |
400 invalid input: variant: value must be one of 'berry', 'jam' |
| Saldo insuficiente | 402 insufficient account balance; top up and retry |
Las peticiones que no superan la validación de parámetros no generan cobro. Si reenvías con el mismo Idempotency-Key se devuelve 409 (en proceso) o 422 (parámetros inconsistentes); prueba con una clave nueva.
Antes de salir a producción
- Callback: pasa
"callback": {"url": "https://..."}en el nivel superior del cuerpo de la petición; cuando la tarea llegue a un estado final, se notificará a tu servicio y te ahorras el sondeo. - Guarda cuanto antes:
output[0].urles una dirección temporal; descárgala en cuanto la recibas y guárdala en tu propio almacenamiento. - Solo hay 6 tamaños: si necesitas panorámica cinematográfica 2.35:1 u otras proporciones, usa
aspect_ratiode Krea 2 Medium Turbo. - El seed solo es reproducible dentro de la variante: berry y jam con el mismo seed producen imágenes distintas; para series, fija variant + seed.
Preguntas frecuentes
¿Se puede generar una imagen con un prompt corto?
Sí. El modelo razona y expande; con a lighthouse basta para obtener una imagen completa. Si quieres controlar el detalle, escribe el prompt con concreción.
¿berry y jam solo se diferencian en la velocidad?
No solo en la velocidad. Con el mismo seed, ambas producen composición y tonos distintos con calidad similar; trátalas como dos propuestas, ejecuta cada una y elige.
¿negative_prompt surte efecto en las dos variantes?
Solo en berry; si lo pasas a jam, no tiene efecto.
¿Cuántas imágenes genera por vez?
Solo 1 por vez. Para varias, envía más tareas o vuelve a ejecutar con otro seed.
¿Cuántas imágenes se generan con $10?
Krea 3 cuesta $0.036 por imagen, unas 277 imágenes. Los nuevos usuarios reciben 200 créditos al registrarse (1 dólar = 2,000 créditos).
Siguiente paso: toma el prompt del frasco de perfume y prueba una imagen en la página del modelo, y luego copia las plantillas de la guía completa de prompts según tu caso.
Artículos relacionados
Ver todos los artículos →-
Tutorial
Cómo llamar a hailuo-2.3-fast/image-to-video a través de la API de HiAPI: práctica con curl y Python
La primera solicitud ejecutable del nivel rápido y de bajo coste de imagen a vídeo: del ID del modelo a la descarga del MP4
-
Tutorial
Cómo llamar a hailuo-2.3/text-to-video mediante la API de HiAPI: curl, Python y ejemplos de solicitud ejecutables
-
Tutorial
Uso de Kandinsky 6.0 Pro texto a video en HiAPI: tutorial con curl y Python
Demostración práctica centrada en la solicitud: construir la llamada de prompt a clip de video, enviar la solicitud, sondear el estado de finalización y descargar el resultado