1.1 KiB
1.1 KiB
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:
- content directo como data URI
- expresion regular data:image/...;base64,...
- URL de imagen
- 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