Loading playground
Input
Additional Settings
Customize your input with more control.
Result
Idle
Customize your input with more control.
Customize your input with more control.
Hint: Drag and drop files from your computer, videos from web pages, paste from clipboard (Ctrl/Cmd+V), or provide a URL.
Type # to reference inputs.
Customize your input with more control.
You will be charged based on the number of input and output tokens.
You will be charged based on the number of input and output tokens.
The OpenRouter API provides unified access to a wide range of large language models — including GPT, Claude, Gemini, and many others through a single API interface. Billed through fal.
pythonfrom openai import OpenAI import os client = OpenAI( base_url="https://fal.run/openrouter/router/openai/v1", api_key="not-needed", default_headers={ "Authorization": f"Key {os.environ['FAL_KEY']}", }, ) response = client.chat.completions.create( model="google/gemini-2.5-flash", messages=[ {"role": "user", "content": "Write a short story (under 200 words) about an AI that learns to dream. Use vivid sensory details and end with a surprising twist that makes the reader feel both awe and melancholy."}, ], ) print(response.choices[0].message.content)
pythonfrom openai import OpenAI import os client = OpenAI( base_url="https://fal.run/openrouter/router/openai/v1", api_key="not-needed", default_headers={ "Authorization": f"Key {os.environ['FAL_KEY']}", }, ) stream = client.chat.completions.create( model="google/gemini-2.5-flash", messages=[ {"role": "user", "content": "Explain quantum computing in simple terms."}, ], stream=True, ) for chunk in stream: if chunk.choices and chunk.choices[0].delta: print(chunk.choices[0].delta.content, end="", flush=True)
For more details, visit the official docs: