# Inliner.ai > AI image generation via agent skills, Codex plugins, MCP tools, CLI, SDKs, and stable hosted URLs. Inliner.ai provides several ways to integrate AI images into your workflow: 1. **Direct CDN URLs**: Use generated Inliner image URLs in `` tags, CSS, email, and Markdown. For account-owned namespaces, create first renders through Studio, API, CLI, MCP, or an authenticated session; the resulting CDN URL can then be served directly. 2. **Official SDKs**: Use JS/TS (`@inliner/js`), Python (`inliner-ai`), Go (`inliner-go`), or PHP (`inliner/inliner-php`) for programmatic generation, editing, and AI-powered asset management (tagging, search, rename, metadata workflows). 3. **Agent Skill / Plugin**: Use the canonical `inliner-ai` skill from `@inliner/agent-skill` so models know when to invoke Inliner and how to select the correct operation. 4. **Tool-Assisted Mode (MCP/CLI)**: Use `@inliner/mcp-server` or `@inliner/cli` for live project access, generation, editing, URL planning, and account operations. 5. **AI Asset Management**: Every image is automatically analyzed and tagged. Use multi-tag filtering (e.g., `tags:nature AND tags:mountain`), metadata updates, and export workflows via SDK/API/CLI. ## URL Format ``` https://img.inliner.ai/{project}/{description}_{width}x{height}.{format} ``` Example: ``` https://img.inliner.ai/myproject/happy-golden-retriever-playing-fetch_800x600.png ``` ## Agent-Aware Installation The skill/plugin and MCP server are complementary: - `@inliner/agent-skill@1.3.0` teaches activation and safe workflow selection. - `@inliner/mcp-server@1.1.1` provides 12 live tools and publishes matching instructions during MCP initialization. ### OpenAI Codex plugin ```bash codex plugin marketplace add inliner-ai/agent-skill --ref v1.3.0 codex plugin add inliner-ai@inliner-ai ``` ### Gemini CLI extension ```bash gemini extensions install https://github.com/inliner-ai/agent-skill ``` ### Claude Code and other skill-compatible agents Install or copy `skills/inliner-ai` from https://github.com/inliner-ai/agent-skill and configure the bundled `.mcp.json`. ### Cursor Install https://github.com/inliner-ai/cursor-plugin, which synchronizes the canonical `inliner-ai` skill and includes MCP configuration and commands. ## Core Guidance for LLMs Use Inliner when a user requests a new or edited visual asset for a website, application, email, documentation, ecommerce listing, presentation, or marketing content. 1. For a new asset that will be inserted or shipped, call `generate_image` and wait for the completed hosted URL. 2. For changes to an identified existing asset, call `edit_image` with `sourceUrl` or `sourcePath`. 3. For URL naming or slug planning only, call `recommend_image_url`; it does not generate an image. 4. Reuse existing generated Inliner URLs directly. 5. Resolve the configured or account project automatically. Create a project only with explicit user intent. 6. Use `demo` only for clearly labeled examples or previews. 7. Include dimensions and semantic `alt` text when integrating an asset. ## Smart URL Behavior In MCP/CLI generation flows, long prompts can be summarized to concise URL slugs by default without reducing image quality. For rename/edit workflows tied to an existing asset, use image-based slug recommendation: - `POST /url/recommend-from-content` (suggests slug options from the saved image + prompt context) - `GET /content/details/{contentId}` (preload title/caption/alt/custom metadata before editing) ## Modality Rules (Important) - **Generate new image**: use `generate_image` or `inliner-ai generate`; the returned account-owned URL is materialized and ready to insert. - **Edit existing image**: use `edit_image` or `inliner-ai edit` with explicit source (`sourceUrl`/`sourcePath`). - **Recommend URL only**: use `recommend_image_url`; its result is not a generated asset. - `generate_image_url` and `create_image` are deprecated MCP compatibility aliases. - If user says "make it bigger/resize this/change this image" and an existing image is present, prefer edit flow. - If intent is ambiguous and no source exists, ask whether to edit previous image or generate new image. ## Cursor MCP Config Example ```json { "mcpServers": { "inliner": { "type": "stdio", "command": "npx", "args": ["-y", "@inliner/mcp-server"], "env": { "INLINER_API_KEY": "inl_your-api-key-here", "INLINER_DEFAULT_PROJECT": "your-project-namespace" } } } } ``` ## Integration Options - URL-based: direct CDN URL usage in HTML/CSS - Agent skill/plugin: `@inliner/agent-skill@1.3.0` and https://github.com/inliner-ai/agent-skill - JS SDK: `npm install @inliner/js` for web and Node.js - Python SDK: `pip install inliner-ai` for server-side apps - Go SDK: `go get github.com/inliner-ai/inliner-go` for high-performance backends - PHP SDK: `composer require inliner/inliner-php` for Laravel/PHP apps - MCP Server: `npx -y @inliner/mcp-server@1.1.1` for Claude Code, OpenAI Codex CLI, Cursor, Copilot, Gemini CLI, and Windsurf - CLI: `npx @inliner/cli "hero-banner_1200x600.png" -p myproject` - API: REST API at `https://api.inliner.ai` ## Docs - Full docs: https://inliner.ai/llms-full.txt - API docs: https://inliner.ai/api-docs - CLI guide: https://inliner.ai/use-case/cli-terminal-image-generation - MCP guide: https://inliner.ai/use-case/mcp-server-ai-coding-agents - Agent skill/plugin: https://github.com/inliner-ai/agent-skill - Cursor plugin: https://github.com/inliner-ai/cursor-plugin - Cursor guide: https://inliner.ai/tutorial/cursor