Skip to main content
GET
https://studio.dubformer.ai
/
api
/
v1
/
artifacts
/
create
curl -X GET \
  'https://studio.dubformer.ai/api/v1/artifacts/create?fileName=my-video.mp4' \
  -H 'Authorization: Bearer YOUR_API_KEY'
{
  "s3Path": "s3://dubformer-artifacts/temp/550e8400-e29b-41d4-a716-446655440000/my-video.mp4",
  "presignedUploadUrl": "https://storage.dubformer.ai/uploads/67a8f9b0c1d2e3f4g5h6i7j8/source_video.mp4?X-Amz-Algorithm=...",
  "expiresAt": "2026-02-04T12:30:00.000Z"
}
This endpoint generates a presigned S3 URL that allows you to upload files directly to Dubformer’s storage. This is the first step when uploading local files.
Use this endpoint for local file uploads only. If your file is already hosted on a URL or in S3, you can skip this step and go directly to Create Artifact.

Query Parameters

fileName
string
required
Name of the file with extension (e.g., video.mp4, audio.wav, script.txt).This is the actual file name, not the artifact display name. The extension is used to determine the file type.

Response

s3Path
string
S3 path where the file will be stored. You’ll need this path when creating the artifact in Step 2.
presignedUploadUrl
string
Temporary presigned URL for uploading your file. Use this URL to upload via PUT request.
expiresAt
string
ISO 8601 timestamp when the presigned URL expires. Typically 24 hours from generation.

Example Request

curl -X GET \
  'https://studio.dubformer.ai/api/v1/artifacts/create?fileName=my-video.mp4' \
  -H 'Authorization: Bearer YOUR_API_KEY'
{
  "s3Path": "s3://dubformer-artifacts/temp/550e8400-e29b-41d4-a716-446655440000/my-video.mp4",
  "presignedUploadUrl": "https://storage.dubformer.ai/uploads/67a8f9b0c1d2e3f4g5h6i7j8/source_video.mp4?X-Amz-Algorithm=...",
  "expiresAt": "2026-02-04T12:30:00.000Z"
}

Next Step: Upload Your File

After receiving the presigned URL, upload your file using a PUT request:
curl -X PUT \
  "PRESIGNED_UPLOAD_URL_FROM_RESPONSE" \
  -H 'Content-Type: application/octet-stream' \
  --data-binary '@/path/to/your/my-video.mp4'
The presigned URL expires after the time specified in expiresAt (typically 24 hours). Make sure to complete your upload before this time.

Final Step: Create Artifact

After successfully uploading your file, create the artifact record using the s3Path from the response.

Create Artifact

See full details on creating an artifact record