Proeycto de images-worker creado
This commit is contained in:
37
mvp/image-worker/skills/image-generator.md
Normal file
37
mvp/image-worker/skills/image-generator.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user