# Video

This quickstart walks you through generating your first video with Infron.

### Video generation

{% tabs %}
{% tab title="Curl" %}

<pre class="language-sh"><code class="lang-sh">curl https://video.onerouter.pro/v1/videos/generations \
<strong>    -H "Content-Type: application/json" \
</strong>    -H "Authorization: &#x3C;API_KEY>" \
    -d '{
    "model": "veo3-fast",
    "prompt": "A cute baby sea otter",
    "output_format": "url"
  }'
</code></pre>

{% endtab %}
{% endtabs %}

* `https://video.onerouter.pro/v1/videos/generations` is the base URL
* `<API_KEY>` is your API Key generated in [API page](https://app.onerouter.pro/apiKeys).
* `model` is the model name, such as `veo3-fast`, available model list can be access in [Model page](https://app.onerouter.pro/models).
* `prompt`  is the prompt.
* `output_format` indicate the output format, default value is `url`.
  * `url`

**Example response**

```json
{
    "data": [
        {
            "url": "https://resource.onerouter.pro/video/generated%2Fonerouter_0688d9c3-4e7f-45c5-a30d-7923dfd056a6.mp4",
            "revised_prompt": "",
            "video_id": "video_68fc872dba248190875ba0c177c7b0cf0974c02d85a9c020"
        }
    ],
    "created": 1761380356
}
```

### Video edits

{% tabs %}
{% tab title="Curl" %}

<pre class="language-sh"><code class="lang-sh">curl https://video.onerouter.pro/v1/videos/edits \
<strong>    -H "Content-Type: application/json" \
</strong>    -H "Authorization: &#x3C;API_KEY>" \
    -d '{
    "model": "sora-2-video-to-video",
    "video_id": "video_68fc872dba248190875ba0c177c7b0cf0974c02d85a9c020",
    "prompt": "A cute baby sea otter",
    "output_format": "url"
  }'
</code></pre>

{% endtab %}
{% endtabs %}

* `https://video.onerouter.pro/v1/videos/edits` is the base URL
* `<API_KEY>` is your API Key generated in [API page](https://app.onerouter.pro/apiKeys).
* `model` is the model name, such as `sora-2-video-to-video`, available model list can be access in [Model page](https://app.onerouter.pro/models).
* `video_id` is  from a previous video generation. Note: You can only remix videos that were generated by the same video model (via text-to-video or image-to-video endpoints), not arbitrary uploaded videos.
* `prompt`  is the prompt.
* `output_format` indicate the output format, default value is `url`

**Example response**

```json
{
    "data": [
        {
            "url": "https://resource.onerouter.pro/video/generated%2Fonerouter_0688d9c3-4e7f-45c5-a30d-7923dfd056a6.mp4",
            "revised_prompt": "",
            "video_id": "video_68fc872dba248190875ba0c177c7b0cf0974c02d85a9c020"
        }
    ],
    "created": 1761380356
}
```

### Next steps

{% content-ref url="<https://app.gitbook.com/s/cigiTud9XJSe6mNo26dh/text-to-video-api>" %}
[Text to Video API](https://app.gitbook.com/s/cigiTud9XJSe6mNo26dh/text-to-video-api)
{% endcontent-ref %}
