AI業務活用 2026.05.08
Claude×Canvaで業務時間を半減【DevOps・デザイン・開発の自動化ワークフロー5選】
ワークフロー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程度