PluginBench
Skill
Review
Audit score 70

agnes-ai-generation

yacey/agnes-ai-generation-skill

Call Agnes AI text, image, and video generation APIs through apihub.agnes-ai.com

What is agnes-ai-generation?

Access Agnes AI / Sapiens AI generation models for text completions, image generation, image editing, and video creation. Use this when users request text generation, image synthesis, image-to-image editing, video creation, or animation via Agnes models.

  • Generate text with streaming support using agnes-2.0-flash model
  • Create images from text prompts with agnes-image-2.1-flash
  • Edit images with image-to-image transformation
  • Generate videos from text or images with agnes-video-v2.0
  • Create multi-image and keyframe-based animations
  • Retrieve completed video tasks by ID

How to install agnes-ai-generation

npx skills add https://github.com/yacey/agnes-ai-generation-skill --skill agnes-ai-generation
Prerequisites
  • API key in environment variable: AGNES_API_KEY, AGNES_API_TOKEN, or APIHUB_AGNES_API_KEY
  • Python 3.x for running scripts/agnes_api.py
  • Network access to https://apihub.agnes-ai.com
Claude Code
Cursor
Windsurf
Cline

How to use agnes-ai-generation

  1. 1.Set your Agnes API key in AGNES_API_KEY, AGNES_API_TOKEN, or APIHUB_AGNES_API_KEY environment variable
  2. 2.Run smoke-test to verify connectivity: python scripts/agnes_api.py smoke-test
  3. 3.For text generation, use: python scripts/agnes_api.py text --prompt "your prompt"
  4. 4.For images, use: python scripts/agnes_api.py image --prompt "description" --size 1024x768
  5. 5.For videos, use: python scripts/agnes_api.py video --prompt "description" --poll to create and retrieve
  6. 6.For image-to-image, add --image URL to the image command
  7. 7.For keyframe videos, add multiple --image URLs and --mode keyframes to the video command
  8. 8.Check references/api.md for detailed endpoint parameters and response fields

Use cases

Good for
  • Generate product taglines, descriptions, or marketing copy using Agnes text API
  • Create cinematic concept art or product visualizations from text descriptions
  • Transform existing images with style changes or scene modifications
  • Produce short video clips from text prompts or animate static images
  • Create smooth transitions between keyframe images for animation sequences
Who it's for
  • Content creators and designers needing AI-powered image and video generation
  • Product teams generating marketing assets and promotional videos
  • Developers integrating Agnes AI capabilities into applications
  • Researchers testing multi-modal generation workflows

agnes-ai-generation FAQ

Which Agnes model should I use for text generation?

Use agnes-2.0-flash for text chat and completions. It is optimized for conversational and generation tasks.

Can I use Agnes for tool calling and autonomous agent workflows?

Agnes tool-calling request shapes are supported but not reliable for multi-turn agent loops. Use the text generation path for best results and treat tool-calling as best-effort only.

How do I generate videos with Agnes?

Use python scripts/agnes_api.py video with --prompt and --poll flags. The API is asynchronous; the script creates a task and polls for completion. For image-to-video, add --image URL. For keyframe animation, add multiple --image URLs and --mode keyframes.

What should I do before running expensive video generation?

Test with smoke-test --video-case <case> first (text-to-video, image-to-video, multi-image, or keyframes). Warn users before long-running video generation unless they explicitly requested it.

How do I handle non-English prompts for image and video?

Convert non-English prompts to fluent English before calling the image/video API. Preserve visual details, style, lighting, composition, and motion instructions during translation for more stable generation.

Full instructions (SKILL.md)

Source of truth, from yacey/agnes-ai-generation-skill.


name: agnes-ai-generation description: Call Agnes AI / Sapiens AI generation APIs for text, image, and video. Use when the user asks to use Agnes models, Agnes Image, Agnes Video, Agnes 2.0 Flash, apihub.agnes-ai.com, or to generate text, images, edit images, create videos, animate images, create keyframe videos, or test Agnes API calls.

Agnes AI Generation

Use this skill to call Agnes text, image, and video generation APIs through https://apihub.agnes-ai.com.

Quick Start

  1. Read references/api.md when endpoint details, parameters, or response fields are needed.
  2. Use scripts/agnes_api.py for real API calls instead of rewriting curl by hand.
  3. Require an API key in AGNES_API_KEY, AGNES_API_TOKEN, or APIHUB_AGNES_API_KEY. Never print the key.
  4. For light live verification, run smoke-test; it avoids video creation by default. Add --include-image-edit for image-to-image, and add --video-case <case> explicitly for video modes. Treat the skill as fully tested only when basic text, text streaming, text tool calling, text-to-image, image-to-image, text-to-video, image-to-video, multi-image video, keyframe video, and video retrieval return successful responses.

