# Ngram

```json
{
  "name": "Ngram",
  "slug": "ngram",
  "url": "https://composio.dev/toolkits/ngram",
  "markdown_url": "https://composio.dev/toolkits/ngram.md",
  "logo_url": "https://logos.composio.dev/api/ngram",
  "categories": [
    "design & creative tools"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-09-30T05:33:24.066Z"
}
```

![Ngram logo](https://logos.composio.dev/api/ngram)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Ngram MCP or direct API to generate videos, create images, start and monitor render jobs, and receive webhook completion events through natural language.

## Summary

Ngram is a service that creates AI-generated videos and images, manages rendering jobs, and delivers completion events.
Use it to produce high-quality media at scale with automated rendering and webhook notifications.

## Categories

- design & creative tools

## Toolkit Details

- Tools: 14

## Images

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

## Authentication

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

## Suggested Prompts

- Generate a 30s promo video from script
- Create product images with transparent background
- Render 1080p video and send webhook

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `NGRAM_CANCEL_VIDEO` | Cancel Video | Irreversibly request cancellation of an in-progress Ngram video render. Confirm the target video before calling. Ngram states that cancellation does not refund work already completed. |
| `NGRAM_CREATE_WEBHOOK_SUBSCRIPTION` | Create Webhook Subscription | Subscribe a public HTTPS endpoint to all account-wide Ngram video completion or failure events of one type. The response includes a signing secret that is shown only at creation and must be retained to verify webhook signatures. |
| `NGRAM_DELETE_WEBHOOK_SUBSCRIPTION` | Delete Webhook Subscription | Delete an Ngram webhook subscription by ID. The operation is idempotent: a missing subscription returns deleted=false rather than an error. |
| `NGRAM_GENERATE_IMAGE` | Generate Image | Spend Ngram credits to start one image generation job from a prompt, optionally using one to four public HTTPS reference images for transformation. Inspect NGRAM_GET_CREDITS and NGRAM_GET_RENDER_OPTIONS first, then deliberately set confirm_credit_spend=true and reuse the same idempotency_key for retries. Exact cost has not been live-verified. |
| `NGRAM_GENERATE_VIDEO` | Generate Video | Spend Ngram credits to start one asynchronous video render from text or a public URL. Inspect NGRAM_GET_CREDITS and NGRAM_GET_RENDER_OPTIONS first, then deliberately set confirm_credit_spend=true and supply a stable idempotency_key. Exact per-render cost has not been live-verified. |
| `NGRAM_GET_ACCOUNT` | Get Account | Return the authenticated Ngram account identity, including its id, email, and name. |
| `NGRAM_GET_CREDITS` | Get Credits | Return the connected account's plan and available, reserved, and effective credits. Use effective credits as the spendable balance before generation. |
| `NGRAM_GET_IMAGE` | Get Image | Return an image job's current status and generated output by its UUID. |
| `NGRAM_GET_RENDER_OPTIONS` | Get Render Options | Return Ngram's live catalog of supported video and image capabilities, voices, styles, formats, durations, models, templates, and other generation options. Use this before generation instead of assuming catalog values. |
| `NGRAM_GET_VIDEO` | Get Video | Return a video's render status, progress, output URL, or failure information by video ID. |
| `NGRAM_LIST_BRAND_KITS` | List Brand Kits | Return the brand kits available to the connected account for use in generation requests. |
| `NGRAM_LIST_IMAGES` | List Images | Return up to 100 account image jobs matching an optional status and created-at upper bound. Ngram does not expose a continuation token. |
| `NGRAM_LIST_VIDEOS` | List Videos | Return up to 100 account videos matching an optional render status and created-at lower bound. This is one bounded response; Ngram provides no continuation token. |
| `NGRAM_LIST_WEBHOOK_SUBSCRIPTIONS` | List Webhook Subscriptions | Return the account's video completion and failure webhook subscriptions. Signing secrets are not returned by this list endpoint. |

## 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 Ngram Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute Ngram actions with your Agent
```python
tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'YOUR_SPECIFIC_PROMPT_HERE'
  }]
)
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: 'YOUR_SPECIFIC_PROMPT_HERE'
  }],
});
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 Ngram
```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
```

```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}`);
```

#### 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 Ngram tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('YOUR_SPECIFIC_PROMPT_HERE')
        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',
    },
  },
});

const tools = await client.tools();
const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{
    role: 'user',
    content: 'YOUR_SPECIFIC_PROMPT_HERE'
  }],
  maxSteps: 5,
});

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

## Why Use Composio?

### 1. AI Native Ngram Integration

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

### 2. Managed Auth

- Built-in OAuth handling with automatic token refresh and rotation
- Central place to manage, scope, and revoke Ngram 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 Ngram
- Scoped, least privilege access to Ngram resources
- Full audit trail of agent actions to support review and compliance

## Use Ngram with any AI Agent Framework

Choose a framework you want to connect Ngram with:

- [ChatGPT](https://composio.dev/toolkits/ngram/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/ngram/framework/claude-cowork)
- [Hermes](https://composio.dev/toolkits/ngram/framework/hermes-agent)
- [Atomic Agent](https://composio.dev/toolkits/ngram/framework/atomic-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.
- [BeatAPI](https://composio.dev/toolkits/beatapi) - BeatAPI is an asynchronous API platform for AI image, video, and music workflows. It enables scalable generation, video analysis, uploads, and ecommerce video pipelines.
- [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.
- [Dribbble](https://composio.dev/toolkits/dribbble) - Dribbble is a design community and publishing platform for managing shots, projects, and attachments. Use it to showcase work, collect feedback, and organize creative designs.
- [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.

## Frequently Asked Questions

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

Yes, Ngram 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)
