For an OpenAI compatible API, you can use it like below:
from openai import OpenAI
client = OpenAI(
base_url="https://fal.run/perceptron/isaac-01/openai/v1",
api_key="N/A",
default_headers={
"Authorization": f"Key {os.environ['FAL_KEY']}",
}
)
response_style = "box"
messages = [
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "https://storage.googleapis.com/falserverless/model_tests/perceptron/8d3aef9b-5b44-4853-8381-80c24dd24deb.webp"
}
}
]
},
{
"role": "user",
"content": [
{
"type": "text",
"text": "Was a shot taken before the buzzer? Use the ball positioning and the shot clock to make your decision. Provide a one sentence rationale."
}
]
},
]
response = client.chat.completions.create(
model="perceptron",
messages=messages,
extra_body={
"response_style": response_style,
}
)
Or directly use the endpoint via cURL:
curl https://fal.run/perceptron/isaac-01/openai/v1/chat/completions \
-H "Authorization: Key $FAL_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "perceptron", "messages": [{"role": "user", "content": [{"type": "image_url", "image_url": {"url": "https://storage.googleapis.com/falserverless/model_tests/perceptron/8d3aef9b-5b44-4853-8381-80c24dd24deb.webp" }}]}, {"role": "user", "content": [{"type": "text", "text": "Was a shot taken before the buzzer? Use the ball positioning and the shot clock to make your decision. Provide a one sentence rationale." }] }], "extra_body": {"response_style": "box"}}'