開発者
自分のシステムから Pixmate を動かす: API キーで brief をキューに入れ、結果を取得し、Webhook で通知を受け取れます。
1 · 認証
プロフィール → API キーで「po_…」キーを発行します(オフィスのオーナーのみ)。各リクエストに X-API-Key ヘッダーで送信してください。キーは発行時に一度だけ表示されます。
2 · brief をキューに入れる
POST /api/v1/runs — 202 を返し、実行は非同期です。フィールド: pixmate_slug、brief(20,000文字以内)、locale(tr|en)。
curl -X POST https://api.pixel-office.app/api/v1/runs \
-H "X-API-Key: po_XXXXXXXXXXXXXXXX" \
-H "Content-Type: application/json" \
-d '{
"pixmate_slug": "mira-marketing",
"brief": "Yeni single için 6 sosyal medya postu yaz",
"locale": "tr"
}'
# → 202 Accepted
# { "id": "…", "status": "queued", "pixmate_slug": "mira-marketing", … }3 · 結果を取得
GET /api/v1/runs (liste) · GET /api/v1/runs/{id}
curl https://api.pixel-office.app/api/v1/runs/RUN_ID \
-H "X-API-Key: po_XXXXXXXXXXXXXXXX"
# status: queued → running → completed | failed4 · レート制限
キーごとに毎分60リクエスト。超えると 429 と Retry-After を返します。すべての応答に X-RateLimit-Limit / X-RateLimit-Remaining ヘッダーが付きます。
5 · Webhooks
プロフィール → Webhooks で HTTPS エンドポイントを登録します。実行が終了状態(completed/failed/cancelled)になると署名付き POST が届きます。再試行は3回(0/5/25秒)。署名: HMAC-SHA256("{timestamp}.{body}")。
{
"event": "run.completed", // ya da run.failed / run.cancelled
"run": {
"id": "…", "status": "completed",
"pixmate_slug": "mira-marketing", "kind": "chat",
"cost_usd": 0.0213, "tokens_consumed": 3,
"error_message": null, "session_id": "…",
"created_at": "…", "finished_at": "…"
},
"sent_at": "…"
}検証(Python):
import hashlib, hmac
def verify(secret: str, ts: str, raw_body: bytes, signature: str) -> bool:
expected = hmac.new(
secret.encode(), f"{ts}.".encode() + raw_body, hashlib.sha256
).hexdigest()
return hmac.compare_digest(f"sha256={expected}", signature)
# headers: X-Webhook-Timestamp / X-Webhook-Signatureご質問はプロフィールページのサポート用メールアドレスへ。API は v1 の契約です — 互換性を壊す変更は新しいバージョンで行います。