Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -656,7 +656,6 @@ partial void ProcessImportProjectMediaResponseContent(
/// The payload will match the format returned by [GET /jobs/{job_id}](#operation/getJob).
/// </summary>
/// <param name="projectId">
/// **[Work in progress]** Importing into an existing project is not yet supported. Currently, a new project is always created.<br/>
/// Existing project ID to import media into. If not provided, a new project will be created.<br/>
/// When importing into an existing project, media filenames must not conflict with existing files.<br/>
/// Example: 9f36ee32-5a2c-47e7-b1a3-94991d3e3ddb
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,11 @@ partial void ProcessPublishJobResponseContent(
/// - `share_url`: a public URL that can be used to view the published content on Descript's share site.<br/>
/// - `download_url`: a time-limited signed URL to download the exported media file directly,<br/>
/// along with `download_url_expires_at` indicating when the link expires.<br/>
/// ### Republishing<br/>
/// Publishing the same composition a second time automatically reuses the previous share URL,<br/>
/// overwriting its content — so bookmarks and links handed out for the first publish keep working.<br/>
/// Republish matching is keyed on `(project_id, composition_id, media_type)`, so a Video publish<br/>
/// and an Audio publish of the same composition produce two separate share URLs.<br/>
/// ### Async Operations<br/>
/// Publish jobs run in the background and return a `job_id`. Monitor progress via the [GET /jobs/{job_id}](#operation/getJob) endpoint,<br/>
/// which returns the `share_url`, `download_url`, and `download_url_expires_at` fields once the job finishes.<br/>
Expand Down Expand Up @@ -591,6 +596,11 @@ partial void ProcessPublishJobResponseContent(
/// - `share_url`: a public URL that can be used to view the published content on Descript's share site.<br/>
/// - `download_url`: a time-limited signed URL to download the exported media file directly,<br/>
/// along with `download_url_expires_at` indicating when the link expires.<br/>
/// ### Republishing<br/>
/// Publishing the same composition a second time automatically reuses the previous share URL,<br/>
/// overwriting its content — so bookmarks and links handed out for the first publish keep working.<br/>
/// Republish matching is keyed on `(project_id, composition_id, media_type)`, so a Video publish<br/>
/// and an Audio publish of the same composition produce two separate share URLs.<br/>
/// ### Async Operations<br/>
/// Publish jobs run in the background and return a `job_id`. Monitor progress via the [GET /jobs/{job_id}](#operation/getJob) endpoint,<br/>
/// which returns the `share_url`, `download_url`, and `download_url_expires_at` fields once the job finishes.<br/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,6 @@ public partial interface IApiEndpointsClient
/// The payload will match the format returned by [GET /jobs/{job_id}](#operation/getJob).
/// </summary>
/// <param name="projectId">
/// **[Work in progress]** Importing into an existing project is not yet supported. Currently, a new project is always created.<br/>
/// Existing project ID to import media into. If not provided, a new project will be created.<br/>
/// When importing into an existing project, media filenames must not conflict with existing files.<br/>
/// Example: 9f36ee32-5a2c-47e7-b1a3-94991d3e3ddb
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@ public partial interface IApiEndpointsClient
/// - `share_url`: a public URL that can be used to view the published content on Descript's share site.<br/>
/// - `download_url`: a time-limited signed URL to download the exported media file directly,<br/>
/// along with `download_url_expires_at` indicating when the link expires.<br/>
/// ### Republishing<br/>
/// Publishing the same composition a second time automatically reuses the previous share URL,<br/>
/// overwriting its content — so bookmarks and links handed out for the first publish keep working.<br/>
/// Republish matching is keyed on `(project_id, composition_id, media_type)`, so a Video publish<br/>
/// and an Audio publish of the same composition produce two separate share URLs.<br/>
/// ### Async Operations<br/>
/// Publish jobs run in the background and return a `job_id`. Monitor progress via the [GET /jobs/{job_id}](#operation/getJob) endpoint,<br/>
/// which returns the `share_url`, `download_url`, and `download_url_expires_at` fields once the job finishes.<br/>
Expand All @@ -36,6 +41,11 @@ public partial interface IApiEndpointsClient
/// - `share_url`: a public URL that can be used to view the published content on Descript's share site.<br/>
/// - `download_url`: a time-limited signed URL to download the exported media file directly,<br/>
/// along with `download_url_expires_at` indicating when the link expires.<br/>
/// ### Republishing<br/>
/// Publishing the same composition a second time automatically reuses the previous share URL,<br/>
/// overwriting its content — so bookmarks and links handed out for the first publish keep working.<br/>
/// Republish matching is keyed on `(project_id, composition_id, media_type)`, so a Video publish<br/>
/// and an Audio publish of the same composition produce two separate share URLs.<br/>
/// ### Async Operations<br/>
/// Publish jobs run in the background and return a `job_id`. Monitor progress via the [GET /jobs/{job_id}](#operation/getJob) endpoint,<br/>
/// which returns the `share_url`, `download_url`, and `download_url_expires_at` fields once the job finishes.<br/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ namespace Descript
public sealed partial class ImportProjectMediaRequest
{
/// <summary>
/// **[Work in progress]** Importing into an existing project is not yet supported. Currently, a new project is always created.<br/>
/// Existing project ID to import media into. If not provided, a new project will be created.<br/>
/// When importing into an existing project, media filenames must not conflict with existing files.<br/>
/// Example: 9f36ee32-5a2c-47e7-b1a3-94991d3e3ddb
Expand Down Expand Up @@ -92,7 +91,6 @@ public sealed partial class ImportProjectMediaRequest
/// Initializes a new instance of the <see cref="ImportProjectMediaRequest" /> class.
/// </summary>
/// <param name="projectId">
/// **[Work in progress]** Importing into an existing project is not yet supported. Currently, a new project is always created.<br/>
/// Existing project ID to import media into. If not provided, a new project will be created.<br/>
/// When importing into an existing project, media filenames must not conflict with existing files.<br/>
/// Example: 9f36ee32-5a2c-47e7-b1a3-94991d3e3ddb
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@
"Order": 9,
"Title": "Publish project media",
"Slug": "publishjob",
"Description": "Publish a project composition to create a shareable link and download the exported file.\n\nPublishes a specific composition from a project, rendering the output as video or audio\nat the specified resolution. When the job completes successfully the result contains both:\n\n- \u0060share_url\u0060: a public URL that can be used to view the published content on Descript\u0027s share site.\n- \u0060download_url\u0060: a time-limited signed URL to download the exported media file directly,\n along with \u0060download_url_expires_at\u0060 indicating when the link expires.\n\n### Async Operations\n\nPublish jobs run in the background and return a \u0060job_id\u0060. Monitor progress via the [GET /jobs/{job_id}](#operation/getJob) endpoint,\nwhich returns the \u0060share_url\u0060, \u0060download_url\u0060, and \u0060download_url_expires_at\u0060 fields once the job finishes.\n\n### Dynamic webhook\n\nIf \u0060callback_url\u0060 is provided, Descript will POST the job status to that URL when the job completes or fails.\nThe payload will match the format returned by [GET /jobs/{job_id}](#operation/getJob).",
"Description": "Publish a project composition to create a shareable link and download the exported file.\n\nPublishes a specific composition from a project, rendering the output as video or audio\nat the specified resolution. When the job completes successfully the result contains both:\n\n- \u0060share_url\u0060: a public URL that can be used to view the published content on Descript\u0027s share site.\n- \u0060download_url\u0060: a time-limited signed URL to download the exported media file directly,\n along with \u0060download_url_expires_at\u0060 indicating when the link expires.\n\n### Republishing\n\nPublishing the same composition a second time automatically reuses the previous share URL,\noverwriting its content \u2014 so bookmarks and links handed out for the first publish keep working.\nRepublish matching is keyed on \u0060(project_id, composition_id, media_type)\u0060, so a Video publish\nand an Audio publish of the same composition produce two separate share URLs.\n\n### Async Operations\n\nPublish jobs run in the background and return a \u0060job_id\u0060. Monitor progress via the [GET /jobs/{job_id}](#operation/getJob) endpoint,\nwhich returns the \u0060share_url\u0060, \u0060download_url\u0060, and \u0060download_url_expires_at\u0060 fields once the job finishes.\n\n### Dynamic webhook\n\nIf \u0060callback_url\u0060 is provided, Descript will POST the job status to that URL when the job completes or fails.\nThe payload will match the format returned by [GET /jobs/{job_id}](#operation/getJob).",
"Language": "csharp",
"Code": "using var client = new DescriptClient(apiKey);\n\nvar request = global::System.Text.Json.JsonSerializer.Deserialize\u003Cglobal::Descript.PublishJobRequest\u003E(\n @\u0022{\n \u0022\u0022project_id\u0022\u0022: \u0022\u00229f36ee32-5a2c-47e7-b1a3-94991d3e3ddb\u0022\u0022,\n \u0022\u0022composition_id\u0022\u0022: \u0022\u002239677a40-1c43-4c36-8449-46cfbc4de2b5\u0022\u0022,\n \u0022\u0022media_type\u0022\u0022: \u0022\u0022Audio\u0022\u0022\n}\u0022)!;\n\nvar response = await client.ApiEndpoints.PublishJobAsync(\n request: request\n);",
"Format": "sdk",
Expand Down
9 changes: 7 additions & 2 deletions src/libs/Descript/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -304,8 +304,6 @@ paths:
type: string
format: uuid
description: |
**[Work in progress]** Importing into an existing project is not yet supported. Currently, a new project is always created.

Existing project ID to import media into. If not provided, a new project will be created.
When importing into an existing project, media filenames must not conflict with existing files.
example: 9f36ee32-5a2c-47e7-b1a3-94991d3e3ddb
Expand Down Expand Up @@ -938,6 +936,13 @@ paths:
- `download_url`: a time-limited signed URL to download the exported media file directly,
along with `download_url_expires_at` indicating when the link expires.

### Republishing

Publishing the same composition a second time automatically reuses the previous share URL,
overwriting its content — so bookmarks and links handed out for the first publish keep working.
Republish matching is keyed on `(project_id, composition_id, media_type)`, so a Video publish
and an Audio publish of the same composition produce two separate share URLs.

### Async Operations

Publish jobs run in the background and return a `job_id`. Monitor progress via the [GET /jobs/{job_id}](#operation/getJob) endpoint,
Expand Down