# Creatify App

> Creatify App API endpoint


## Overview

- **Endpoint**: `https://fal.run/fal-ai/creatify-app/boreal`
- **Model ID**: `fal-ai/creatify-app/boreal`
- **Category**: unknown
- **Kind**: inference


## Pricing

- **Price**: $0.01 per units

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:


- **`prompt`** (`string`, _required_):
  Direction for the visuals, spoken dialogue, sounds, and on-screen text. Structure it with `[VISUAL]`, `[SPEECH]`, `[SOUNDS]`, and `[TEXT]` sections for best results. English is the validated language.
  - Examples: "[VISUAL]\nA cinematic product close-up of a sparkling-water can on wet black stone.\nCondensation rolls down the can as the camera makes a slow half-orbit.\n\n[SPEECH]\n\"Clean flavor. Bright finish. Nothing extra.\"\n\n[SOUNDS]\nA crisp can opening, gentle fizz, and restrained electronic music.\n\n[TEXT]\nNone."

- **`image_url`** (`string`, _optional_):
  Optional reference image to animate. Guides identity, composition, and appearance; the output follows this image's aspect ratio.
  - Examples: "https://storage.googleapis.com/falserverless/example_inputs/creatify/aurora/input_.png"

- **`audio_url`** (`string`, _optional_):
  Optional driving audio (narration, dialogue, or a soundtrack). When provided it is preserved in the output instead of generated speech.
  - Examples: "https://storage.googleapis.com/falserverless/example_inputs/creatify/aurora/input.wav"

- **`negative_prompt`** (`string`, _optional_):
  Content or artifacts to avoid in the generated video. Default value: `""`
  - Default: `""`

- **`resolution`** (`ResolutionEnum`, _optional_):
  Delivery tier. `2k` is 2016 px on the long edge for 16:9 and 9:16, and the 1440p row for 1:1, 4:3 and 3:4. Default value: `"720p"`
  - Default: `"720p"`
  - Options: `"720p"`, `"1080p"`, `"2k"`

- **`aspect_ratio`** (`AspectRatioEnum`, _optional_):
  Frame ratio. `auto` follows the reference image's own ratio, and is landscape (16:9) when there is no image. A named ratio renders that ratio; with an image it centre-crops the image to it. Default value: `"auto"`
  - Default: `"auto"`
  - Options: `"auto"`, `"16:9"`, `"9:16"`, `"1:1"`, `"4:3"`, `"3:4"`

- **`duration`** (`float`, _optional_):
  Length of the generated video in seconds at 24 FPS, rounded by the model to the nearest legal frame count (5 s -> 121 frames, 10 s -> 241, 15 s -> 361). With `audio_url`, the first `duration` seconds of the audio are used; shorter audio is padded with silence. Default value: `10`
  - Default: `10`
  - Range: `1` to `20`

- **`manifest_disclosure`** (`boolean`, _optional_):
  Add a visible `AI-generated` disclosure label to the video. Invisible C2PA metadata and watermarking are always applied.
  - Default: `false`



**Required Parameters Example**:

```json
{
  "prompt": "[VISUAL]\nA cinematic product close-up of a sparkling-water can on wet black stone.\nCondensation rolls down the can as the camera makes a slow half-orbit.\n\n[SPEECH]\n\"Clean flavor. Bright finish. Nothing extra.\"\n\n[SOUNDS]\nA crisp can opening, gentle fizz, and restrained electronic music.\n\n[TEXT]\nNone."
}
```

**Full Example**:

```json
{
  "prompt": "[VISUAL]\nA cinematic product close-up of a sparkling-water can on wet black stone.\nCondensation rolls down the can as the camera makes a slow half-orbit.\n\n[SPEECH]\n\"Clean flavor. Bright finish. Nothing extra.\"\n\n[SOUNDS]\nA crisp can opening, gentle fizz, and restrained electronic music.\n\n[TEXT]\nNone.",
  "image_url": "https://storage.googleapis.com/falserverless/example_inputs/creatify/aurora/input_.png",
  "audio_url": "https://storage.googleapis.com/falserverless/example_inputs/creatify/aurora/input.wav",
  "resolution": "720p",
  "aspect_ratio": "auto",
  "duration": 10
}
```


### Output Schema

The API returns the following output format:

- **`video`** (`VideoFile`, _required_):
  The generated video with synchronized native audio.
  - Examples: {"content_type":"video/mp4","file_name":"output.mp4","url":"https://storage.googleapis.com/falserverless/example_outputs/creatify/aurora/output.mp4"}



**Example Response**:

```json
{
  "video": {
    "content_type": "video/mp4",
    "file_name": "output.mp4",
    "url": "https://storage.googleapis.com/falserverless/example_outputs/creatify/aurora/output.mp4"
  }
}
```


## Usage Examples

### cURL

```bash
curl --request POST \
  --url https://fal.run/fal-ai/creatify-app/boreal \
  --header "Authorization: Key $FAL_KEY" \
  --header "Content-Type: application/json" \
  --data '{
     "prompt": "[VISUAL]\nA cinematic product close-up of a sparkling-water can on wet black stone.\nCondensation rolls down the can as the camera makes a slow half-orbit.\n\n[SPEECH]\n\"Clean flavor. Bright finish. Nothing extra.\"\n\n[SOUNDS]\nA crisp can opening, gentle fizz, and restrained electronic music.\n\n[TEXT]\nNone."
   }'
```

### 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(
    "fal-ai/creatify-app/boreal",
    arguments={
        "prompt": "[VISUAL]
    A cinematic product close-up of a sparkling-water can on wet black stone.
    Condensation rolls down the can as the camera makes a slow half-orbit.

    [SPEECH]
    \"Clean flavor. Bright finish. Nothing extra.\"

    [SOUNDS]
    A crisp can opening, gentle fizz, and restrained electronic music.

    [TEXT]
    None."
    },
    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("fal-ai/creatify-app/boreal", {
  input: {
    prompt: "[VISUAL]
  A cinematic product close-up of a sparkling-water can on wet black stone.
  Condensation rolls down the can as the camera makes a slow half-orbit.

  [SPEECH]
  \"Clean flavor. Bright finish. Nothing extra.\"

  [SOUNDS]
  A crisp can opening, gentle fizz, and restrained electronic music.

  [TEXT]
  None."
  },
  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/fal-ai/creatify-app/boreal)
- [API Documentation](https://fal.ai/models/fal-ai/creatify-app/boreal/api)
- [OpenAPI Schema](https://fal.ai/api/openapi/queue/openapi.json?endpoint_id=fal-ai/creatify-app/boreal)

### 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`
