Requisitos previos
Instala y carga estas habilidades antes de generar (omite si ya están en contexto mediante @pruna):
| Habilidad | Descripción | Instalación |
|---|---|---|
generation-diversity | Úsala al escribir cualquier prompt generativo: semilla de ritual, estructura explícita, ejes de escenario y compuertas de calidad antes de llamadas a API de pago. | npx skills add PrunaAI/pruna-skills@generation-diversity -y |
image-prompting | Úsala al crear prompts de imágenes fijas para cualquier modelo generativo: composición, hojas de identidad, ediciones, prueba virtual y personajes fotorrealistas. | npx skills add PrunaAI/pruna-skills@image-prompting -y |
pruna-api | Úsala antes de cualquier llamada HTTP a Pruna o Replicate: credenciales, subida/consulta/descarga, lotes paralelos y seguridad del agente. | npx skills add PrunaAI/pruna-skills@pruna-api -y |
O instala el conjunto completo de una vez: npx skills add PrunaAI/pruna-skills@pruna -y
Sigue las secciones Antes de generar / elaboración de cada habilidad — no repitas aquí el contenido de la guía.
Hábito del agente
En la primera respuesta, nombra `p-image-try-on` entre comillas invertidas, confirma PRUNA_API_KEY, luego pregunta por person_image + garment_images. Abre la admisión → admisión de aclaración de generation-diversity cuando haya silencio. Cuando las referencias necesiten desambiguación, redacta con Elaboración de prompt (dinámico + fiel) — no pegues ejemplos de la habilidad. Redirige trabajos solo de fondo / sin prendas a p-image-edit.
Elaboración de prompt (dinámico + fiel)
La identidad y las prendas provienen de person_image + garment_images[]. El prompt opcional solo desambigua las referencias — no inventa una nueva persona o atuendo.
| Hacer | No hacer |
|---|---|
Bloquear primero la URL de person_image y cada garment_images[]; omitir prompt en planos limpios | Describir una nueva escena, modelo o prenda que el usuario no proporcionó |
Cuando las referencias sean ambiguas: la camiseta verde de la imagen 1 y los pantalones de la imagen 2 (elaboración de prueba virtual de image-prompting) | Prompts solo de ambiente (vibra editorial de moda) o copiar el ejemplo extendido de esta habilidad cuando las referencias difieran |
| Semilla de ritual antes de redactar la redacción de desambiguación; variar la redacción cuando haya múltiples mapas válidos | Usar prompt para intercambios de fondo — redirigir a p-image-edit |
Mostrar prompt (si es necesario) antes del POST cuando las referencias sean ambiguas | Prueba virtual silenciosa que cambie pose, rostro o prendas más allá de lo indicado |
Comprobación de fidelidad (antes de pagar): la salida debe seguir siendo la persona del usuario con las prendas del usuario. Si prompt pudiera aplicarse a un conjunto de referencias diferente, reescribe la desambiguación.
Cuándo NO usarla
Usa una habilidad diferente en su lugar:
| Habilidad | Descripción | Instalación |
|---|---|---|
p-image | Úsala cuando alguien quiera explícitamente la generación de fotos más rápida y económica: paneles de estado de ánimo, paneles masivos o iteraciones rápidas; no cuando se necesite fotorrealismo controlado o texto en imagen. | npx skills add PrunaAI/pruna-skills@p-image -y |
p-image-edit | Úsala cuando alguien quiera editar una foto existente: cambiar atuendos o fondos, componer a partir de imágenes de referencia o aplicar ediciones guiadas por prompt. | npx skills add PrunaAI/pruna-skills@p-image-edit -y |
Precios
Por generación (igual para modo normal y turbo):
- $0.015 por la primera prenda
- $0.008 por cada prenda adicional
Ejemplo: 3 prendas → $0.015 + 2 × $0.008 = $0.031.
Forma de la solicitud
Una person_image, una entrada garment_images[] por prenda (hasta 11), reference_pose opcional. El modelo clasifica automáticamente cada prenda — el orden del array no importa. Las categorías mixtas pertenecen a una sola llamada.
prompt— solo cuando una referencia muestra múltiples prendas o se usa sobre un modelo; los planos limpios no necesitan prompt.preserve_input_size: true(por defecto) — las dimensiones de salida siguen la imagen de la persona.
Mapa de campos de Runware: person → person_image, garment → garment_images[], pose → reference_pose, positivePrompt → prompt, settings.turbo → turbo.
HTTP (curl)
Subir imágenes
curl -X POST "https://api.pruna.ai/v1/files" \
-H "apikey: ${PRUNA_API_KEY}" \
-F "content=@/path/to/person.jpg"
curl -X POST "https://api.pruna.ai/v1/files" \
-H "apikey: ${PRUNA_API_KEY}" \
-F "content=@/path/to/garment.png"
Usa cada urls.get de la respuesta en input.person_image y input.garment_images[]. Opcional: reference_pose.
Crear (asíncrono — recomendado)
curl -X POST 'https://api.pruna.ai/v1/predictions' \
-H 'Content-Type: application/json' \
-H "apikey: ${PRUNA_API_KEY}" \
-H 'Model: p-image-try-on' \
-d '{
"input": {
"person_image": "https://api.pruna.ai/v1/files/PERSON_FILE_ID",
"garment_images": ["https://api.pruna.ai/v1/files/GARMENT_FILE_ID"]
}
}'
Consulta y descarga: sigue pruna-api.
Completa el ritual de semilla aleatoria de generation-diversity antes de escribir los prompts — no pases la cadena del ritual como seed de la API.
Crear (síncrono — solo prueba rápida)
curl -X POST 'https://api.pruna.ai/v1/predictions' \
-H 'Content-Type: application/json' \
-H "apikey: ${PRUNA_API_KEY}" \
-H 'Model: p-image-try-on' \
-H 'Try-Sync: true' \
-d '{
"input": {
"person_image": "https://api.pruna.ai/v1/files/PERSON_FILE_ID",
"garment_images": ["https://api.pruna.ai/v1/files/GARMENT_FILE_ID"]
}
}'
Entrada extendida (turbo + pose + prompt)
curl -X POST 'https://api.pruna.ai/v1/predictions' \
-H 'Content-Type: application/json' \
-H "apikey: ${PRUNA_API_KEY}" \
-H 'Model: p-image-try-on' \
-d '{
"input": {
"person_image": "https://api.pruna.ai/v1/files/PERSON_FILE_ID",
"garment_images": [
"https://api.pruna.ai/v1/files/MULTI_GARMENT_SHOT_ID",
"https://api.pruna.ai/v1/files/BOTTOM_ID"
],
"reference_pose": "https://api.pruna.ai/v1/files/POSE_REF_ID",
"prompt": "the green t-shirt from image 1 and the trousers from image 2",
"turbo": true,
"output_format": "jpg",
"output_quality": 95,
"preserve_input_size": true
}
}'
Antes de generar
- Completa la guía de requisitos previos en orden de lectura (
generation-diversity→ elaboración de prueba virtual deimage-prompting). - Semilla de ritual → redacta
promptopcional de desambiguación dinámico + fiel (sección anterior) → confirmaperson_image,garment_images(≤6 para finales; 7–8 generalmente funciona; 9–11 puede soltar los últimos elementos), y opcionalmenteturbo/reference_pose/prompt. - Notas de Pruna: un elemento por punto corporal (calcetines + zapatos → generalmente ganan los zapatos).
turbo(~2.5–3.5 s) está desactivado por defecto — no se recomienda por encima de ~4 prendas para finales. Los recortes de cuerpo entero o de tres cuartos funcionan mejor. Omite guantes, manoplas, accesorios de mano, pañuelos de bolsillo, tirantes, broches degarment_images[].
Entrada requerida
person_image(string URL)garment_images(array de strings URL, hasta 11)
Campos opcionales comunes
seed,output_format(webp/jpg/png, por defectojpg),output_quality(0–100, por defecto 95)preserve_input_size(booleano, por defectotrue)turbo(booleano, por defectofalse)reference_pose(URL de imagen de persona)prompt(EXPERIMENTAL — desambigua referencias que no sean planos limpios o con múltiples prendas)
Próximos pasos típicos
Seguimientos comunes después de esta habilidad:
| Habilidad | Descripción | Instalación |
|---|---|---|
p-image-upscale | Úsala cuando alguien quiera escalar o nitidez una imagen existente para impresión, recortes grandes o entrega de mayor calidad. | npx skills add PrunaAI/pruna-skills@p-image-upscale -y |
p-video-2-pro | Úsala cuando alguien quiera un clip cinematográfico a partir de texto o fotogramas de inicio/fin: anuncios de producto, tomas documentales o diálogo con audio generado. No para 1080p, pistas de audio importadas o presentadores solo de cabeza parlante. | npx skills add PrunaAI/pruna-skills@p-video-2-pro -y |
p-video-2 | Úsala cuando alguien quiera un clip corto pulido a partir de texto, imágenes o audio importado: metraje B-roll 1080p, animación de fotograma de inicio/fin o una toma en movimiento con una pista mixta. No para clips de audio generado cinematográficos o presentadores solo de cabeza parlante. | npx skills add PrunaAI/pruna-skills@p-video-2 -y |
p-video | Úsala cuando alguien quiera un clip corto simple a partir de texto o imágenes: metraje B-roll rápido, borradores o animación de fotograma de inicio/fin. No cuando el brief necesite generación cinematográfica, máxima calidad, sincronización labial precisa o audio importado a 1080p. | npx skills add PrunaAI/pruna-skills@p-video -y |
p-video-avatar | Úsala cuando alguien quiera que una persona aparezca en cámara hablando un guion: presentador con sincronización labial, portavoz o avatar narrado a partir de una foto de retrato. | npx skills add PrunaAI/pruna-skills@p-video-avatar -y |