PluginProbe
Auto Alt Text / trunk
Auto Alt Text vtrunk
3.0.3 2.8.2 1.3.1 1.3.2 2.0.0 2.1.0 2.1.1 2.2.0 2.3.0 2.3.1 2.3.2 2.3.3 2.3.4 2.4.0 2.4.1 2.4.2 2.5.0 2.5.1 2.5.2 2.5.3 2.6.0 2.6.1 2.7.0 2.8.0 2.8.1 All 28 releases
auto-alt-text / src / Config / Constants.php

Constants.php in Auto Alt Text trunk, at src/Config/Constants.php

117 lines 5.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace AATXT\Config;
4
5 class Constants
6 {
7 const AATXT_PLUGIN_SLUG = 'auto-alt-text';
8 const AATXT_AZURE_DEFAULT_LANGUAGE = 'en';
9 const AATXT_AZURE_COMPUTER_VISION_API_VERSION = '2024-02-01';
10 const AATXT_PLUGIN_OPTIONS_PAGE_SLUG = 'auto-alt-text-options';
11 const AATXT_PLUGIN_OPTION_LOG_PAGE_SLUG = 'auto-alt-text-log';
12 const AATXT_PLUGIN_ASSETS_HANDLE = 'aatxt-auto-alt-text-options';
13 const AATXT_PLUGIN_MEDIA_LIBRARY_HANDLE = 'aatxt-auto-alt-text-media-library';
14 const AATXT_OPTION_FIELD_TYPOLOGY = 'aatxt_typology';
15 const AATXT_OPTION_FIELD_MODEL_OPENAI = 'aatxt_model_openai';
16
17 const AATXT_GPT4O = 'gpt-4o';
18 const AATXT_GPT4O_MINI = 'gpt-4o-mini';
19 const AATXT_GPT5 = 'gpt-5';
20 const AATXT_GPT5_MINI = 'gpt-5-mini';
21 const AATXT_GPT5_NANO = 'gpt-5-nano';
22 const AATXT_OPENAI_FALLBACK_MODEL = self::AATXT_GPT5_NANO;
23 const AATXT_OPTION_FIELD_MODEL_OPENAI_OPTIONS = [
24 self::AATXT_GPT4O => 'GPT-4o',
25 self::AATXT_GPT4O_MINI => 'GPT-4o Mini',
26 self::AATXT_GPT5 => 'GPT-5',
27 self::AATXT_GPT5_MINI => 'GPT-5 Mini',
28 self::AATXT_GPT5_NANO => 'GPT-5 Nano',
29 ];
30
31 const AATXT_OPTION_FIELD_PROMPT_OPENAI = 'aatxt_prompt_openai';
32 const AATXT_OPTION_FIELD_API_KEY_OPENAI = 'aatxt_api_key_openai';
33 const AATXT_OPTION_FIELD_API_KEY_ANTHROPIC = 'aatxt_api_key_anthropic';
34 const AATXT_OPTION_FIELD_MODEL_ANTHROPIC = 'aatxt_model_anthropic';
35 const AATXT_CLAUDE_SONNET_4 = 'claude-sonnet-4-20250514';
36 const AATXT_CLAUDE_HAIKU_3_5 = 'claude-3-5-haiku-20241022';
37 const AATXT_CLAUDE_FALLBACK_MODEL = 'claude-haiku-4-5';
38
39 const AATXT_OPTION_FIELD_MODEL_ANTHROPIC_OPTIONS = [
40 self::AATXT_CLAUDE_HAIKU_3_5 => 'Claude 3.5 Haiku',
41 self::AATXT_CLAUDE_SONNET_4 => 'Claude Sonnet 4',
42 ];
43 const AATXT_API_VERSION = '2023-06-01';
44 const AATXT_OPTION_FIELD_PROMPT_ANTHROPIC = 'aatxt_prompt_anthropic';
45 const AATXT_OPTION_FIELD_API_KEY_GEMINI = 'aatxt_api_key_gemini';
46 const AATXT_OPTION_FIELD_MODEL_GEMINI = 'aatxt_model_gemini';
47 const AATXT_OPTION_FIELD_PROMPT_GEMINI = 'aatxt_prompt_gemini';
48 const AATXT_GEMINI_FLASH_3_6 = 'gemini-3.6-flash';
49 const AATXT_GEMINI_FLASH_3_5 = 'gemini-3.5-flash';
50 const AATXT_GEMINI_FLASH_2_5 = 'gemini-2.5-flash';
51 const AATXT_GEMINI_FALLBACK_MODEL = self::AATXT_GEMINI_FLASH_3_6;
52
53 const AATXT_OPTION_FIELD_MODEL_GEMINI_OPTIONS = [
54 self::AATXT_GEMINI_FLASH_3_6 => 'Gemini 3.6 Flash',
55 self::AATXT_GEMINI_FLASH_3_5 => 'Gemini 3.5 Flash',
56 self::AATXT_GEMINI_FLASH_2_5 => 'Gemini 2.5 Flash',
57 ];
58 const AATXT_OPTION_FIELD_API_KEY_AZURE_COMPUTER_VISION = 'aatxt_api_key_azure_computer_vision';
59 const AATXT_OPTION_FIELD_API_KEY_AZURE_TRANSLATE_INSTANCE = 'aatxt_api_key_azure_translate_instance';
60 const AATXT_OPTION_TYPOLOGY_CHOICE_ARTICLE_TITLE = 'article-title';
61 const AATXT_OPTION_TYPOLOGY_CHOICE_ATTACHMENT_TITLE = 'attachment-title';
62 const AATXT_OPTION_TYPOLOGY_CHOICE_OPENAI = 'openai';
63 const AATXT_OPTION_TYPOLOGY_CHOICE_AZURE = 'azure';
64 const AATXT_OPTION_TYPOLOGY_CHOICE_ANTHROPIC = 'anthropic';
65 const AATXT_OPTION_TYPOLOGY_CHOICE_GEMINI = 'gemini';
66 const AATXT_OPTION_TYPOLOGY_DEACTIVATED = 'deactivated';
67 const AATXT_OPTION_FIELD_ENDPOINT_AZURE_COMPUTER_VISION = 'aatxt_endpoint-azure-computer-vision';
68 const AATXT_OPTION_FIELD_ENDPOINT_AZURE_TRANSLATE_INSTANCE = 'aatxt_endpoint-azure-translate-instance';
69 const AATXT_OPTION_FIELD_REGION_AZURE_TRANSLATE_INSTANCE = 'aatxt_region_azure_translate_instance';
70 const AATXT_OPTION_FIELD_LANGUAGE_AZURE_TRANSLATE_INSTANCE = 'aatxt_language_azure_translate_instance';
71 const AATXT_OPTION_FIELD_PRESERVE_EXISTING_ALT_TEXT = 'aatxt_preserve_existing_alt_text';
72 const AATXT_OPTION_FIELD_AUTO_RENDER_ALT_TEXT = 'aatxt_auto_render_alt_text';
73 const AATXT_LEGACY_ENCRYPTION_MIGRATION_DONE = 'aatxt_legacy_encryption_migration_done';
74 const AATXT_IMAGE_URL_TAG = '%imageUrl%';
75 const AATXT_OPENAI_DEFAULT_PROMPT = "Act like an SEO expert and write an English alt text of up to 125 characters for this image.";
76 const AATXT_OPENAI_RESPONSES_API_ENDPOINT = 'https://api.openai.com/v1/responses';
77 const AATXT_OPENAI_MODELS_ENDPOINT = 'https://api.openai.com/v1/models';
78 const AATXT_OPENAI_MODELS_CACHE_KEY = 'aatxt_openai_models_cache';
79 const AATXT_REST_NAMESPACE = 'auto-alt-text/v1';
80 const AATXT_REST_ROUTE_GENERATE_ALT_TEXT = '/generate-alt-text';
81 const AATXT_OPENAI_ALLOWED_MIME_TYPES = [
82 'image/png',
83 'image/jpeg',
84 'image/gif',
85 'image/webp',
86 ];
87 const AATXT_AZURE_ALLOWED_MIME_TYPES = [
88 'image/png',
89 'image/jpeg',
90 'image/gif',
91 'image/webp',
92 ];
93
94 const AATXT_ANTHROPIC_ALLOWED_MIME_TYPES = [
95 'image/png',
96 'image/jpeg',
97 'image/gif',
98 'image/webp',
99 ];
100
101 const AATXT_ANTHROPIC_ENDPOINT = 'https://api.anthropic.com/v1/messages';
102 const AATXT_ANTHROPIC_MODELS_ENDPOINT = 'https://api.anthropic.com/v1/models';
103 const AATXT_ANTHROPIC_MODELS_CACHE_KEY = 'aatxt_anthropic_models_cache';
104
105 // Google Gemini does not support GIF images (only PNG, JPEG, WEBP, HEIC, HEIF)
106 const AATXT_GEMINI_ALLOWED_MIME_TYPES = [
107 'image/png',
108 'image/jpeg',
109 'image/webp',
110 'image/heic',
111 'image/heif',
112 ];
113
114 const AATXT_GEMINI_INTERACTIONS_ENDPOINT = 'https://generativelanguage.googleapis.com/v1beta/interactions';
115 const AATXT_GEMINI_MODELS_ENDPOINT = 'https://generativelanguage.googleapis.com/v1beta/models';
116 const AATXT_GEMINI_MODELS_CACHE_KEY = 'aatxt_gemini_models_cache';
117 }