Video enhancement and AI processing
| Method | Path | Summary |
|---|---|---|
GET | /studio-ai/enhancements | List enhancement jobs |
POST | /studio-ai/enhancements | Create an enhancement job |
POST | /studio-ai/preview | Generate enhancement preview |
{% api-endpoint method=“GET” path=“/studio-ai/enhancements” /%}
List enhancement jobs
Operation ID: listEnhancements
| Name | Type | Required | Description |
| --------- | ---------- | ------------ | ------------- | --------------- | ------------------- | --- | ------------------------------------------------------------------------------ |
| page | integer | No | Default: 1 |
| perPage | integer | No | Default: 20 |
| type | "upscale" | "denoise" | "stabilize" | "color_correct" | "super_resolution" | No | Values: upscale, denoise, stabilize, color_correct, super_resolution |
| status | "pending" | "processing" | "completed" | "failed" | "cancelled" | No | Values: pending, processing, completed, failed, cancelled |
Paginated list of enhancements
| Field | Type | Required | Description |
|---|---|---|---|
data | object[] | No | - |
pagination | object | No | - |
{% tabs %} {% tab label=“TypeScript” %}
import { WaveClient } from "@wave/sdk";
const client = new WaveClient({ apiKey: "your-api-key" });
const result = await client.studioAI.listEnhancements({
page: 1,
perPage: 1,
type: "example-value",
status: "example-value",
});
console.log(result);
{% /tab %} {% tab label=“Python” %}
from wave_sdk import WaveClient
client = WaveClient(api_key="your-api-key")
result = client.studio_a_i.list_enhancements(
page=1,
per_page=1,
type="example-value",
status="example-value"
)
print(result)
{% /tab %} {% tab label=“cURL” %}
curl -X GET 'https://api.wave.online/studio-ai/enhancements?page=1&perPage=1&type=example-value&status=example-value' \
-H 'Authorization: Bearer YOUR_API_KEY'
{% /tab %} {% /tabs %}
{% api-endpoint method=“POST” path=“/studio-ai/enhancements” /%}
Create an enhancement job
Operation ID: createEnhancement
Content-Type: application/json
| Required
| Field | Type | Required | Description |
|---|---|---|---|
videoId | string | Yes | - |
type | string | Yes | Values: upscale, denoise, stabilize, color_correct, super_resolution |
settings | object | No | - |
priority | string | No | Default: "normal". Values: low, normal, high |
Enhancement created
| Field | Type | Required | Description |
|---|---|---|---|
id | string | No | - |
videoId | string | No | - |
type | string | No | Values: upscale, denoise, stabilize, color_correct, super_resolution |
status | string | No | Values: pending, processing, completed, failed, cancelled |
progress | integer | No | - |
inputUrl | string (uri) | No | - |
outputUrl | string (uri) | No | - |
settings | object | No | - |
creditsUsed | integer | No | - |
organizationId | string | No | - |
createdAt | string (date-time) | No | - |
updatedAt | string (date-time) | No | - |
{% tabs %} {% tab label=“TypeScript” %}
import { WaveClient } from "@wave/sdk";
const client = new WaveClient({ apiKey: "your-api-key" });
const result = await client.studioAI.createEnhancement({
videoId: "abc-123",
type: "upscale",
settings: {},
priority: "normal",
});
console.log(result);
{% /tab %} {% tab label=“Python” %}
from wave_sdk import WaveClient
client = WaveClient(api_key="your-api-key")
result = client.studio_a_i.create_enhancement(
video_id="abc-123",
type="example-value",
settings={},
priority="example-value"
)
print(result)
{% /tab %} {% tab label=“cURL” %}
curl -X POST 'https://api.wave.online/studio-ai/enhancements' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"videoId": "abc-123",
"type": "upscale",
"settings": {},
"priority": "normal"
}'
{% /tab %} {% /tabs %}
{% api-endpoint method=“POST” path=“/studio-ai/preview” /%}
Generate enhancement preview
Operation ID: previewEnhancement
Content-Type: application/json
| Required
| Field | Type | Required | Description |
|---|---|---|---|
videoId | string | Yes | - |
type | string | Yes | - |
timestamp | number | No | Default: 0 |
settings | object | No | - |
Preview generated
| Field | Type | Required | Description |
|---|---|---|---|
beforeUrl | string (uri) | No | - |
afterUrl | string (uri) | No | - |
{% tabs %} {% tab label=“TypeScript” %}
import { WaveClient } from "@wave/sdk";
const client = new WaveClient({ apiKey: "your-api-key" });
const result = await client.studioAI.previewEnhancement({
videoId: "abc-123",
type: "example-value",
timestamp: 0,
settings: {},
});
console.log(result);
{% /tab %} {% tab label=“Python” %}
from wave_sdk import WaveClient
client = WaveClient(api_key="your-api-key")
result = client.studio_a_i.preview_enhancement(
video_id="abc-123",
type="example-value",
timestamp=1,
settings={}
)
print(result)
{% /tab %} {% tab label=“cURL” %}
curl -X POST 'https://api.wave.online/studio-ai/preview' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"videoId": "abc-123",
"type": "example-value",
"timestamp": 0,
"settings": {}
}'
{% /tab %} {% /tabs %}