Commands

Text generation:

python scripts/agnes_api.py text --prompt "Write a concise product tagline for an AI assistant."

Streaming text:

python scripts/agnes_api.py text --prompt "Write a short product intro." --stream

Streaming output is normalized and includes aggregated content, events, done, and a short raw_prefix.

Image generation:

python scripts/agnes_api.py image --prompt "A luminous floating city above a misty canyon at sunrise, cinematic realism" --size 1024x768

Image-to-image:

python scripts/agnes_api.py image --prompt "Turn the scene into a rainy cyberpunk night while preserving composition" --image https://example.com/input.png --size 1024x768

Text-to-video with polling:

python scripts/agnes_api.py video --prompt "A cinematic shot of a cat walking on the beach at sunset" --poll

Image-to-video:

python scripts/agnes_api.py video --prompt "Animate subtle camera movement and natural lighting" --image https://example.com/image.png --poll

Keyframe / multi-image video:

python scripts/agnes_api.py video --prompt "Create a smooth cinematic transition between the two keyframes" --image https://example.com/a.png --image https://example.com/b.png --mode keyframes --poll

Retrieve a video task:

python scripts/agnes_api.py video-get video_123456

Light live smoke test:

python scripts/agnes_api.py smoke-test

Image edit smoke test:

python scripts/agnes_api.py smoke-test --include-image-edit

Single video smoke test:

python scripts/agnes_api.py smoke-test --video-case text-to-video

Workflow

  • Prefer agnes-2.0-flash for text chat/completions.
  • Do not use Agnes Responses API multi-turn function calling for autonomous tool workflows. Live testing showed the provider can return function_call with overall status=completed, and submitting function_call_output with previous_response_id may fail. Use this skill's chat completions path for text generation and treat tool-calling as best-effort request-shape compatibility only.
  • Prefer agnes-image-2.1-flash for text-to-image, image-to-image, and high-information-density image generation. High-density generation is prompt-driven; include subject hierarchy, environment, secondary details, lighting, composition, and quality requirements.
  • Prefer agnes-video-v2.0 for text-to-video, image-to-video, multi-image video, keyframe animation, prompt-based motion and scene control, cinematic output, asynchronous task creation, polling-based result retrieval, and seed-based reproducibility.
  • For image and video generation, convert any non-English user prompt to a fluent English generation prompt before calling the image/video API. English prompts are more stable for Agnes video generation. Preserve concrete visual details, style, lighting, composition, motion, camera instructions, and constraints during translation.
  • For videos, remember the API is asynchronous: create a task first, then poll or retrieve by video_id when the create response includes it. The script falls back to legacy task_id lookup only when video_id is absent.
  • The script validates image sizes, video frame counts, frame rates, and dimensions before sending requests. num_frames must be 8n + 1 and <= 441; 81 or 121 are good short values.
  • The video command defaults to num_frames=121 and frame_rate=24 for more stable generation. Video smoke tests default to num_frames=81 and frame_rate=24.
  • Warn the user before costly or long-running live video generation unless they explicitly asked to test or generate video.
  • Test video capabilities one at a time with smoke-test --video-case <case> to avoid creating many tasks at once. Supported cases are text-to-video, image-to-video, multi-image, and keyframes.

Current Validation Notes

  • Confirmed locally: skill metadata validation and Python syntax.
  • Confirmed by live API: basic text, streaming text, tool-calling request shape, text-to-image, image-to-image, high-information-density text-to-image, Chinese prompt translation for image/video, completed text-to-video URL retrieval, and completed image-to-video URL retrieval.
  • Caveat: Agnes may accept tool-calling request parameters without consistently returning tool_calls; use smoke-test --strict-tools when strict tool-call validation is required.
  • Caveat: Agnes Responses API multi-turn function calling is not reliable for agent tool loops; do not rely on it for Codex/Claude-style automatic tool continuation.
  • Supported by the script and smoke-test selector, but not re-run end-to-end in the latest pass: multi-image video and keyframe animation.
  • Not yet confirmed end-to-end: completed URL retrieval for every multi-image video and keyframe animation task. A previous text-to-video task returned a provider-side division by zero error, so keep video retries visible and report provider errors clearly.

Output Handling

  • Return generated image/video URLs directly by default. Do not download, save, open, or inspect generated media unless the user explicitly asks for a local file or visual inspection.
  • For image responses, expect URL-style results when extra_body.response_format is url.
  • For video responses, extract URLs from video_url, url, or remixed_from_video_id when status is completed.
  • For video retrieval, prefer GET /agnesapi?video_id=...&model_name=agnes-video-v2.0; legacy GET /v1/videos/{task_id} remains a fallback.
  • If a request fails, report HTTP status and provider error body without exposing the API key.