| @@ -5,8 +5,9 @@ | ||
| 5 | 5 | class Constants |
| 6 | 6 | { |
| 7 | 7 | const AATXT_PLUGIN_SLUG = 'auto-alt-text'; |
| 8 | 8 | const AATXT_AZURE_DEFAULT_LANGUAGE = 'en'; |
| 9 | + const AATXT_AZURE_COMPUTER_VISION_API_VERSION = '2024-02-01'; | |
| 9 | 10 | const AATXT_PLUGIN_OPTIONS_PAGE_SLUG = 'auto-alt-text-options'; |
| 10 | 11 | const AATXT_PLUGIN_OPTION_LOG_PAGE_SLUG = 'auto-alt-text-log'; |
| 11 | 12 | const AATXT_PLUGIN_ASSETS_HANDLE = 'aatxt-auto-alt-text-options'; |
| 12 | 13 | const AATXT_PLUGIN_MEDIA_LIBRARY_HANDLE = 'aatxt-auto-alt-text-media-library'; |
| @@ -15,15 +16,33 @@ | ||
| 15 | 16 | |
| 16 | 17 | const AATXT_GPT4O = 'gpt-4o'; |
| 17 | 18 | const AATXT_GPT4O_MINI = 'gpt-4o-mini'; |
| 18 | 19 | const AATXT_O1_MINI = 'o1-mini'; |
| 20 | + const AATXT_GPT5 = 'gpt-5'; | |
| 21 | + const AATXT_GPT5_MINI = 'gpt-5-mini'; | |
| 22 | + const AATXT_GPT5_NANO = 'gpt-5-nano'; | |
| 19 | 23 | const AATXT_OPTION_FIELD_MODEL_OPENAI_OPTIONS = [ |
| 20 | 24 | self::AATXT_GPT4O => 'GPT-4o', |
| 21 | 25 | self::AATXT_GPT4O_MINI => 'GPT-4o Mini', |
| 22 | 26 | self::AATXT_O1_MINI => 'o1 Mini', |
| 27 | + self::AATXT_GPT5 => 'GPT-5', | |
| 28 | + self::AATXT_GPT5_MINI => 'GPT-5 Mini', | |
| 29 | + self::AATXT_GPT5_NANO => 'GPT-5 Nano', | |
| 23 | 30 | ]; |
| 31 | + | |
| 24 | 32 | const AATXT_OPTION_FIELD_PROMPT_OPENAI = 'aatxt_prompt_openai'; |
| 25 | 33 | const AATXT_OPTION_FIELD_API_KEY_OPENAI = 'aatxt_api_key_openai'; |
| 34 | + const AATXT_OPTION_FIELD_API_KEY_ANTHROPIC = 'aatxt_api_key_anthropic'; | |
| 35 | + const AATXT_OPTION_FIELD_MODEL_ANTHROPIC = 'aatxt_model_anthropic'; | |
| 36 | + const AATXT_CLAUDE_SONNET_4 = 'claude-sonnet-4-20250514'; | |
| 37 | + const AATXT_CLAUDE_HAIKU_3_5 = 'claude-3-5-haiku-20241022'; | |
| 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'; | |
| 26 | 45 | const AATXT_OPTION_FIELD_API_KEY_AZURE_COMPUTER_VISION = 'aatxt_api_key_azure_computer_vision'; |
| 27 | 46 | const AATXT_OPTION_FIELD_API_KEY_AZURE_TRANSLATE_INSTANCE = 'aatxt_api_key_azure_translate_instance'; |
| 28 | 47 | const AATXT_OPTION_TYPOLOGY_CHOICE_ARTICLE_TITLE = 'article-title'; |
| 29 | 48 | const AATXT_OPTION_TYPOLOGY_CHOICE_ATTACHMENT_TITLE = 'attachment-title'; |
| @@ -28,8 +47,9 @@ | ||
| 28 | 47 | const AATXT_OPTION_TYPOLOGY_CHOICE_ARTICLE_TITLE = 'article-title'; |
| 29 | 48 | const AATXT_OPTION_TYPOLOGY_CHOICE_ATTACHMENT_TITLE = 'attachment-title'; |
| 30 | 49 | const AATXT_OPTION_TYPOLOGY_CHOICE_OPENAI = 'openai'; |
| 31 | 50 | const AATXT_OPTION_TYPOLOGY_CHOICE_AZURE = 'azure'; |
| 51 | + const AATXT_OPTION_TYPOLOGY_CHOICE_ANTHROPIC = 'anthropic'; | |
| 32 | 52 | const AATXT_OPTION_TYPOLOGY_DEACTIVATED = 'deactivated'; |
| 33 | 53 | const AATXT_OPTION_FIELD_ENDPOINT_AZURE_COMPUTER_VISION = 'aatxt_endpoint-azure-computer-vision'; |
| 34 | 54 | const AATXT_OPTION_FIELD_ENDPOINT_AZURE_TRANSLATE_INSTANCE = 'aatxt_endpoint-azure-translate-instance'; |
| 35 | 55 | const AATXT_OPTION_FIELD_REGION_AZURE_TRANSLATE_INSTANCE = 'aatxt_region_azure_translate_instance'; |
| @@ -54,5 +74,14 @@ | ||
| 54 | 74 | 'image/jpeg', |
| 55 | 75 | 'image/gif', |
| 56 | 76 | 'image/webp', |
| 57 | 77 | ]; |
| 78 | + | |
| 79 | + const AATXT_ANTHROPIC_ALLOWED_MIME_TYPES = [ | |
| 80 | + 'image/png', | |
| 81 | + 'image/jpeg', | |
| 82 | + 'image/gif', | |
| 83 | + 'image/webp', | |
| 84 | + ]; | |
| 85 | + | |
| 86 | + const AATXT_ANTHROPIC_ENDPOINT = 'https://api.anthropic.com/v1/messages'; | |
| 58 | 87 | } |