TopRank Skills

Official OpenClaw rules 36%

canva

Create, export, and manage Canva designs via the Connect API. Generate social posts, carousels, and graphics programmatically.

Stars

0

Installs

0

Status

ACTIVE

Visibility

PUBLIC

安装方式

直接复制以下提示词,发送给你的 AI 助手即可完成安装。

请先检查是否已安装 SkillHub 商店,若未安装,请根据 https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/skillhub.md 安装 SkillHub 商店,然后安装 canva 技能。 若已安装,则直接安装 canva 技能。

Overview

Skill Key
abgohel/canva
Author
abgohel
Source Repo
openclaw/skills
Version
1.0.0
Source Path
skills/abgohel/canva
Latest Commit SHA
c6b87730c1262b2157b8c2c12ac06e4739d472dd

Extracted Content

SKILL.md excerpt

# Canva Skill

Create, export, and manage Canva designs via the Connect API.

## When to Use

- "Create an Instagram post about [topic]"
- "Export my Canva design as PNG"
- "List my recent designs"
- "Create a carousel from these points"
- "Upload this image to Canva"

## Prerequisites

1. **Create a Canva Integration:**
   - Go to https://www.canva.com/developers/
   - Create a new integration
   - Get your Client ID and Client Secret

2. **Set Environment Variables:**
   ```bash
   export CANVA_CLIENT_ID="your_client_id"
   export CANVA_CLIENT_SECRET="your_client_secret"
   ```

3. **Authenticate (first time):**
   Run the auth flow to get access tokens (stored in `~/.canva/tokens.json`)

## API Base URL

```
https://api.canva.com/rest/v1
```

## Authentication

Canva uses OAuth 2.0. The skill handles token refresh automatically.

```bash
# Get access token (stored in ~/.canva/tokens.json)
ACCESS_TOKEN=$(cat ~/.canva/tokens.json | jq -r '.access_token')
```

## Core Operations

### List Designs

```bash
curl -s "https://api.canva.com/rest/v1/designs" \
  -H "Authorization: Bearer $ACCESS_TOKEN" | jq .
```

### Get Design Details

```bash
curl -s "https://api.canva.com/rest/v1/designs/{designId}" \
  -H "Authorization: Bearer $ACCESS_TOKEN" | jq .
```

### Create Design from Template

```bash
curl -X POST "https://api.canva.com/rest/v1/autofills" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "brand_template_id": "TEMPLATE_ID",
    "data": {
      "title": {"type": "text", "text": "Your Title"},
      "body": {"type": "text", "text": "Your body text"}
    }
  }'
```

### Export Design

```bash
# Start export job
curl -X POST "https://api.canva.com/rest/v1/exports" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "design_id": "DESIGN_ID",
    "format": {"type": "png", "width": 1080, "height": 1080}
  }'

# Check export status
curl -s "https://api.canva.com/rest/v1/e...

README excerpt

# 🎨 Canva Skill for Clawdbot/Moltbot

> Create, export, and manage Canva designs via the Connect API. The first Canva skill for the Moltbot ecosystem!

## Features

- 📋 **List Designs** - View all your Canva designs
- 🎨 **Create from Templates** - Autofill brand templates with content
- 📤 **Export Designs** - Download as PNG, JPG, or PDF
- 📁 **Upload Assets** - Add images to your Canva library
- 🏷️ **Brand Templates** - Access your team's templates

## Installation

### Via ClawdHub (coming soon)

```bash
npx clawdhub@latest install canva
```

### Manual Installation

```bash
# Clone the skill
git clone https://github.com/abgohel/canva-skill.git

# Copy to skills directory
cp -r canva-skill ~/.clawdbot/skills/canva
```

## Setup

### 1. Create a Canva Integration

1. Go to [Canva Developers](https://www.canva.com/developers/)
2. Click "Create an integration"
3. Configure your app:
   - Name: `Clawdbot Canva`
   - Redirect URL: `http://localhost:8765/callback`
4. Copy your **Client ID** and **Client Secret**

### 2. Set Environment Variables

```bash
export CANVA_CLIENT_ID="your_client_id"
export CANVA_CLIENT_SECRET="your_client_secret"
```

Add to `~/.bashrc` or `~/.zshrc` for persistence.

### 3. Authenticate

```bash
./scripts/canva-auth.sh
```

Follow the prompts to authorize in your browser.

## Usage

### CLI Helper

```bash
# List your designs
./scripts/canva.sh designs

# Get design details
./scripts/canva.sh get DESIGN_ID

# Export as PNG
./scripts/canva.sh export DESIGN_ID png

# List brand templates
./scripts/canva.sh templates

# Create from template
./scripts/canva.sh autofill TEMPLATE_ID '{"title":{"type":"text","text":"Hello World"}}'

# Upload an image
./scripts/canva.sh upload image.png
```

### In Clawdbot

Just ask naturally:

- "Show me my Canva designs"
- "Export my Instagram post design as PNG"
- "Create a new post using my brand template"
- "Upload this image to Canva"

## API Reference

See [SKILL.md](./SKILL.md) for complete API document...

Related Claw Skills