env('AI_EDITING_DEFAULT_PROVIDER', 'runware'), 'entitlements' => [ 'package_feature' => env('AI_EDITING_PACKAGE_FEATURE', 'ai_styling'), 'addon_keys' => array_values(array_filter(array_map( 'trim', explode(',', (string) env('AI_EDITING_ADDON_KEYS', 'ai_styling_unlock')) ))), 'locked_message' => env( 'AI_EDITING_LOCKED_MESSAGE', 'AI editing requires the Premium package or the AI Styling add-on.' ), ], 'safety' => [ 'prompt' => [ 'blocked_terms' => array_filter(array_map('trim', explode(',', (string) env('AI_EDITING_BLOCKED_TERMS', '')))), ], ], 'abuse' => [ 'guest_submit_per_minute' => (int) env('AI_EDITING_GUEST_SUBMIT_PER_MINUTE', 8), 'guest_submit_per_hour' => (int) env('AI_EDITING_GUEST_SUBMIT_PER_HOUR', 40), 'guest_status_per_minute' => (int) env('AI_EDITING_GUEST_STATUS_PER_MINUTE', 60), 'tenant_submit_per_minute' => (int) env('AI_EDITING_TENANT_SUBMIT_PER_MINUTE', 30), 'tenant_submit_per_hour' => (int) env('AI_EDITING_TENANT_SUBMIT_PER_HOUR', 240), 'tenant_status_per_minute' => (int) env('AI_EDITING_TENANT_STATUS_PER_MINUTE', 120), ], 'queue' => [ 'name' => env('AI_EDITING_QUEUE', 'default'), 'auto_dispatch' => env('AI_EDITING_AUTO_DISPATCH', false), 'max_polls' => (int) env('AI_EDITING_MAX_POLLS', 6), ], 'billing' => [ 'default_unit_cost_usd' => (float) env('AI_EDITING_DEFAULT_UNIT_COST_USD', 0.01), ], 'providers' => [ 'runware' => [ 'mode' => env('AI_EDITING_RUNWARE_MODE', 'live'), ], ], ];