blog/developers·14 ago 2026·5 min·por el equipo de eroq
Deja que tus usuarios envíen fotos: visión en el chat de rol
Enviar fotos es la función que más retiene por crédito en apps de personajes: patrones de UX, implementación en una sola solicitud y tus deberes de moderación.
El rol por texto tiene un problema de intimidad en un solo sentido: el personaje describe su mundo y el usuario solo puede describirle el suyo con palabras. La entrada de imágenes cierra el círculo: él envía una foto de su escritorio, de su perro, de su cena, y ella reacciona a su día real. En las apps de personajes en producción, ese momento de reacción es uno de los eventos de retención más fuertes por crédito gastado.
La función, en la práctica
Los chat completions aceptan partes de imagen en los turnos del usuario: content pasa a ser un array que mezcla texto y entradas image_url (URL https o data URI, hasta 2 imágenes por solicitud). Cada imagen adjunta suma 2 créditos al costo de la respuesta: un turno de reacción a una foto en RP mini cuesta 3 créditos en total, unos tres centavos.
{
"model": "eroq-rp-mini",
"context": "Mira: sardonic starship mechanic. Relationship: three weeks in.",
"messages": [{
"role": "user",
"content": [
{ "type": "text", "text": "look what i built today" },
{ "type": "image_url", "image_url": { "url": "data:image/jpeg;base64,…" } }
]
}]
}
El motor mira la imagen y el personaje responde sin salir del personaje, no con un pie de foto. Esa diferencia es el producto: «Qué golden retriever tan bonito» es una demo de visión; «se limpia la grasa de las manos bueno, el perro es más adorable que tú. ¿Cómo se llama?» es una relación.
Patrones de UX que se ganan sus créditos
- El momento de reacción. Un botón de cámara en el compositor del chat, y punto. Los usuarios lo descubren solos; la primera respuesta del tipo «se fijó en los detalles» es el gancho.
- Fotos a petición. Haz que el personaje las pida («muéstrame dónde estás sentado ahora mismo») en momentos naturales. Las fotos pedidas convierten 3–4× mejor que un botón pasivo, y dosifican tu gasto en visión.
- Recuerdos que vuelven. Integra lo que ella vio en tu resumen continuo («su escritorio da a una ventana; el perro se llama Biscuit»). Una referencia dos días después («¿qué tal Biscuit?») es el efecto sorpresa más barato de la categoría, y no cuesta créditos extra porque es solo contexto.
- Ponle un límite visible. Dos imágenes por solicitud es el techo de la API; una cuota diaria en tu nivel gratuito mantiene aburrida la economía por usuario. La visión es barata por evento, no gratis a escala: presupuéstala como cualquier otro precio fijo.
Las responsabilidades que siguen siendo tuyas
Las imágenes que envían los usuarios son contenido generado por usuarios, y las obligaciones que conlleva ese contenido no se transfieren a tu proveedor de modelos:
- Analiza las subidas de tu lado (como mínimo, detección de CSAM con las listas de hashes del sector) antes de llamar a la API. La política de uso aceptable de eroq prohíbe de forma absoluta el contenido con menores y el de personas reales sin su consentimiento (las solicitudes fuera de ella devuelven
content_blockedy nunca se cobran), pero las herramientas de detección en el flujo de subida son tu responsabilidad legal, no un extra opcional. - Pon la función tras una verificación de edad, como el resto de tu producto. El intercambio de fotos debe estar detrás de la misma verificación de edad y la misma política que el propio rol.
- No guardes nada que no necesites. Deja pasar los data URI y conserva solo lo que el producto requiere (la línea del resumen, no la foto). RP+ y RP mini son modelos propios de eroq y no conservan nada en ningún proveedor externo. Si el personaje envía imágenes de vuelta, eso es generación de imágenes, y esas sí puedes alojarlas de forma duradera con
store: true.
Preguntas frecuentes
¿Cuántas imágenes puede adjuntar un usuario a un mensaje?
Hasta 2 por solicitud, como URL https o data URI, y solo en los turnos del usuario. Cada una suma 2 créditos al costo de la respuesta, así que un turno con foto en RP mini cuesta 3 créditos en total, y el mismo turno en RP+ cuesta 5.
¿Los dos modelos de rol admiten visión?
Sí: RP+ y RP mini aceptan partes de imagen, con el mismo recargo de +2 créditos por imagen. Como el recargo es idéntico, envía los turnos con foto a mini salvo que la imagen sea el tema de la respuesta, y reserva el modelo insignia para los momentos con peso.
¿El personaje ve de verdad la foto o solo adivina?
El motor mira la imagen y responde sin salir del personaje, y esa es toda la diferencia de producto. Una demo de visión describe la imagen; un compañero reacciona a ella, y se fija en el desorden del escritorio en lugar de enumerar los objetos que hay encima. Integra lo que ella vio en tu resumen continuo y la referencia de dos días después no cuesta créditos extra.
¿Quién es responsable de moderar lo que suben los usuarios?
Tú. Analiza las subidas de tu lado antes de llamar a la API (como mínimo, detección de CSAM con las listas de hashes del sector) y pon la función tras una verificación de edad, como el resto de tu producto. La política de uso aceptable de eroq prohíbe de forma absoluta el contenido con menores y el de personas reales sin su consentimiento, y las solicitudes fuera de la política devuelven content_blocked sin cobrarse, pero la detección en el flujo de subida es tu responsabilidad legal, no la nuestra.
Lánzala en una tarde
La entrada de imágenes es esa rara función que consiste en un botón en el compositor, un cambio de array en una llamada que ya existe y ninguna infraestructura nueva. Una clave y los 50 créditos gratis cubren toda la prueba: envía a la API una foto de tu propio escritorio y mira cómo el personaje se fija en las tazas de café. Esa reacción es la función; lo demás es disciplina de producto.
Crea esto con los modelos detrás del artículo: empieza con 50 créditos gratis o explora todos los motores y sus precios.