LLM Magic supports multiple AI providers including OpenAI, Anthropic, Google Gemini, Mistral, OpenRouter, and TogetherAI. All models are accessed through a unified interface.
use Mateffy\Magic;use Mateffy\Magic\Models\OpenAI;// Using model stringMagic::chat() ->model('openai/gpt-4o') ->prompt('Hello!') ->stream();// Using static factoryMagic::chat() ->model(OpenAI::gpt_4o()) ->prompt('Hello!') ->stream();
API Key: Set OPENAI_API_KEY in your .env filePrivacy: Data may be used for model training and abuse prevention
use Mateffy\Magic\Models\Anthropic;Magic::chat() ->model('anthropic/claude-3-5-sonnet-latest') ->prompt('Explain quantum computing') ->stream();// Or use constantsMagic::chat() ->model(Anthropic::sonnet_3_5()) ->stream();
API Key: Set ANTHROPIC_API_KEY in your .env filePricing: See getModelCost() method for per-token costs
use Mateffy\Magic\Models\OpenRouter;Magic::chat() ->model('openrouter/x-ai/grok-beta') ->stream();// Direct model accessMagic::chat() ->model(OpenRouter::grok()) ->stream();// Use any OpenRouter modelMagic::chat() ->model(OpenRouter::model('anthropic/claude-3-opus')) ->stream();
API Key: Set OPENROUTER_API_KEY in your .env fileFlexibility: Access any model from OpenRouter’s catalog
use Mateffy\Magic\Models\TogetherAI;// Using model stringMagic::chat() ->model('togetherai/meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo') ->stream();// Using constantsMagic::chat() ->model(new TogetherAI(TogetherAI::META_LLAMA_3_1_8B_INSTRUCT_TURBO)) ->stream();
API Key: Set TOGETHERAI_API_KEY in your .env fileFeatures: Open-source models, vision support, competitive pricing