# Isaac 0.1

> Isaac-01 is a multimodal vision-language model from Perceptron for various vision language tasks.


## Overview

- **Endpoint**: `https://fal.run/perceptron/isaac-01`
- **Model ID**: `perceptron/isaac-01`
- **Category**: vision
- **Kind**: inference
**Tags**: multimodal, vision



## Pricing

$0.26 per 1M input tokens, $2.17 per 1M output tokens

For more details, see [fal.ai pricing](https://fal.ai/pricing).

## API Information

This model can be used via our HTTP API or more conveniently via our client libraries.
See the input and output schema below, as well as the usage examples.


### Input Schema

The API accepts the following input parameters:


- **`image_url`** (`string`, _required_):
  Image URL to be processed
  - Examples: "https://v3b.fal.media/files/b/penguin/BxDPafViqMBGfNyvcmG-C_image-1d100e9%20(4).jpg"

- **`prompt`** (`string`, _required_):
  Prompt to be used for the image
  - Examples: "Which car is trying to park into garage?"

- **`response_style`** (`ResponseStyleEnum`, _optional_):
  Response style to be used for the image.
  
  - text: Model will output text. Good for descriptions and captioning.
  - box: Model will output a combination of text and bounding boxes. Good for
  localization.
  - point: Model will output a combination of text and points. Good for counting many
  objects.
  - polygon: Model will output a combination of text and polygons. Good for granular
  segmentation. Default value: `"text"`
  - Default: `"text"`
  - Options: `"text"`, `"box"`, `"point"`, `"polygon"`



**Required Parameters Example**:

```json
{
  "image_url": "https://v3b.fal.media/files/b/penguin/BxDPafViqMBGfNyvcmG-C_image-1d100e9%20(4).jpg",
  "prompt": "Which car is trying to park into garage?"
}
```

**Full Example**:

```json
{
  "image_url": "https://v3b.fal.media/files/b/penguin/BxDPafViqMBGfNyvcmG-C_image-1d100e9%20(4).jpg",
  "prompt": "Which car is trying to park into garage?",
  "response_style": "text"
}
```


### Output Schema

The API returns the following output format:

- **`output`** (`string`, _required_):
  Generated output
  - Examples: "To determine which car is trying to park into the garage, we need to carefully observe the positions and movements of the vehicles in the image.\n\n1. **Identify the Vehicles**: \n   - There are three vehicles visible: a green truck, an orange car, and a brown car.\n   - The green truck is positioned in front of the garage entrance.\n   - The orange car is parked to the left of the green truck.\n   - The brown car is parked to the right of the green truck.\n\n2. **Analyze the Positions**:\n   - The green truck is directly in front of the garage entrance, suggesting it is in the process of moving towards the entrance.\n   - The orange car is parked parallel to the garage but is not in the path of the green truck.\n   - The brown car is also parked parallel to the garage but is not in the path of the green truck.\n\n3. **Determine the Action**:\n   - Given the position of the green truck directly in front of the garage entrance, it is most likely that the green truck is trying to park into the garage.\n   - The orange and brown cars are already parked and do not appear to be in motion or attempting to park.\n\nTherefore, the car that is trying to park into the garage is the green truck."

- **`partial`** (`boolean`, _optional_):
  Whether the output is partial
  - Default: `false`

- **`error`** (`string`, _optional_):
  Error message if an error occurred

- **`usage`** (`CompletionUsage`, _optional_):
  Usage information



**Example Response**:

```json
{
  "output": "To determine which car is trying to park into the garage, we need to carefully observe the positions and movements of the vehicles in the image.\n\n1. **Identify the Vehicles**: \n   - There are three vehicles visible: a green truck, an orange car, and a brown car.\n   - The green truck is positioned in front of the garage entrance.\n   - The orange car is parked to the left of the green truck.\n   - The brown car is parked to the right of the green truck.\n\n2. **Analyze the Positions**:\n   - The green truck is directly in front of the garage entrance, suggesting it is in the process of moving towards the entrance.\n   - The orange car is parked parallel to the garage but is not in the path of the green truck.\n   - The brown car is also parked parallel to the garage but is not in the path of the green truck.\n\n3. **Determine the Action**:\n   - Given the position of the green truck directly in front of the garage entrance, it is most likely that the green truck is trying to park into the garage.\n   - The orange and brown cars are already parked and do not appear to be in motion or attempting to park.\n\nTherefore, the car that is trying to park into the garage is the green truck."
}
```


## Usage Examples

### cURL

```bash
curl --request POST \
  --url https://fal.run/perceptron/isaac-01 \
  --header "Authorization: Key $FAL_KEY" \
  --header "Content-Type: application/json" \
  --data '{
     "image_url": "https://v3b.fal.media/files/b/penguin/BxDPafViqMBGfNyvcmG-C_image-1d100e9%20(4).jpg",
     "prompt": "Which car is trying to park into garage?"
   }'
```

### Python

Ensure you have the Python client installed:

```bash
pip install fal-client
```

Then use the API client to make requests:

```python
import fal_client

def on_queue_update(update):
    if isinstance(update, fal_client.InProgress):
        for log in update.logs:
           print(log["message"])

result = fal_client.subscribe(
    "perceptron/isaac-01",
    arguments={
        "image_url": "https://v3b.fal.media/files/b/penguin/BxDPafViqMBGfNyvcmG-C_image-1d100e9%20(4).jpg",
        "prompt": "Which car is trying to park into garage?"
    },
    with_logs=True,
    on_queue_update=on_queue_update,
)
print(result)
```

### JavaScript

Ensure you have the JavaScript client installed:

```bash
npm install --save @fal-ai/client
```

Then use the API client to make requests:

```javascript
import { fal } from "@fal-ai/client";

const result = await fal.subscribe("perceptron/isaac-01", {
  input: {
    image_url: "https://v3b.fal.media/files/b/penguin/BxDPafViqMBGfNyvcmG-C_image-1d100e9%20(4).jpg",
    prompt: "Which car is trying to park into garage?"
  },
  logs: true,
  onQueueUpdate: (update) => {
    if (update.status === "IN_PROGRESS") {
      update.logs.map((log) => log.message).forEach(console.log);
    }
  },
});
console.log(result.data);
console.log(result.requestId);
```


## Additional Resources

### Documentation

- [Model Playground](https://fal.ai/models/perceptron/isaac-01)
- [API Documentation](https://fal.ai/models/perceptron/isaac-01/api)
- [OpenAPI Schema](https://fal.ai/api/openapi/queue/openapi.json?endpoint_id=perceptron/isaac-01)

### fal.ai Platform

- [Platform Documentation](https://fal.ai/docs/documentation)
- [Python Client](https://fal.ai/docs/api-reference/client-libraries/python)
- [JavaScript Client](https://fal.ai/docs/api-reference/client-libraries/javascript)

### Other agent-readable surfaces

This file covers one model. To find anything else:

- [Platform overview](https://fal.ai/llms.txt): Entry points and representative endpoint IDs
- [Documentation index](https://fal.ai/docs/llms.txt): Every documentation page
- [Full documentation text](https://fal.ai/docs/llms-full.txt): The whole documentation inlined
- Any other model: `https://fal.ai/models/<endpoint-id>/llms.txt`
