AI業務活用 2026.05.08

Claude×Canvaで業務時間を半減【DevOps・デザイン・開発の自動化ワークフロー5選】

タグ:Claude / AI活用 / 業務効率化 / DevOps / ワークフロー

ワークフロー1: InstagramコンテンツをClaude+Canvaで5分生成

# instagram_content_generator.py
# Claude Haikuでテキスト生成 → Canva APIでデザイン作成

import anthropic
import requests
import os

claude = anthropic.Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])
CANVA_TOKEN = os.environ["CANVA_API_TOKEN"]

def generate_instagram_content(topic: str) -> dict:
    """Claudeでinstagramカルーセルのテキストを生成する"""
    response = claude.messages.create(
        model="claude-haiku-4-5-20251001",  # 入力$0.80/1M(大量生成向け)
        max_tokens=512,
        messages=[{"role": "user", "content": f"""
Instagram用カルーセル投稿を作ってください。

テーマ: {topic}
形式:
- タイトル(15文字以内)
- スライド1〜4の本文(各30文字以内)
- CTA(10文字以内)
JSON形式で出力してください。
"""}]
    )
    
    import json
    return json.loads(response.content[0].text)

def create_canva_design(content: dict) -> str:
    """Canva APIでデザインを作成してURLを返す"""
    headers = {"Authorization": f"Bearer {CANVA_TOKEN}"}
    
    response = requests.post(
        "https://api.canva.com/rest/v1/designs",
        headers=headers,
        json={
            "design_type": {"name": "InstagramPost"},
            "title": content["title"]
        }
    )
    
    design_id = response.json()["design"]["id"]
    return f"https://www.canva.com/design/{design_id}/edit"

# 使用例
content = generate_instagram_content("Claudeを使った業務効率化")
design_url = create_canva_design(content)
print(f"デザイン作成完了: {design_url}")

ワークフロー2: TerraformコードをClaudeで自動生成

# terraform_generator.py
# インフラ要件 → Terraform HCLコードを自動生成する

import anthropic
import os

client = anthropic.Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])

TERRAFORM_SYSTEM = """あなたはAWSインフラのTerraformエキスパートです。
以下のルールを守ってください:
- Terraform 1.9+ の構文を使う
- セキュリティベストプラクティスを適用する
- 変数はvariablesブロックで定義する
- コメントで各リソースの目的を1行説明する
"""

def generate_terraform(requirements: str) -> str:
    """インフラ要件からTerraformコードを生成する"""
    response = client.messages.create(
        model="claude-sonnet-4-5",
        max_tokens=2048,
        system=TERRAFORM_SYSTEM,
        messages=[{"role": "user", "content": f"""
以下の要件のTerraformコードを生成してください:
{requirements}
"""}]
    )
    return response.content[0].text

# 使用例
tf_code = generate_terraform("""
- EC2 t3.medium インスタンス(Amazon Linux 2023)
- VPC + プライベートサブネット
- セキュリティグループ(443ポートのみ受信許可)
- RDS PostgreSQL 16(db.t4g.micro)
""")

with open("main.tf", "w") as f:
    f.write(tf_code)
print("Terraformファイルを生成しました: main.tf")

ワークフロー3: 日次レポートの自動生成

# daily_report.py
# CSVデータを読んでClaude Haikuで日次レポートを自動生成する

import anthropic
import csv
import os
from datetime import date

client = anthropic.Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])

def generate_daily_report(csv_path: str) -> str:
    """CSVの売上データから日次レポートを自動生成する"""
    with open(csv_path) as f:
        data = f.read()
    
    response = client.messages.create(
        model="claude-haiku-4-5-20251001",  # レポート生成はHaikuで十分
        max_tokens=1024,
        messages=[{"role": "user", "content": f"""
以下のCSVデータを分析して、日次レポートを作成してください。

CSVデータ:
{data[:3000]}

レポート形式:
1. 今日のサマリー(3行以内)
2. 前日比の変化(重要な数値のみ)
3. 注意が必要な項目
4. 明日のアクション提案
"""}]
    )
    return response.content[0].text

# 使用例(Pythonスクリプトをcronで自動実行)
report = generate_daily_report("sales_data.csv")

# Slackに自動投稿する場合
import json, urllib.request

def post_to_slack(message: str, webhook_url: str) -> None:
    data = json.dumps({"text": message}).encode("utf-8")
    req = urllib.request.Request(webhook_url, data=data, 
                                  headers={"Content-Type": "application/json"})
    urllib.request.urlopen(req)

# post_to_slack(report, os.environ["SLACK_WEBHOOK"])
print(report)

月間コスト試算(業務自動化の場合)

Instagram投稿生成(日5件): Haiku $0.80/1M → 月$2
Terraform生成(月50回): Sonnet $3/1M → 月$6
日次レポート(毎日1件): Haiku $0.80/1M → 月$1
合計: 月$9程度

あわせて読みたい

参考ソース