Spaces:
Sleeping
Sleeping
| import type { ThemeByMomentStrategy } from '@/schema/gradio-proxy/theme-by-moment'; | |
| export interface ImageEditOptions { | |
| image: Buffer; | |
| mask?: Buffer; // Geminiはマスクフリー編集をサポート、OpenAIのみ必要 | |
| prompt: string; | |
| size?: string; | |
| forceFallbackMode?: boolean; // GPT-5文字起こし分析ベースフォールバックを強制するか | |
| // エラーログ用のメタ情報 | |
| referenceUrl?: string; // 自社WebサイトURL | |
| tabName?: string; | |
| userEmail?: string; // ユーザーメールアドレス | |
| // SWOT分析データを追加(完全なスキーマ対応) | |
| swotData?: { | |
| 業界?: string; | |
| 商材?: string; | |
| 内部環境?: string; | |
| 外部環境?: string; | |
| 業界トレンド?: string[]; | |
| ニーズ?: Array<{ | |
| 市場ニーズ: string; | |
| ユーザのモーメント: string; | |
| }>; | |
| 王道?: { | |
| 焦点: string; | |
| 訴求: string; | |
| }; | |
| 多道?: { | |
| 焦点: string; | |
| 訴求: string; | |
| }; | |
| 強み?: { | |
| 訴求?: string[]; | |
| 一番の強み?: { | |
| 訴求: string; | |
| 言い換え: string; | |
| 強み?: string; | |
| 弱み?: string; | |
| ユーザ感情: string; | |
| 選定理由: string; | |
| }; | |
| 一番の弱み?: { | |
| 訴求: string; | |
| 言い換え: string; | |
| 強み?: string; | |
| 弱み?: string; | |
| ユーザ感情: string; | |
| 選定理由: string; | |
| }; | |
| 顧客: string; | |
| }; | |
| 弱み?: { | |
| 訴求?: string[]; | |
| 一番の強み?: { | |
| 訴求: string; | |
| 言い換え: string; | |
| 強み?: string; | |
| 弱み?: string; | |
| ユーザ感情: string; | |
| 選定理由: string; | |
| }; | |
| 一番の弱み?: { | |
| 訴求: string; | |
| 言い換え: string; | |
| 強み?: string; | |
| 弱み?: string; | |
| ユーザ感情: string; | |
| 選定理由: string; | |
| }; | |
| 顧客: string; | |
| }; | |
| 共通?: { | |
| 訴求: string[]; | |
| 顧客: string; | |
| }; | |
| 機会の生成元?: Array<{ | |
| 機会?: string; | |
| 脅威?: string; | |
| 生成元テーマ: string[]; | |
| }>; | |
| 機会?: string[]; | |
| 脅威の生成元?: Array<{ | |
| 機会?: string; | |
| 脅威?: string; | |
| 生成元テーマ: string[]; | |
| }>; | |
| 脅威?: string[]; | |
| 積極化戦略?: { | |
| テーマ: string; | |
| 戦略の内容: string; | |
| 戦略の根拠?: string; | |
| 関連する内部環境?: string; | |
| 関連する外部環境?: string; | |
| 想定競合URL?: string[]; | |
| }; | |
| 差別化戦略?: { | |
| テーマ: string; | |
| 戦略の内容: string; | |
| 戦略の根拠?: string; | |
| 関連する内部環境?: string; | |
| 関連する外部環境?: string; | |
| 想定競合URL?: string[]; | |
| }; | |
| 改善戦略?: { | |
| テーマ: string; | |
| 戦略の内容: string; | |
| 戦略の根拠?: string; | |
| 関連する内部環境?: string; | |
| 関連する外部環境?: string; | |
| 想定競合URL?: string[]; | |
| }; | |
| 防衛戦略?: { | |
| テーマ: string; | |
| 戦略の内容: string; | |
| 戦略の根拠?: string; | |
| 関連する内部環境?: string; | |
| 関連する外部環境?: string; | |
| 想定競合URL?: string[]; | |
| }; | |
| 概要?: string; | |
| }; | |
| // proposalTabDataSchemaのintentとfvDataSchemaを追加 | |
| intent?: { | |
| FV_intent?: string; | |
| CN_intent?: string; | |
| FV_suggest?: string; | |
| CN_suggest?: string; | |
| fv_creation_intent?: string; | |
| cn_creation_intent?: Record<string, string>; | |
| prediction?: number; | |
| strategyXMoment?: ThemeByMomentStrategy | unknown[]; | |
| strategy: string; | |
| }; | |
| fv?: { | |
| strategy: string; | |
| need: string; | |
| data: { | |
| fv: { | |
| コピー: { | |
| メインコピー: string; | |
| サブコピー1: string; | |
| サブコピー2: string; | |
| サブコピー3: string; | |
| 情報源: { | |
| 他社: string; | |
| 自社: string; | |
| }; | |
| }; | |
| CTA: { | |
| ボタンテキスト: string; | |
| マイクロコピー: string; | |
| 情報源: { | |
| 他社: string; | |
| 自社: string; | |
| }; | |
| }; | |
| ビジュアル: { | |
| 内容: string; | |
| 作成指示: string; | |
| 情報源: { | |
| 他社: string; | |
| 自社: string; | |
| }; | |
| }; | |
| 権威付け: { | |
| 内容: string; | |
| 作成指示: string; | |
| 情報源: { | |
| 他社: string; | |
| 自社: string; | |
| }; | |
| }; | |
| originalCategories: string[]; | |
| }; | |
| }; | |
| fvCreationIntent?: string; | |
| }; | |
| } | |
| export interface ImageEditResult { | |
| buffer: Buffer; | |
| url?: string; // URL形式での画像パス(オプション) | |
| metadata?: { | |
| model?: string; | |
| processingTime?: number; | |
| }; | |
| prompt?: string; | |
| } | |
| export interface IImageGenerator { | |
| editImage(options: ImageEditOptions): Promise<ImageEditResult>; | |
| getName(): string; | |
| } | |