Example: multiple providers
python
import asyncio
import os
from air import AIR
from air.providers.xai import XAIProvider
from air.providers.gemini import GeminiProvider
from air.providers.groq import GroqProvider
from air.providers.openrouter import OpenRouterProvider
async def main():
air = AIR()
air.add_provider(
XAIProvider(api_key=os.environ["XAI_API_KEY"], model="grok-4-0709"),
priority=1,
)
air.add_provider(
GeminiProvider(api_key=os.environ["GEMINI_API_KEY"], model="gemini-2.5-flash"),
priority=2,
)
air.add_provider(
GroqProvider(api_key=os.environ["GROQ_API_KEY"], model="llama-3.3-70b-versatile"),
priority=3,
)
air.add_provider(
OpenRouterProvider(api_key=os.environ["OPENROUTER_API_KEY"], model="meta-llama/llama-3.1-405b"),
priority=4,
)
response = await air.chat("Hello")
print(response.content)
print("answered by:", response.provider)
if __name__ == "__main__":
asyncio.run(main())With no explicit provider set on the request, AIR tries these in priority order (1 to 4) and falls back automatically on a fallback eligible failure. See automatic-fallback.md.