# Picnie

```json
{
  "name": "Picnie",
  "slug": "picnie",
  "url": "https://composio.dev/toolkits/picnie",
  "markdown_url": "https://composio.dev/toolkits/picnie.md",
  "logo_url": "https://logos.composio.dev/api/picnie",
  "categories": [
    "design & creative tools"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-08-30T05:34:45.084Z"
}
```

![Picnie logo](https://logos.composio.dev/api/picnie)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Picnie MCP or direct API to generate images, create PDFs, process and transform images, and extract text through natural language.

## Summary

Picnie is a REST API service for template-based image and PDF generation, image processing, metadata operations, asset uploads, and OCR.
Use Picnie to automate production-quality visuals and searchable documents with predictable templates and built-in processing.

## Categories

- design & creative tools

## Toolkit Details

- Tools: 19

## Images

- Logo: https://logos.composio.dev/api/picnie

## Authentication

- **Api Key**
  - Type: `api_key`
  - Description: Api Key authentication for Picnie.
  - Setup:
    - Configure Api Key credentials for Picnie.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- Generate product hero image from template
- Convert receipts to searchable PDF with OCR
- Apply watermark and upload image asset

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `PICNIE_ADD_IMAGE_METADATA` | Add Image Metadata | Write EXIF-style metadata into a public JPEG image URL. This creates a processed output and may consume Picnie credits; Picnie's metadata-key allowlist is not fully documented. |
| `PICNIE_ADD_IMAGE_WATERMARK` | Add Image Watermark | Overlay a public logo or image URL on a public background image while constraining the output to the required maximum width and height. This image-processing operation may consume Picnie credits. |
| `PICNIE_ADD_TEXT_WATERMARK` | Add Text Watermark | Overlay styled text on a public image URL. This image-processing operation may consume Picnie credits; supported Picnie font filenames are not fully documented. |
| `PICNIE_APPLY_IMAGE_FILTER` | Apply Image Filter | Apply one supported Picnie visual filter to a public image URL. This operation may consume Picnie credits. |
| `PICNIE_COMPRESS_IMAGE` | Compress Image | Compress a public image URL at a selected Picnie quality and optionally change its format. This operation may consume Picnie credits. |
| `PICNIE_CONVERT_IMAGE` | Convert Image | Convert a public image URL to WebP, JPEG, or PNG without asking the agent to choose a compression quality. This operation may consume Picnie credits. |
| `PICNIE_CREATE_IMAGE` | Create Image | Generate one image from a stored Picnie template and dynamic field replacements. This operation may consume Picnie credits. |
| `PICNIE_CREATE_IMAGE_COLLECTION` | Create Image Collection | Generate multiple images from a Picnie template group and shared replacements. This can consume multiple Picnie credits in one call. |
| `PICNIE_CREATE_PDF` | Create PDF | Generate a PDF from a stored Picnie template and dynamic field replacements. This operation may consume Picnie credits. |
| `PICNIE_CREATE_PROJECT` | Create Project | Create a persistent Picnie project for organizing generated and processed media. Picnie exposes no project deletion endpoint, so use this only when a new project is actually needed. |
| `PICNIE_CROP_IMAGE` | Crop Image | Crop a public image URL to fixed dimensions using horizontal and vertical origin alignment. This operation may consume Picnie credits. |
| `PICNIE_GET_IMAGE_METADATA` | Get Image Metadata | Read dimensions, file properties, and EXIF metadata from a public JPEG image URL. Picnie processing may consume credits even though this tool is read-only from the agent's perspective. |
| `PICNIE_GET_TEMPLATE` | Get Template | Get a Picnie template's complete layout and simplified dynamic fields for constructing generation replacements. |
| `PICNIE_LIST_PROJECTS` | List Projects | List all projects belonging to the connected Picnie account, including IDs needed by generation and processing tools. |
| `PICNIE_LIST_TEMPLATES` | List Templates | List templates available to the connected Picnie account so an agent can select inputs for image or PDF generation. |
| `PICNIE_REMOVE_IMAGE_BACKGROUND` | Remove Image Background | Use Picnie AI to remove the background from a public image URL. This operation may consume Picnie credits. |
| `PICNIE_RESIZE_IMAGE` | Resize Image | Resize a public image URL either to explicit pixel dimensions or by percentage. This operation may consume Picnie credits. |
| `PICNIE_TRANSCRIBE_IMAGE` | Transcribe Image | Extract text from a public image URL with Picnie OCR. This operation may consume Picnie credits; Picnie currently documents only Original for method and language. |
| `PICNIE_UPLOAD_ASSET` | Upload Asset | Upload an image file to the connected Picnie account's persistent media library and return its public URL. Supported formats, size limits, and deletion behavior are not documented. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK
```python
pip install composio_openai
```

```typescript
npm install @composio/openai
```

#### Path 1, Step 2: Initialize Composio and Create Tool Router Session

Import and initialize Composio client, then create a Tool Router session
```python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')
```

```typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
```

#### Path 1, Step 3: Execute Picnie Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute Picnie actions with your Agent
```python
tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': "Generate a 1200x628 marketing image from 'Launch' template and upload it as an asset with tags: product, launch"
  }]
)
result = composio.provider.handle_tool_calls(
  response=response,
  user_id='your-user-id'
)
print(result)
```

```typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: "Generate a 1200x628 marketing image from 'Launch' template and upload it as an asset with tags: product, launch"
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK for Python or TypeScript
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
```

#### Path 2, Step 2: Initialize Client and Create Tool Router Session

Import and initialize the Composio client, then create a Tool Router session for Picnie
```python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url

# Example: create an auth config for Picnie (API key) in Composio
# (uses Composio auth_configs.create() to register how Picnie auth should be handled)
composio.auth_configs.create('picnie_api_key', {
    'type': 'api_key',
    'name': 'Picnie API Key'
})
```

```typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });
const session = await composio.create('your-user-id');
console.log(`Tool Router session created: ${session.mcp.url}`);

// Example: register an auth config for Picnie (API key)
await composio.auth_configs.create('picnie_api_key', {
  type: 'api_key',
  name: 'Picnie API Key',
});
```

#### Path 2, Step 3: Connect to AI Agent

Use the MCP server with your AI agent (Anthropic Claude or Mastra)
```python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to Picnie tools.',
    max_turns=10
)

# Optionally link a Picnie connected account for a user
# (demonstrates connected_accounts.link())
composio.connected_accounts.link('picnie_api_key', user_id='your-user-id', config={'api_key': 'USER_PICNIE_API_KEY'})

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('Generate a 600x600 social image from the "Promo" template and return the asset URL')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: session.mcp.url,
    headers: {
      'x-api-key': 'your-composio-api-key',
    },
  },
});

// Example: link a Picnie connected account for a user (shows connected_accounts.link())
await composio.connected_accounts.link('picnie_api_key', {
  user_id: 'your-user-id',
  config: { api_key: 'USER_PICNIE_API_KEY' },
});

const tools = await client.tools();
const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{
    role: 'user',
    content: 'Create a printable invoice PDF from the "Invoice" template with line items: Widget x2 $19.99'
  }],
  maxSteps: 5,
});

console.log(`Agent: ${text}`);
```

## Why Use Composio?

### 1. AI Native Picnie Integration

- Supports both Picnie MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable tool execution
- Rich coverage for reading, writing, and querying your Picnie data

### 2. Managed Auth

- Built-in OAuth handling with automatic token refresh and rotation
- Central place to manage, scope, and revoke Picnie access
- Per user and per environment credentials instead of hard-coded keys

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access Picnie
- Scoped, least privilege access to Picnie resources
- Full audit trail of agent actions to support review and compliance

## Use Picnie with any AI Agent Framework

Choose a framework you want to connect Picnie with:

- [ChatGPT Work](https://composio.dev/toolkits/picnie/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/picnie/framework/claude-cowork)
- [Hermes](https://composio.dev/toolkits/picnie/framework/hermes-agent)

## Related Toolkits

- [Figma](https://composio.dev/toolkits/figma) - Figma is a collaborative interface design tool for teams and individuals. It streamlines design workflows with real-time collaboration and easy sharing.
- [Abyssale](https://composio.dev/toolkits/abyssale) - Abyssale is a creative automation platform for generating images, videos, GIFs, PDFs, and HTML5 content programmatically. It streamlines and scales visual content production for marketing, design, and operations teams.
- [Alttext ai](https://composio.dev/toolkits/alttext_ai) - AltText.ai is a service that generates alt text for images automatically. It helps boost accessibility and SEO for your visual content.
- [Are.na](https://composio.dev/toolkits/arena) - Are.na is a creative research platform for collecting images, links, notes, and ideas in channels. Use it to organize inspiration, build knowledge maps, and connect research across projects.
- [Bannerbear](https://composio.dev/toolkits/bannerbear) - Bannerbear is an API-driven platform for generating images and videos automatically at scale. It helps businesses create custom graphics, social visuals, and marketing assets using powerful templates.
- [Bannerbite](https://composio.dev/toolkits/bannerbite) - Bannerbite is a creative automation platform for generating images and videos from reusable projects and templates. It helps teams produce on-brand visual assets faster without rebuilding designs from scratch.
- [Builder.io](https://composio.dev/toolkits/builder_io) - Builder.io is a visual development platform for managing content, models, assets, and Space configuration. Use it to ship editable digital experiences faster without waiting on every code change.
- [Canva](https://composio.dev/toolkits/canva) - Canva is a drag-and-drop design suite for creating professional graphics, presentations, and marketing materials. It makes it easy for anyone to design with beautiful templates and a vast library of elements.
- [Canva MCP](https://composio.dev/toolkits/canva_mcp) - Canva MCP is Canva's remote MCP server for accessing designs and content. It centralizes design assets and enables programmatic design workflows.
- [Claid ai](https://composio.dev/toolkits/claid_ai) - Claid.ai delivers AI-driven image editing APIs for tasks like background removal, upscaling, and color correction. It helps automate and enhance image workflows with powerful, developer-friendly tools.
- [Cloudinary](https://composio.dev/toolkits/cloudinary) - Cloudinary is a cloud-based platform for managing, uploading, and transforming images and videos. It streamlines media workflows and delivers optimized assets globally.
- [Contentdrips](https://composio.dev/toolkits/contentdrips) - Contentdrips is an asynchronous rendering API for branded graphics and carousels. It turns reusable templates into on-brand social visuals at scale.
- [Creatomate](https://composio.dev/toolkits/creatomate) - Creatomate is an API for generating automated videos, images, GIFs, and reusable media templates. Use it to turn structured data into polished visual content at scale.
- [Cults](https://composio.dev/toolkits/cults) - Cults is a digital marketplace for 3D printing models, connecting designers and makers. It lets creators share, sell, and discover a huge variety of printable designs easily.
- [DeepImage](https://composio.dev/toolkits/deepimage) - DeepImage is an AI-powered image enhancer and upscaler. Get higher-quality images with just a few clicks.
- [Dreamstudio](https://composio.dev/toolkits/dreamstudio) - DreamStudio is Stability AI’s platform for generating and editing images with AI. It lets you easily turn ideas into stunning visuals, fast.
- [Dynamic Mockups](https://composio.dev/toolkits/dynamic_mockups) - Dynamic Mockups is an API platform for generating product mockups, rendering templates, and managing visual asset catalogs. Use it to automate high-quality product visuals, AI images, and motion assets at scale.
- [Dynapictures](https://composio.dev/toolkits/dynapictures) - Dynapictures is a cloud-based platform for generating personalized images at scale. Instantly create hundreds of custom visuals using your data sources, like Google Sheets.
- [Excalidraw MCP](https://composio.dev/toolkits/excalidraw_mcp) - Excalidraw MCP is a no-auth MCP server for creating hand-drawn style diagrams in Excalidraw. Use it to generate visual sketches with viewport camera control and fullscreen editing.
- [Fal.ai](https://composio.dev/toolkits/fal_ai) - Fal.ai is a generative media platform offering 600+ AI models for images, video, voice, and audio. Developers use Fal.ai for fast, scalable access to cutting-edge generative AI tools.

## Frequently Asked Questions

### Do I need my own developer credentials to use Picnie with Composio?

Yes, Picnie requires you to configure your own API key credentials. Once set up, Composio handles secure credential storage and API request handling for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
