---
canonical_url: "https://docs.composio.dev/toolkits/picnie"
markdown_url: "https://docs.composio.dev/toolkits/picnie.md"
product: "platform"
version: null
last_updated: null
---

# Picnie

Picnie automates template-based image and PDF generation, image processing, metadata operations, asset uploads, and OCR through its REST API.

- **Category:** images & design
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 19
- **Triggers:** 0
- **Slug:** `PICNIE`
- **Version:** 00000000_00

## Tools

### Add Image Metadata

**Slug:** `PICNIE_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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `metadata` | object | Yes | EXIF-style key/value object. Documented keys include ImageDescription, Artist, Software, UserComment, Copyright, Make, Model, and DateTimeOriginal; Picnie may reject other keys. |
| `image_url` | string | Yes | Publicly accessible JPEG image URL. |
| `project_id` | string | Yes | Project ID that owns the operation output. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Image Watermark

**Slug:** `PICNIE_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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `position` | string ("top_left" | "top_center" | "top_right" | "middle_left" | "middle_center" | "middle_right" | "bottom_left" | "bottom_center" | "bottom_right") | Yes | Placement of the watermark on the background image. |
| `max_width` | integer | Yes | Maximum output width in pixels. |
| `max_height` | integer | Yes | Maximum output height in pixels. |
| `project_id` | string | Yes | Project ID that owns the operation output. |
| `watermark_image_url` | string | Yes | Publicly accessible logo or watermark image URL. |
| `background_image_url` | string | Yes | Publicly accessible background image URL. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Text Watermark

**Slug:** `PICNIE_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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `text` | string | Yes | Watermark text to overlay on the image. |
| `opacity` | number | No | Text opacity from 0.0 (transparent) through 1.0 (opaque). |
| `padding` | integer | No | Padding around the watermark text in pixels. |
| `position` | string ("top-left" | "top-center" | "top-right" | "middle-left" | "middle-center" | "middle-right" | "bottom-left" | "bottom-center" | "bottom-right") | Yes | Placement of the watermark text. |
| `rotation` | integer | No | Clockwise text rotation in degrees. |
| `font_size` | integer | Yes | Font size in pixels. |
| `image_url` | string | Yes | Publicly accessible source image URL. |
| `font_color` | string | Yes | Text color as a six-digit hex value including the leading #. |
| `project_id` | string | Yes | Project ID that owns the operation output. |
| `font_filename` | string | Yes | Picnie-supported font filename from your template or account configuration, not a filesystem path or URL. Picnie does not provide an API for discovering valid filenames, so do not guess this value. |
| `background_color` | string | No | Text-background color as a six-digit hex value including the leading #. |
| `background_opacity` | number | No | Text-background opacity from 0.0 (transparent) through 1.0 (opaque). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Apply Image Filter

**Slug:** `PICNIE_APPLY_IMAGE_FILTER`

Apply one supported Picnie visual filter to a public image URL. This operation may consume Picnie credits.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `filter` | string ("negate" | "grayscale" | "edge_detect" | "emboss" | "gaussian_blur" | "selective_blur" | "mean_removal") | Yes | Visual filter to apply. |
| `image_url` | string | Yes | Publicly accessible source image URL. |
| `project_id` | string | Yes | Project ID that owns the operation output. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Compress Image

**Slug:** `PICNIE_COMPRESS_IMAGE`

Compress a public image URL at a selected Picnie quality and optionally change its format. This operation may consume Picnie credits.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `quality` | integer | Yes | Picnie compression quality from 55 (smallest and lowest quality) through 70 (largest and highest quality). |
| `image_url` | string | Yes | Publicly accessible source image URL. |
| `project_id` | string | Yes | Project ID that owns the operation output. |
| `output_format` | string ("original" | "jpg" | "png" | "webp") | No | Output format, or original to preserve the source format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Convert Image

**Slug:** `PICNIE_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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `image_url` | string | Yes | Publicly accessible source image URL. |
| `project_id` | string | Yes | Project ID that owns the operation output. |
| `output_format` | string ("webp" | "jpg" | "png") | Yes | Target image format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Image

**Slug:** `PICNIE_CREATE_IMAGE`

Generate one image from a stored Picnie template and dynamic field replacements. This operation may consume Picnie credits.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | Destination project ID from List Projects. |
| `template_id` | integer | Yes | Image template ID from List Templates. |
| `replacements` | array | Yes | Dynamic template replacements. Every item needs a field name and exactly one of text or image_url. |
| `template_name` | string | Yes | Exact template name associated with template_id. |
| `output_image_format` | string ("jpg" | "png" | "gif" | "webp") | No | Rendered image format. |
| `output_image_quality` | string ("Maximum" | "High" | "Medium" | "Low") | No | Rendered image quality. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Image Collection

