Communitygithub.com

Agnes multimodal

Skill Agnes AI todo-modal: texto, visión, imagen, vídeo y traducción. Compatible con WorkBuddy / Codex / Claude Code / OpenClaw. Cero dependencias externas.

¿Qué es Agnes multimodal?

Agnes multimodal (fengtai227-hash/agnes-multimodal) empaqueta texto + visión + imagen + vídeo + traducción en una sola skill de agente sin pegamento de servicios externos. Compatible con WorkBuddy, Codex, Claude Code y OpenClaw: el kit «una skill, muchas modalidades» para builders que no quieren cuidar un montón de APIs.

Compatible con✓Claude Code✓Codex CLI~Cursor
npx skills add fengtai227-hash/agnes-multimodal

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Habilidad de Generación Multimodal de Agnes AI

Descripción general

Esta habilidad encapsula todas las capacidades de generación de Agnes AI (Sapiens AI), invocadas de manera unificada a través de un script CLI:

  • Generación de texto: agnes-2.5-flash (compatible con modo de razonamiento Thinking, $0)
  • Comprensión de imágenes/Visión: agnes-2.5-flash (compatible con la API de Visión de OpenAI, puede analizar el contenido de la imagen)
  • Texto a imagen/Imagen a imagen: agnes-image-2.5-flash (última generación, optimizada para alta densidad de información; se puede usar --model agnes-image-2.1-flash para retroceder a la generación anterior)
  • Motor de video uno (V2.0): agnes-video-v2.0 — texto a video / imagen a video / animación con fotogramas clave, frecuencia de fotogramas y resolución libres, $0/segundo
  • Motor de video dos (Video 2.5 Flash): agnes-video-2.5-flash — nuevo modelo, tres modos: texto/fotograma clave/referencia, referencia multimodal, 720P gratis por tiempo limitado; la actualización de pago --model agnes-video-2.5 desbloquea 960P/2K y referencia de video
  • Traducción automática: Las indicaciones en chino se traducen automáticamente al inglés antes de llamar a la API
  • Sondeo asíncrono: Las tareas de video se sondean automáticamente hasta que se completan

Requisitos previos

  1. Asegúrate de que la clave API esté configurada:

    • Lee primero API_KEY codificado en scripts/agnes_client.py
    • Si es un marcador de posición YOUR_AGNES_API_KEY_HERE, recurre a la variable de entorno AGNES_API_KEY
    • Si ninguno está configurado, pide al usuario que configure la clave API en el código o en las variables de entorno
  2. Python 3.8+, solo se necesita la biblioteca estándar urllib + json, sin dependencias adicionales.

Referencia rápida de comandos CLI

Ubicación del script: scripts/agnes_client.py

# Generación de texto
python scripts/agnes_client.py text "tu indicación"
python scripts/agnes_client.py text "Hola" --stream
python scripts/agnes_client.py text "Escribe un ordenamiento rápido" --thinking  # Modo de razonamiento 2.5

# Texto a imagen (agnes-image-2.5-flash, predeterminado 1K; se recomienda tamaño + relación)
python scripts/agnes_client.py image "Una ciudad futurista al atardecer, realismo cinematográfico" --size 2K --ratio 16:9
python scripts/agnes_client.py image "Un gato paseando bajo la luz de la luna"
python scripts/agnes_client.py image "..." --model agnes-image-2.1-flash   # Retroceder a la generación anterior

# Imagen a imagen (detección automática de relación — por defecto según la relación de la imagen de referencia principal)
python scripts/agnes_client.py image "Transformar a noche cyberpunk" --image-url "https://...input.png" --image-url "https://...ref.png"

# Imagen a imagen + relación especificada manualmente (sin detección automática)
python scripts/agnes_client.py image "Transformar a noche cyberpunk" --image-url "https://...input.png" --ratio 16:9

# ── Motor de video uno: V2.0 (frecuencia de fotogramas/resolución libres, $0) ──
python scripts/agnes_client.py video "Un dron volando sobre montañas al amanecer" --poll          # Texto a video
python scripts/agnes_client.py video "Añadir movimiento a esta escena" --image-url "https://...frame.png" --poll  # Imagen a video
python scripts/agnes_client.py video --keyframes "https://a.com/1.png,https://a.com/2.png,https://a.com/3.png" --poll  # Animación con fotogramas clave

# ── Motor de video dos: Video 2.5 Flash (nueva generación, 720P gratis) ──
python scripts/agnes_client.py video25 "Calles de ciudad futurista después de la lluvia, reflejos de luces de neón, movimiento de cámara cinematográfico" --poll          # Texto a video
python scripts/agnes_client.py video25 "Una persona se gira naturalmente y camina hacia la ventana" --first-frame "https://.../f.png" --last-frame "https://.../l.png" --poll  # Fotogramas clave de inicio y fin
python scripts/agnes_client.py video25 "Con <Picture 1> como referencia de personaje corriendo en un campo de flores" --image-url "https://.../char.png" --poll  # Referencia de imagen
python scripts/agnes_client.py video25 "Siguiendo el ritmo de <Audio 1> para generar una escena nocturna" --audio-url "https://.../music.mp3" --poll  # Referencia de audio
python scripts/agnes_client.py video25 "..." --model agnes-video-2.5 --size 960P               # Actualización de pago (960P/2K)

