Text-to-video task pattern
組織 entitlement、quota、credit、idempotency、refund を備えた任意 demo を拡張します。
スターターのコミット
7d452a6と同期済みです。
この画面は opt-in の開発 pattern で、本番 AI provider ではありません。demo と text-to-video mock 有効時だけ使え、本番は demo flag を無視します。実 provider では src/services/ai/video.ts adapter だけを交換します。
POST /api/tasks/text-to-video は same-origin、rate limit、auth、組織 tasks.text_to_video entitlement、共有月次上限、credit を要求します。header/body に Idempotency-Key を渡します。組織 task を一度挿入し、credit と root transaction を記録、provider 成功を保存します。失敗時は failed にし補償 refund を追加します。
cost は src/config/tasks.ts です。Plus は組織月 50 task/500 credit、Max は task 無制限/2,500 credit、Free は対象外です。GET /api/tasks/[uuid] は組織 scope です。
長時間 provider では不変条件を保ちつつ永続 async 実行、provider idempotency、callback 検証、外部 ID 保存を行い、重複、残高不足、timeout、callback replay、refund 失敗をテストします。