File size: 7,202 Bytes
1501522 74acf19 1501522 74acf19 1501522 da7bbba 74acf19 1501522 74acf19 1501522 da7bbba 1501522 74acf19 1501522 d4d07bc 74acf19 d4d07bc 74acf19 1501522 74acf19 1501522 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 | <?php
return [
/*
|--------------------------------------------------------------------------
| Third Party Services
|--------------------------------------------------------------------------
|
| This file is for storing the credentials for third party services such
| as Mailgun, Postmark, AWS and more. This file provides the de facto
| location for this type of information, allowing packages to have
| a conventional file to locate the various service credentials.
|
*/
'mailgun' => [
'domain' => env('MAILGUN_DOMAIN'),
'secret' => env('MAILGUN_SECRET'),
'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'),
'scheme' => 'https',
],
'postmark' => [
'token' => env('POSTMARK_TOKEN'),
],
'ses' => [
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
],
'google' => [
'client_id' => env('GOOGLE_CLIENT_ID'),
'client_secret' => env('GOOGLE_CLIENT_SECRET'),
'redirect' => env('GOOGLE_REDIRECT_URI'),
],
'openai' => [
'api_key' => env('OPENAI_API_KEY'),
'base_url' => env('OPENAI_BASE_URL', 'https://api.openai.com/v1'),
'model' => env('OPENAI_MODEL', 'gpt-4o'),
'video_model' => env('OPENAI_VIDEO_MODEL', 'sora-2'),
'video_poll_interval' => env('OPENAI_VIDEO_POLL_INTERVAL', 5),
'chat_api_key' => env('OPENAI_CHAT_API_KEY'),
'chat_base_url' => env('OPENAI_CHAT_BASE_URL'),
'chat_model' => env('OPENAI_CHAT_MODEL'),
'chat_fallback_model' => env('OPENAI_CHAT_FALLBACK_MODEL'),
'assistant_provider' => env('OPENAI_ASSISTANT_PROVIDER', 'deepseek'),
'assistant_api_key' => env('OPENAI_ASSISTANT_API_KEY'),
'assistant_base_url' => env('OPENAI_ASSISTANT_BASE_URL'),
'assistant_id' => env('OPENAI_ASSISTANT_ID'),
'assistant_use_hosted_threads' => env('OPENAI_ASSISTANT_USE_HOSTED_THREADS', false),
'assistant_model' => env('OPENAI_ASSISTANT_MODEL', 'deepseek-chat'),
'assistant_system_prompt' => env('OPENAI_ASSISTANT_SYSTEM_PROMPT', 'Kamu adalah assistant premium untuk Medilis. Jawaban harus spesifik, tajam, tidak generik, dan langsung bisa dipakai.'),
'assistant_timeout' => env('OPENAI_ASSISTANT_TIMEOUT', 18),
'assistant_run_timeout' => env('OPENAI_ASSISTANT_RUN_TIMEOUT', 90),
'assistant_poll_interval_ms' => env('OPENAI_ASSISTANT_POLL_INTERVAL_MS', 350),
'image_model' => env('OPENAI_IMAGE_MODEL', 'gpt-image-1.5'),
'system_prompt' => env('OPENAI_SYSTEM_PROMPT', 'Kamu adalah asisten AI yang membantu, jelas, dan singkat.'),
'history_limit' => env('OPENAI_HISTORY_LIMIT', 6),
'max_tokens' => env('OPENAI_MAX_TOKENS', 180),
'timeout' => env('OPENAI_TIMEOUT', 40),
'image_timeout' => env('OPENAI_IMAGE_TIMEOUT', 120),
'svg_max_tokens' => env('OPENAI_SVG_MAX_TOKENS', 900),
'daily_message_limit' => env('OPENAI_DAILY_MESSAGE_LIMIT', 40),
],
'pollinations' => [
'api_key' => env('POLLINATIONS_API_KEY'),
'base_url' => env('POLLINATIONS_BASE_URL', 'https://image.pollinations.ai/prompt'),
'model' => env('POLLINATIONS_MODEL', 'flux'),
'timeout' => env('POLLINATIONS_TIMEOUT', 45),
],
'freepik' => [
'api_key' => env('FREEPIK_API_KEY'),
'base_url' => env('FREEPIK_BASE_URL', 'https://api.freepik.com/v1/ai/text-to-image'),
'timeout' => env('FREEPIK_TIMEOUT', 90),
'music_generate_endpoint' => env('FREEPIK_MUSIC_GENERATE_ENDPOINT', 'https://api.freepik.com/v1/ai/music-generation/generate'),
'music_status_endpoint' => env('FREEPIK_MUSIC_STATUS_ENDPOINT', 'https://api.freepik.com/v1/ai/music-generation'),
],
'huggingface' => [
'api_token' => env('HF_TOKEN', env('HF_API_TOKEN')),
'model' => env('HF_MODEL', 'black-forest-labs/FLUX.1-schnell'),
'base_url' => env('HF_BASE_URL', 'https://router.huggingface.co/hf-inference/models'),
'timeout' => env('HF_TIMEOUT', 60),
'media_enabled' => env('HF_MEDIA_ENABLED', false),
'media_driver' => env('HF_MEDIA_DRIVER', 'repo'),
'media_repo_id' => env('HF_MEDIA_REPO_ID', 'adwandw/teknolis-media'),
'media_repo_type' => env('HF_MEDIA_REPO_TYPE', 'dataset'),
'media_bucket_id' => env('HF_MEDIA_BUCKET_ID', env('HF_BUCKET', '')),
'media_path_prefix' => env('HF_MEDIA_PATH_PREFIX', 'laravel-media'),
'media_delete_local' => env('HF_MEDIA_DELETE_LOCAL', true),
'cli_binary' => env('HF_CLI_BINARY', '/usr/local/bin/hf'),
'media_owner_email' => env('HF_MEDIA_OWNER_EMAIL', 'admin@dev.local'),
// Enable HF‑only mode (disable Freepik stock integration). Reads from TOOLS_HF_ONLY env variable.
'hf_only' => env('TOOLS_HF_ONLY', false),
],
'edge_tts' => [
'binary' => env('EDGE_TTS_BINARY', ''),
'voice' => env('EDGE_TTS_VOICE', 'id-ID-GadisNeural'),
'timeout' => env('EDGE_TTS_TIMEOUT', 120),
],
'replicate' => [
'api_key' => env('REPLICATE_API_KEY'),
'base_url' => 'https://api.replicate.com/v1',
'i2v_model' => env('REPLICATE_I2V_MODEL', 'wavespeedai/wan-2.1-i2v-480p'),
'tryon_model' => env('REPLICATE_TRYON_MODEL', 'cedoysch/flux-fill-redux-try-on'),
'tryon_version' => env('REPLICATE_TRYON_VERSION', 'cf5cb07a25e726fe2fac166a8c5ab52ddccd48657741670fb09d9954d4d8446f'),
'timeout' => env('REPLICATE_TIMEOUT', 180),
'poll_interval' => 4, // seconds between status polls
],
'fal' => [
'api_key' => env('FAL_KEY'),
'base_url' => env('FAL_BASE_URL', 'https://queue.fal.run'),
'model' => env('FAL_MODEL', 'fal-ai/flux/schnell'),
'tryon_model' => env('FAL_TRYON_MODEL', 'fal-ai/image-apps-v2/virtual-try-on'),
'timeout' => env('FAL_TIMEOUT', 180),
'poll_interval_ms' => env('FAL_POLL_INTERVAL_MS', 1500),
],
'gemini' => [
'api_key' => env('GEMINI_API_KEY', env('GOOGLE_API_KEY')),
'base_url' => env('GEMINI_BASE_URL', 'https://generativelanguage.googleapis.com/v1beta'),
'veo_model' => env('GEMINI_VEO_MODEL', 'veo-3.1-generate-preview'),
'veo_fast_model' => env('GEMINI_VEO_FAST_MODEL', 'veo-3.1-fast-generate-preview'),
'timeout' => env('GEMINI_TIMEOUT', 180),
'poll_interval' => env('GEMINI_POLL_INTERVAL', 10),
],
'ollama' => [
'base_url' => env('OLLAMA_BASE_URL', 'http://127.0.0.1:11434'),
'model' => env('OLLAMA_MODEL', 'llama3.2'),
'system_prompt' => env('OLLAMA_SYSTEM_PROMPT', 'Kamu adalah asisten AI yang membantu, jelas, dan singkat.'),
'history_limit' => env('OLLAMA_HISTORY_LIMIT', 12),
'num_predict' => env('OLLAMA_NUM_PREDICT', 256),
'timeout' => env('OLLAMA_TIMEOUT', 90),
],
'deepseek' => [
'api_key' => env('DEEPSEEK_API_KEY'),
'base_url' => env('DEEPSEEK_BASE_URL', 'https://api.deepseek.com'),
'model' => env('DEEPSEEK_MODEL', 'deepseek-chat'),
],
];
|