# Generador de imágenes — via OpenRouter ## Responsabilidad Recibir un prompt en inglés y una foto "antes", devolver el render "después" como data URI base64. ## Llamada a OpenRouter POST https://openrouter.ai/api/v1/chat/completions Authorization: Bearer {OPENROUTER_API_KEY} Content-Type: application/json Body: { "model": "{OPENROUTER_MODEL_IMAGEN}", // google/gemini-2.0-flash-exp-image-generation "messages": [ { "role": "user", "content": [ { "type": "text", "text": promptGenerado }, { "type": "image_url", "image_url": { "url": fotoAntesDataUri } } ] } ] } ## Manejo de la respuesta Extraer la imagen generada de la respuesta. Buscar en: 1. content directo como data URI 2. expresion regular data:image/...;base64,... 3. URL de imagen 4. Partes del mensaje (choices[0].message.content si es array) Devolver siempre como data:image/png;base64,... ## Errores - Error de red → lanzar excepción, pipeline.service reintentará - Respuesta 429 (rate limit) → esperar 5s y reintentar 1 vez - Respuesta 5xx → lanzar excepción inmediatamente