# Solo enviar tarea de video sin esperar
python scripts/agnes_client.py video "..." --no-poll
python scripts/agnes_client.py video25 "..." --no-poll

# Consultar el estado de una tarea de video (para tareas V2.5, se recomienda usar --model)
python scripts/agnes_client.py video-status TASK_ID
python scripts/agnes_client.py video-status TASK_ID --model agnes-video-2.5-flash

# Traducir indicación en chino
python scripts/agnes_client.py translate "Un gato"

# Comprensión de imágenes / Visión (usar agnes-2.5-flash para analizar el contenido de la imagen)
python scripts/agnes_client.py vision --image-url "https://example.com/photo.png"
python scripts/agnes_client.py vision --image-url "https://example.com/photo.png" --prompt "¿Qué marca es este reloj?"

# Prueba de humo (verificar conectividad de la API)
python scripts/agnes_client.py smoke-test

Flujo de trabajo completo

Flujo de texto a imagen

  1. Recibir la indicación del usuario en chino/inglés
  2. Si contiene chino y no se especifica --no-translate, llamar automáticamente a agnes-2.5-flash para traducir al inglés
  3. Llamar a POST /v1/images/generations (modelo predeterminado: agnes-image-2.5-flash)
  4. Extraer la URL de la imagen de data[0].url de la respuesta
  5. Devolver el resultado al usuario (mostrar la URL, o intentar abrirla con curl/navegador)

Recomendación de tamaño: para texto a imagen, se recomienda usar --size 2K --ratio 16:9 y escritura de "tamaño + relación" para obtener un tamaño predecible; Los tamaños precisos no admitidos (como 1920x1080) serán estandarizados por el servidor y deben recortarse manualmente.

Flujo de imagen a imagen

  1. Confirmar que el usuario proporcionó la URL de la imagen de entrada o la ruta local
  2. Si es necesario traducir la indicación, realizar la traducción
  3. Llamar al mismo endpoint, pasando la matriz de URL de las imágenes de entrada en extra_body.image
  4. Devolver el resultado generado

Flujo de generación de video (selección de motor)

La habilidad incluye dos motores de video, elige según la necesidad:

MotorSubcomandoModeloCaracterísticasPrecio
V2.0videoagnes-video-v2.0t2v/ti2vid/keyframes, frecuencia de fotogramas (num_frames 8n+1) y resolución libres$0/segundo
Video 2.5video25agnes-video-2.5-flash (predeterminado) / agnes-video-2.5 (de pago)Nueva generación: texto/fotograma clave/referencia, imagen/audio de referencia, movimiento de cámara más controlableflash gratis por tiempo limitado

Flujo de trabajo de Video 2.5 Flash (video25):

  1. Inferir automáticamente el modo según el material (--mode auto), o especificar explícitamente:
    • text: solo texto → sin parámetros de medios
    • keyframe: --first-frame / --last-frame (al menos uno) restringe la composición de inicio y fin
    • reference: --image-url (≤5) / --audio-url (≤3 segmentos); usar marcadores de posición <Picture N> / <Audio N> en la indicación para referirse al material
  2. Enviar POST /v1/videos, parámetros: mode + seconds("4"~"12") + size (flash solo 720P) + aspect_ratio + seed
  3. Sondear GET /agnesapi?video_id=<ID>&model_name=agnes-video-2.5-flash (keyframe/reference deben incluir model_name)
  4. Cuando el estado sea completed, extraer la URL del video de la respuesta

⚠️ video25 y video tienen sistemas de parámetros completamente diferentes: video25 no acepta num_frames/width/height/fps/negative_prompt (devuelve 400).

Restricciones de parámetros de video (Motor uno V2.0)

  • num_frames debe cumplir 8n + 1, máximo 441
  • Predeterminado: num_frames=121, frame_rate=24 (aproximadamente 5 segundos)
  • Para pruebas rápidas usar --num-frames 81 (aproximadamente 3.4 segundos)

Restricciones de parámetros de video (Motor dos Video 2.5)

  • seconds es una cadena "4"~"12", predeterminado "5"
  • size: flash fijo 720P; modelo de pago agnes-video-2.5 puede elegir 720P/960P/2K
  • aspect_ratio: 21:9 / 16:9(predeterminado) / 4:3 / 1:1 / 3:4 / 9:16
  • Limitaciones de flash: imágenes de referencia ≤5, segmentos de audio ≤3, no admite referencia de video (la versión de pago admite videos)
  • Probado: 720P 16:9 produce aproximadamente 1280x704

