Upload media by file
curl --request POST \
--url https://api.rask.ai/api/library/v1/media \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: multipart/form-data' \
--form data='@example-file' \
--form 'name=<string>'import requests
url = "https://api.rask.ai/api/library/v1/media"
files = { "data": ("example-file", open("example-file", "rb")) }
payload = { "name": "<string>" }
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, data=payload, files=files, headers=headers)
print(response.text)const form = new FormData();
form.append('data', '<string>');
form.append('name', '<string>');
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
options.body = form;
fetch('https://api.rask.ai/api/library/v1/media', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.rask.ai/api/library/v1/media",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"data\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\n<string>\r\n-----011000010111000001101001--",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: multipart/form-data"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.rask.ai/api/library/v1/media"
payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"data\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\n<string>\r\n-----011000010111000001101001--")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.rask.ai/api/library/v1/media")
.header("Authorization", "Bearer <token>")
.body("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"data\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\n<string>\r\n-----011000010111000001101001--")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rask.ai/api/library/v1/media")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request.body = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"data\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\n<string>\r\n-----011000010111000001101001--"
response = http.request(request)
puts response.read_body{
"kind": "video",
"status": "processing",
"mime_type": "<string>",
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"meta": {
"size_bytes": 123,
"duration_seconds": 123,
"audio_rate": 123,
"audio_layout": "mono",
"audio_channels": 123,
"audio_codec_name": "<string>",
"video_codec_name": "<string>",
"video_frame_rate": 123,
"video_frame_width": 123,
"video_frame_height": 123,
"original_meta": {}
},
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"path": "<string>",
"name": "<string>",
"url": "<string>",
"preview": {
"kind": "video",
"status": "processing",
"mime_type": "<string>",
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"meta": {
"size_bytes": 123,
"duration_seconds": 123,
"audio_rate": 123,
"audio_layout": "mono",
"audio_channels": 123,
"audio_codec_name": "<string>",
"video_codec_name": "<string>",
"video_frame_rate": 123,
"video_frame_width": 123,
"video_frame_height": 123,
"original_meta": {}
},
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"path": "<string>",
"name": "<string>",
"url": "<string>"
}
}{
"status": "media_mime_type_non_acceptable",
"status_code": 400,
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Media
Upload Media by File
POST a video or audio file to the Rask AI API to start a dubbing or transcription project. Request format, parameters and response schema.
POST
/
api
/
library
/
v1
/
media
Upload media by file
curl --request POST \
--url https://api.rask.ai/api/library/v1/media \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: multipart/form-data' \
--form data='@example-file' \
--form 'name=<string>'import requests
url = "https://api.rask.ai/api/library/v1/media"
files = { "data": ("example-file", open("example-file", "rb")) }
payload = { "name": "<string>" }
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, data=payload, files=files, headers=headers)
print(response.text)const form = new FormData();
form.append('data', '<string>');
form.append('name', '<string>');
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
options.body = form;
fetch('https://api.rask.ai/api/library/v1/media', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.rask.ai/api/library/v1/media",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"data\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\n<string>\r\n-----011000010111000001101001--",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: multipart/form-data"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.rask.ai/api/library/v1/media"
payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"data\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\n<string>\r\n-----011000010111000001101001--")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.rask.ai/api/library/v1/media")
.header("Authorization", "Bearer <token>")
.body("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"data\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\n<string>\r\n-----011000010111000001101001--")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rask.ai/api/library/v1/media")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request.body = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"data\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\n<string>\r\n-----011000010111000001101001--"
response = http.request(request)
puts response.read_body{
"kind": "video",
"status": "processing",
"mime_type": "<string>",
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"meta": {
"size_bytes": 123,
"duration_seconds": 123,
"audio_rate": 123,
"audio_layout": "mono",
"audio_channels": 123,
"audio_codec_name": "<string>",
"video_codec_name": "<string>",
"video_frame_rate": 123,
"video_frame_width": 123,
"video_frame_height": 123,
"original_meta": {}
},
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"path": "<string>",
"name": "<string>",
"url": "<string>",
"preview": {
"kind": "video",
"status": "processing",
"mime_type": "<string>",
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"meta": {
"size_bytes": 123,
"duration_seconds": 123,
"audio_rate": 123,
"audio_layout": "mono",
"audio_channels": 123,
"audio_codec_name": "<string>",
"video_codec_name": "<string>",
"video_frame_rate": 123,
"video_frame_width": 123,
"video_frame_height": 123,
"original_meta": {}
},
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"path": "<string>",
"name": "<string>",
"url": "<string>"
}
}{
"status": "media_mime_type_non_acceptable",
"status_code": 400,
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Kind of media uploaded
Available options:
video, audio, image Response
Create media upload
Kind of media uploaded
Available options:
video, audio, image Status of media uploaded
Available options:
processing, ready, failed Media mime type
Author ID
- VideoMeta
- AudioMeta
- ImageMeta
Show child attributes
Show child attributes
ID of media uploaded
Date and time of media creation
Date and time of the last media update
Path to the media
Name of media uploaded
Media url
Minimum string length:
1Show child attributes
Show child attributes