Cloud video editing projects
| Method | Path | Summary |
|---|---|---|
GET | /editor/projects | List editor projects |
POST | /editor/projects | Create an editor project |
GET | /editor/projects/{projectId} | Get a project |
PATCH | /editor/projects/{projectId} | Update a project |
DELETE | /editor/projects/{projectId} | Delete a project |
POST | /editor/projects/{projectId}/export | Export a project |
{% api-endpoint method=“GET” path=“/editor/projects” /%}
List editor projects
Operation ID: listProjects
| Name | Type | Required | Description |
|---|---|---|---|
page | integer | No | Default: 1 |
perPage | integer | No | Default: 20 |
status | string | No | - |
Paginated list of projects
| 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.editor.listProjects({
page: 1,
perPage: 1,
status: "example-value",
});
console.log(result);
{% /tab %} {% tab label=“Python” %}
from wave_sdk import WaveClient
client = WaveClient(api_key="your-api-key")
result = client.editor.list_projects(
page=1,
per_page=1,
status="example-value"
)
print(result)
{% /tab %} {% tab label=“cURL” %}
curl -X GET 'https://api.wave.online/editor/projects?page=1&perPage=1&status=example-value' \
-H 'Authorization: Bearer YOUR_API_KEY'
{% /tab %} {% /tabs %}
{% api-endpoint method=“POST” path=“/editor/projects” /%}
Create an editor project
Operation ID: createProject
Content-Type: application/json
| Required
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | - |
description | string | No | - |
resolution | string | No | Default: "1920x1080" |
frameRate | number | No | Default: 30 |
aspectRatio | string | No | Default: "16:9" |
Project created
| Field | Type | Required | Description |
|---|---|---|---|
id | string | No | - |
name | string | No | - |
description | string | No | - |
status | string | No | - |
duration | number | No | - |
resolution | string | No | - |
frameRate | number | No | - |
thumbnailUrl | string (uri) | No | - |
exportUrl | string (uri) | 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.editor.createProject({
name: "example-value",
description: "example-value",
resolution: "1920x1080",
frameRate: 30,
aspectRatio: "16:9",
});
console.log(result);
{% /tab %} {% tab label=“Python” %}
from wave_sdk import WaveClient
client = WaveClient(api_key="your-api-key")
result = client.editor.create_project(
name="example-value",
description="example-value",
resolution="example-value",
frame_rate=1,
aspect_ratio="example-value"
)
print(result)
{% /tab %} {% tab label=“cURL” %}
curl -X POST 'https://api.wave.online/editor/projects' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"name": "example-value",
"description": "example-value",
"resolution": "1920x1080",
"frameRate": 30,
"aspectRatio": "16:9"
}'
{% /tab %} {% /tabs %}
{% api-endpoint method=“GET” path=“/editor/projects/{projectId}” /%}
Get a project
Operation ID: getProject
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | - |
Project details
| Field | Type | Required | Description |
|---|---|---|---|
id | string | No | - |
name | string | No | - |
description | string | No | - |
status | string | No | - |
duration | number | No | - |
resolution | string | No | - |
frameRate | number | No | - |
thumbnailUrl | string (uri) | No | - |
exportUrl | string (uri) | 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.editor.getProject("abc-123");
console.log(result);
{% /tab %} {% tab label=“Python” %}
from wave_sdk import WaveClient
client = WaveClient(api_key="your-api-key")
result = client.editor.get_project(
project_id="abc-123"
)
print(result)
{% /tab %} {% tab label=“cURL” %}
curl -X GET 'https://api.wave.online/editor/projects/abc-123' \
-H 'Authorization: Bearer YOUR_API_KEY'
{% /tab %} {% /tabs %}
{% api-endpoint method=“PATCH” path=“/editor/projects/{projectId}” /%}
Update a project
Operation ID: updateProject
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | - |
Content-Type: application/json
| Field | Type | Required | Description |
|---|---|---|---|
name | string | No | - |
description | string | No | - |
Project updated
| Field | Type | Required | Description |
|---|---|---|---|
id | string | No | - |
name | string | No | - |
description | string | No | - |
status | string | No | - |
duration | number | No | - |
resolution | string | No | - |
frameRate | number | No | - |
thumbnailUrl | string (uri) | No | - |
exportUrl | string (uri) | 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.editor.updateProject("abc-123", {
name: "example-value",
description: "example-value",
});
console.log(result);
{% /tab %} {% tab label=“Python” %}
from wave_sdk import WaveClient
client = WaveClient(api_key="your-api-key")
result = client.editor.update_project(
project_id="abc-123",
name="example-value",
description="example-value"
)
print(result)
{% /tab %} {% tab label=“cURL” %}
curl -X PATCH 'https://api.wave.online/editor/projects/abc-123' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"name": "example-value",
"description": "example-value"
}'
{% /tab %} {% /tabs %}
{% api-endpoint method=“DELETE” path=“/editor/projects/{projectId}” /%}
Delete a project
Operation ID: deleteProject
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | - |
Project deleted
{% tabs %} {% tab label=“TypeScript” %}
import { WaveClient } from "@wave/sdk";
const client = new WaveClient({ apiKey: "your-api-key" });
const result = await client.editor.deleteProject("abc-123");
console.log(result);
{% /tab %} {% tab label=“Python” %}
from wave_sdk import WaveClient
client = WaveClient(api_key="your-api-key")
result = client.editor.delete_project(
project_id="abc-123"
)
print(result)
{% /tab %} {% tab label=“cURL” %}
curl -X DELETE 'https://api.wave.online/editor/projects/abc-123' \
-H 'Authorization: Bearer YOUR_API_KEY'
{% /tab %} {% /tabs %}
{% api-endpoint method=“POST” path=“/editor/projects/{projectId}/export” /%}
Export a project
Operation ID: exportProject
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | - |
Content-Type: application/json
| Field | Type | Required | Description |
|---|---|---|---|
format | string | No | Default: "mp4". Values: mp4, webm, mov |
resolution | string | No | - |
quality | string | No | Default: "high". Values: low, medium, high, ultra |
Export started
| Field | Type | Required | Description |
|---|---|---|---|
id | string | No | - |
status | string | No | Values: pending, processing, completed, failed, cancelled |
progress | integer | No | - |
outputUrl | string (uri) | No | - |
{% tabs %} {% tab label=“TypeScript” %}
import { WaveClient } from "@wave/sdk";
const client = new WaveClient({ apiKey: "your-api-key" });
const result = await client.editor.exportProject("abc-123", {
format: "mp4",
resolution: "example-value",
quality: "high",
});
console.log(result);
{% /tab %} {% tab label=“Python” %}
from wave_sdk import WaveClient
client = WaveClient(api_key="your-api-key")
result = client.editor.export_project(
project_id="abc-123",
format="example-value",
resolution="example-value",
quality="example-value"
)
print(result)
{% /tab %} {% tab label=“cURL” %}
curl -X POST 'https://api.wave.online/editor/projects/abc-123/export' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"format": "mp4",
"resolution": "example-value",
"quality": "high"
}'
{% /tab %} {% /tabs %}