**Slug:** `PICNIE_CREATE_IMAGE_COLLECTION`

Generate multiple images from a Picnie template group and shared replacements. This can consume multiple Picnie credits in one call.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | Destination project ID from List Projects. |
| `replacements` | array | Yes | Shared dynamic replacements. Each item requires a field name and exactly one of text or image_url. |
| `template_group_id` | integer | Yes | Template group ID to render. |
| `output_image_format` | string ("jpg" | "png" | "gif" | "webp") | No | Rendered image format. |
| `output_image_quality` | string ("Maximum" | "High" | "Medium" | "Low") | No | Rendered image quality. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create PDF

**Slug:** `PICNIE_CREATE_PDF`

Generate a PDF from a stored Picnie template and dynamic field replacements. This operation may consume Picnie credits.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | Destination project ID from List Projects. |
| `template_id` | integer | Yes | PDF template ID from List Templates. |
| `replacements` | array | Yes | Dynamic template replacements. Every item needs a field name and exactly one of text or image_url. |
| `template_name` | string | Yes | Exact template name associated with template_id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Project

**Slug:** `PICNIE_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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name for the new project. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Crop Image

**Slug:** `PICNIE_CROP_IMAGE`

Crop a public image URL to fixed dimensions using horizontal and vertical origin alignment. This operation may consume Picnie credits.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `width` | integer | Yes | Crop width in pixels. |
| `height` | integer | Yes | Crop height in pixels. |
| `image_url` | string | Yes | Publicly accessible source image URL. |
| `project_id` | string | Yes | Project ID that owns the operation output. |
| `vertical_origin` | string ("top" | "center" | "bottom") | No | Vertical region to retain. |
| `horizontal_origin` | string ("left" | "center" | "right") | No | Horizontal region to retain. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Image Metadata

**Slug:** `PICNIE_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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `image_url` | string | Yes | Publicly accessible JPEG image URL. |
| `project_id` | string | Yes | Project ID used to authorize the metadata operation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Template

**Slug:** `PICNIE_GET_TEMPLATE`

Get a Picnie template's complete layout and simplified dynamic fields for constructing generation replacements.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `template_id` | string | Yes | Template ID from List Templates. Numeric-looking IDs are accepted as strings and resolved by Picnie. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Projects

**Slug:** `PICNIE_LIST_PROJECTS`

List all projects belonging to the connected Picnie account, including IDs needed by generation and processing tools.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Templates

**Slug:** `PICNIE_LIST_TEMPLATES`

List templates available to the connected Picnie account so an agent can select inputs for image or PDF generation.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Image Background

**Slug:** `PICNIE_REMOVE_IMAGE_BACKGROUND`

Use Picnie AI to remove the background from a public image URL. This operation may consume Picnie credits.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `image_url` | string | Yes | Publicly accessible source image URL. |
| `project_id` | string | Yes | Project ID that owns the operation output. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Resize Image

**Slug:** `PICNIE_RESIZE_IMAGE`

Resize a public image URL either to explicit pixel dimensions or by percentage. This operation may consume Picnie credits.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `width` | integer | No | Target width in pixels; required when resize_type is dimensions and forbidden for percentage. |
| `height` | integer | No | Target height in pixels; required when resize_type is dimensions and forbidden for percentage. |
| `image_url` | string | Yes | Publicly accessible source image URL. |
| `project_id` | string | Yes | Project ID that owns the operation output. |
| `resize_type` | string ("dimensions" | "percentage") | Yes | Use dimensions for explicit width and height, or percentage for proportional scaling. |
| `resize_percentage` | number | No | Scale percentage; required when resize_type is percentage and forbidden for dimensions. |
| `prevent_enlargement` | boolean | No | Do not enlarge an image that is already smaller than the requested size. |
| `maintain_aspect_ratio` | boolean | No | Maintain the original aspect ratio when resizing. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Transcribe Image

**Slug:** `PICNIE_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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `method` | string | No | Picnie OCR method. Original is the only documented value; pass another value only when it is known to be supported by the connected account. |
| `language` | string | No | Picnie OCR language selector. Original is the only documented value; pass another value only when it is known to be supported. |
| `image_url` | string | Yes | Publicly accessible image URL to transcribe. |
| `project_id` | string | Yes | Project ID used for the OCR operation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upload Asset

**Slug:** `PICNIE_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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `image` | object | Yes | Image file to upload. Picnie does not document accepted formats or maximum size. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
