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-flashpara 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.5desbloquea 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
-
Asegúrate de que la clave API esté configurada:
- Lee primero
API_KEYcodificado enscripts/agnes_client.py - Si es un marcador de posición
YOUR_AGNES_API_KEY_HERE, recurre a la variable de entornoAGNES_API_KEY - Si ninguno está configurado, pide al usuario que configure la clave API en el código o en las variables de entorno
- Lee primero
-
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
- Recibir la indicación del usuario en chino/inglés
- Si contiene chino y no se especifica
--no-translate, llamar automáticamente aagnes-2.5-flashpara traducir al inglés - Llamar a
POST /v1/images/generations(modelo predeterminado:agnes-image-2.5-flash) - Extraer la URL de la imagen de
data[0].urlde la respuesta - 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:9y 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
- Confirmar que el usuario proporcionó la URL de la imagen de entrada o la ruta local
- Si es necesario traducir la indicación, realizar la traducción
- Llamar al mismo endpoint, pasando la matriz de URL de las imágenes de entrada en
extra_body.image - 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:
| Motor | Subcomando | Modelo | Características | Precio |
|---|---|---|---|---|
| V2.0 | video | agnes-video-v2.0 | t2v/ti2vid/keyframes, frecuencia de fotogramas (num_frames 8n+1) y resolución libres | $0/segundo |
| Video 2.5 | video25 | agnes-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 controlable | flash gratis por tiempo limitado |
Flujo de trabajo de Video 2.5 Flash (video25):
- Inferir automáticamente el modo según el material (
--mode auto), o especificar explícitamente:text: solo texto → sin parámetros de medioskeyframe:--first-frame/--last-frame(al menos uno) restringe la composición de inicio y finreference:--image-url(≤5) /--audio-url(≤3 segmentos); usar marcadores de posición<Picture N>/<Audio N>en la indicación para referirse al material
- Enviar
POST /v1/videos, parámetros:mode+seconds("4"~"12") +size(flash solo 720P) +aspect_ratio+seed - Sondear
GET /agnesapi?video_id=<ID>&model_name=agnes-video-2.5-flash(keyframe/reference deben incluir model_name) - Cuando el estado sea
completed, extraer la URL del video de la respuesta
⚠️
video25yvideotienen sistemas de parámetros completamente diferentes:video25no acepta num_frames/width/height/fps/negative_prompt (devuelve 400).
Restricciones de parámetros de video (Motor uno V2.0)
num_framesdebe cumplir8n + 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)
secondses una cadena"4"~"12", predeterminado"5"size: flash fijo720P; modelo de pagoagnes-video-2.5puede elegir720P/960P/2Kaspect_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.
- Asegúrate de que la imagen esté subida a una URL HTTP(S) accesible públicamente
- Llamar al comando
vision, pasando la URL de la imagen + una indicación de análisis opcional - 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
| Modelo | Precio |
|---|---|
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-flashsolo 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
video25deben 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-urlse 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
- Documentación detallada de la API:
references/api_reference.md - Sitio web oficial: https://agnes-ai.com/
- Plataforma API: https://platform.agnes-ai.com/