Flujo de comprensión de imágenes (Visión)

agnes-2.5-flash es compatible con el formato de entrada multimodal de la API de Visión de OpenAI, puede analizar el contenido de la imagen y devolver una descripción textual. Esta es una solución puente para "proporcionar ojos a modelos sin capacidad visual". La capacidad de comprensión de imágenes de la versión 2.5 es más fuerte que la 2.0, y el reconocimiento de detalles es más preciso.

  1. Asegúrate de que la imagen esté subida a una URL HTTP(S) accesible públicamente
  2. Llamar al comando vision, pasando la URL de la imagen + una indicación de análisis opcional
  3. Devuelve una descripción textual, que se puede pasar directamente como contexto a otros modelos (por ejemplo, "Por favor, da sugerencias de mejora para el diseño de este reloj en la imagen" — primero visión para obtener la descripción, luego pasar a cualquier modelo de texto para análisis)

Parámetros del comando Vision:

  • --image-url (obligatorio, se puede especificar varias veces): URL de la imagen a analizar
  • --prompt (opcional): indicación de análisis, predeterminado "Describe esta imagen en detalle."
  • --system (opcional): indicación del sistema
  • --max-tokens (opcional): máximo de tokens de salida, predeterminado 1000
  • --no-translate (opcional): omitir la traducción automática (recomendado para indicaciones en inglés)

Prácticas recomendadas para indicaciones

Estructura de indicación para imágenes

[Sujeto] + [Escena] + [Estilo] + [Iluminación] + [Composición] + [Calidad]

Ejemplo:

Un reloj de lujo con correa de cuero negro sobre una superficie de mármol, iluminación suave de estudio, fotografía macro, detalle 8K, alta densidad visual

Indicación para imagen a imagen

Describir claramente qué cambiar + qué mantener:

Transformar el fondo a un entorno de lujo oscuro mientras se conserva el diseño y el ángulo del reloj.

Indicación para video

Incluir elementos de movimiento y tiempo:

Una rotación lenta de 360 grados alrededor del reloj, revelando cada detalle, iluminación cinematográfica, movimiento suave

Precios

ModeloPrecio
agnes-2.5-flash (texto/Visión/razonamiento)Gratis ($0/1M tokens)
agnes-image-2.5-flash (imagen, última generación)Gratis ($0/imagen, todos los tamaños 1K~4K)
agnes-image-2.1-flash (imagen, generación anterior)Gratis ($0/imagen)
agnes-video-v2.0 (motor de video uno)Gratis ($0/segundo)
agnes-video-2.5-flash (motor de video dos)Gratis por tiempo limitado ($0/segundo, 720P)
agnes-video-2.5 (video, actualización de pago)$0.025/segundo(720P) / $0.040/segundo(960P) / $0.055/segundo(2K)

Los precios están sujetos al sitio web oficial https://www.agnes-ai.com/zh-Hans/docs/pricing; las políticas gratuitas pueden cambiar según los anuncios de la plataforma.

Limitaciones conocidas

  • El modo Thinking 2.5 devuelve el campo reasoning_content (proceso de razonamiento), lo que agrega una pequeña cantidad de tokens de salida
  • La generación de video ocasionalmente tiene un error de servidor division by zero
  • La generación de video con múltiples imágenes/animación con fotogramas clave V2.0 aún no se ha verificado completamente de extremo a extremo
  • La API de imágenes solo acepta URL HTTP(S) como entrada, no base64 (entrada); la salida puede ser URL o Base64
  • agnes-video-2.5-flash solo tiene 720P, no admite referencia de video; para 960P/2K o referencia de video, usa la versión de pago --model agnes-video-2.5
  • Las consultas de tareas keyframe/reference de video25 deben incluir --model agnes-video-2.5-flash

Detección automática de relación (i2i)

En i2i, si no se especifica --ratio, el script detecta automáticamente la relación de aspecto de la imagen de referencia principal (la primera --image-url) y la asigna a una de las 8 relaciones oficiales admitidas por agnes-image-2.5-flash (1:1 / 3:4 / 4:3 / 16:9 / 9:16 / 2:3 / 3:2 / 21:9), evitando que la proporción del lienzo de salida sea inconsistente con el sujeto de entrada, lo que podría causar deformación de las personas.

# Detección automática: imprimirá [INFO] Imagen de referencia principal: ... → relación automática: ...
python scripts/agnes_client.py image "indicación" --image-url MODEL_URL --image-url REF_URL --size 2K

# Especificación manual (omitir detección automática)
python scripts/agnes_client.py image "indicación" --image-url MODEL_URL --ratio 16:9

Convención de imagen de referencia principal: el primer --image-url se considera el sujeto que determina la composición/relación (generalmente la imagen del modelo/producto); la segunda y posteriores se consideran referencias de estilo/detalle. Para cambiar la imagen de referencia principal, intercambia el orden de --image-url.

Referencias

Skills relacionados