env('RUNWARE_API_KEY'), 'base_url' => env('RUNWARE_BASE_URL', 'https://api.runware.ai/v1'), /* |-------------------------------------------------------------------------- | Budget |-------------------------------------------------------------------------- | | Hard monthly spending cap enforced by App\Services\Runware\BudgetGuard | before every batch. Spend is tracked in USD (Runware's billing currency) | and converted to EUR using the cached live rate from CurrencyRateService, | falling back to usd_eur_fallback_rate when no live rate is cached yet. | */ 'monthly_cap_eur' => (float) env('RUNWARE_MONTHLY_CAP_EUR', 20), 'usd_eur_fallback_rate' => (float) env('RUNWARE_USD_EUR_FALLBACK_RATE', 0.92), // Extra headroom subtracted from the cap when checking pre-flight cost // estimates, to absorb FX drift and estimate error. 'safety_margin' => (float) env('RUNWARE_SAFETY_MARGIN', 0.10), // Fraction of the cap at which a warning notification fires. 'warn_threshold' => (float) env('RUNWARE_WARN_THRESHOLD', 0.80), /* |-------------------------------------------------------------------------- | Default models |-------------------------------------------------------------------------- | | Empty by default: App\Services\Runware\ModelCatalog discovers the | cheapest model per modality via Runware's model search API and caches | it daily. Set any of these to override the discovered default. | */ 'default_models' => [ 'image' => env('RUNWARE_IMAGE_MODEL'), 'video' => env('RUNWARE_VIDEO_MODEL'), 'text' => env('RUNWARE_TEXT_MODEL'), ], ];