Create a new artifact and upload a source file
source_video.mp4video, audio, or script.url, s3Path, or fragments). We’ll return a temporary presigned URL that you can use to upload your file directly to our storage using a PUT request.Best for: Uploading files from your local machine or when you need full control over the upload process.url parameter with a publicly accessible link to your file. We’ll download the file asynchronously from the provided URL.Best for: When your file is already hosted somewhere (CDN, public cloud storage, etc.) and you want us to fetch it.s3Path and fragments.s3Path parameter pointing to a file in your AWS S3 bucket (e.g., s3://my-bucket/path/to/video.mp4). We’ll copy the file directly from your S3 storage without downloading/re-uploading.Best for: Files already stored in S3. This is the fastest method as it avoids internet transfers.Setup required: You must first attach AWS S3 credentials to your API key in your dashboard settings.url and fragments.fragments array with multiple video/audio clips. We’ll fetch each fragment (from URL or S3) and concatenate them into a single artifact. Each fragment must specify either url or s3Path, plus a startTime.Best for: Combining multiple clips into one file before processing.Limitations: Not supported for script type artifacts. All fragments must be in the same format (codec, resolution, frame rate).script type. Mutually exclusive with url and s3Path. Each fragment must contain:url (string) OR s3Path (string) - source location of the fragmentstartTime (number) - start time in seconds (must be >= 0)video, audio, or script.created. Will change to ready, failed, or other states as processing progresses.direct_url (for Direct URL and S3 Path methods) or fragments (for Fragment concatenation).null until the file is processed.null until the file is processed or for script type.null unless status is failed.id and name fields. May be undefined depending on context.id and name fields for the user who created the artifact. May be undefined depending on context.url, s3Path, or fragments in the request), you’ll receive a presignedUploadUrl. Upload your file using a PUT request:
expiresAt field.
Make sure to complete your upload before this time expires.url parameter, the system will download the file from the specified URL asynchronously. The artifact will be created immediately with a pending status.
s3Path parameter, the system will copy the file from your configured S3 storage. This requires S3 credentials to be configured for your API key.
fragments, the system will download or copy each fragment and concatenate them into a single artifact. Each fragment must specify either a url or s3Path, and a startTime. This is not supported for script type artifacts.