The EditingTools.io API can be used to generate, convert, and process data. This API provides access to a variety of different resources. The API is accessible via a REST interface. Unless otherwise noted, POST requests are recommended. Request parameters are used to pass information to the API, and results are returned in JSON. Request parameters must be encoded in UTF-8; results are also encoded in UTF-8. HTTP error codes are used to signal errors. Authentication is based on fixed keys, and data transport is secured by SSL.
You will need an EditingTools.io account to make any request to the API.
Login to generate your APIKEY.
All examples and demo requests are written as CURL requests. You can use https://curlconverter.com to convert the commands for other languages like: PHP, JavaScript, Python, Ruby, Rust, Ansible, C , C#, ColdFusion, Clojure, Dart, Elixir, Go, HAR, HTTP, HTTPie, Java, JSON, Kotlin, MATLAB, Node.js, Objective-C, OCaml, PowerShell, R, Swift and more.
Once you have an APIKEY, you're ready to start using our API.
curl -u "apikey:{YOUR_API_KEY}" -X {request_method} "{url}/{method}"
To validate your APIKEY and obtain a list of available tools, you can send a request to https://api.editingtools.io
.
curl -u "apikey:{YOUR_API_KEY}" "https://api.editingtools.io"
Response (Example):
{
"code": "200",
"status": "OK",
"data": {
"api_list": [
"watermark",
"thumbnail",
"..."
]
}
}
A simple request is free. Failed requests are also free. Only a successful conversion will cost money at some point.
When a conversion is successfully made, this is counted as one Premium API Request. The first 100
conversions (Premium API Requests) are free, after that 1 AI Credit
is deducted from the account for each additional 100
conversions. The API will respond with an error if there are no AI credits left in the account. To check the amount of ai credits and possible request, you can use the following command:
curl -u "apikey:{YOUR_API_KEY}" "https://api.editingtools.io/info"
Use the following command to get your own query statistics:
curl -u "apikey:{YOUR_API_KEY}" "https://api.editingtools.io/info"
Results are returned as JSON encoded in UTF-8. Datasets will be inside data
tag on default. Request parameters must be UTF-8 encoded.
This api service uses standard HTTP response codes to indicate whether a method completed successfully. HTTP response codes in the 2XX range indicate success. A response in the 4XX range is some sort of failure, and a response in the 5XX range indicates an internal system error that cannot be resolved by the user. The following error codes are used by the API:
200
: OK. The request was successful.400
: Bad request. Please check error message.401
: Unauthorized: Username or Api Key is not valid.403
: Forbidden: The request is understood, but it has been refused or access is not allowed.404
: Not found: The URI requested is invalid or the resource does not exist.429
: Too Many Requests. Returned when a request cannot be served due to the App's rate limit having been exhausted for the resource.500
: Internal Server Error. Something is broken.502
: Bad Gateway. API is down.503
: Service Unavailable. API is up but overloaded with requests.504
: Gateway Timeout: API is up but requests reached timout.To prevent abuse and spam, we have limits at different levels. If your application needs higher limits, let us know.
50
requests1000
requestsThere are individual file limits depending on the application.
The API is available in English only.
We can easily set up an API to all of our tools on demand.
Use the Watermark API to generate a watermark graphic.
If you want to generate a watermark of 1920 x 1080 pixel and the text "INTERNAL USE ONLY" use the following command. Set HEADER to Content-Type: application/json
and send your data in JSON format e.g. --data-raw '{"resolution":"1920x1080","text":"INTERNAL USE ONLY"}'
. Default values will be used for all unset attributes.
curl -u "apikey:{YOUR_API_KEY}" -X POST "https://api.editingtools.io/watermark" --header 'Content-Type: application/json' --data-raw '{"resolution":"1920x1080","text":"INTERNAL USE ONLY"}'
Response (Example):
{
"code": "200",
"status": "OK",
"data": {
"created": "2024-12-21 12:36:50",
"message": "Success",
"file_url": "https://editingtools.io/path/to/file/watermark_123.png",
"file_size": 15120,
"file_hash": "13ba0a9e943f32ac4782d98fba36249b"
}
}
You can download the generated file with wget
or curl
or embed it directly into your app from file_url
. The generated file will be online for 20 minutes maximum . After download you can validate the file with MD5 HASH file_hash
.
curl "https://editingtools.io/path/to/file/watermark_123.png" --output watermark.png
In case you want to save the output in the first request, you can add stream_output
attribute with value true
. Also define the output path e.g. --output watermark.png
. In case the process fails, output will be send as JSON. So make sure to handle status codes correctly.
curl -u "apikey:{YOUR_API_KEY}" -X POST "https://api.editingtools.io/watermark" --header 'Content-Type: application/json' --data-raw '{"stream_output":true,resolution":"1920x1080","text":"INTERNAL USE ONLY"}' --output watermark.png
This is the official API to our Music Cue Sheet. All details about the Cue Sheet Generator can be found here: Music Cue Sheet.
To generate a cue sheet from a sequence the following command can be used:
curl -u "apikey:{YOUR_API_KEY}" -X POST -F format=csv -F file=@/path/to/myfile.edl "https://api.editingtools.io/cuesheet"
Response (Example):
{
"code": "200",
"status": "OK",
"data": {
"created": "2024-12-21 12:36:50",
"message": "Success",
"file_name": "MusicCueSheet.csv",
"file_url": "https://editingtools.io/path/to/file/MusicCueSheet.csv",
"file_size": 631,
"file_hash": "149350685432f7d03ab148cef3dfe926"
}
}
You can download the generated file with wget
or curl
or embed it directly into your app from file_url
. The generated file will be online for 20 minutes maximum . After download you can validate the file with MD5 HASH file_hash
.
curl "https://editingtools.io/path/to/file/MusicCueSheet.csv" --output MusicCueSheet.csv
Instead of downloading the file you can recieve the file as base64 string. Add -F base64=1
to the request.
curl -u "apikey:{YOUR_API_KEY}" -X POST -F format=csv -F base64=1 -F file=@/path/to/myfile.edl "https://api.editingtools.io/cuesheet"
Response (Example):
{
"code": "200",
"status": "OK",
"data": {
"created": "2024-12-21 12:36:50",
"message": "Success",
"file_name": "MusicCueSheet.csv",
"file_base64": "Tm8sVGltZWNvZGUgSW4sVGltZWNvZGUgT3V0LFRpdGxlLER1cmF0aW9uLFRyYWNrLE5vdGUKMiwwMDowMDowMDowMCwwMDowMDozMjoyMSwiQUQwMDY2MDFfRnVlbF90aGVfZmlyZV9TT05PVE9OLm1wMyIsMDA6MzI6MjEsIkFBIiwKMywwMDowMDo0MDowMCwwMDowMTo1NDoxNywiU0NEVjA4OTYwNV9CSVNfSU5fRElFX0VXSUdLRUlUX0FfU09OT1RPTi5tcDMiLDAxOjE0OjE3LCJOT05FIiwKNCwwMDowMjo0MDoyMCwwMDowMzowNzowOCwiQUQwMDY2MDFfRnVlbF90aGVfZmlyZV9TT05PVE9OLm1wMyIsMDA6MjY6MTMsIk5PTkUiLAo1LDAwOjAzOjI3OjAyLDAwOjA0OjA2OjE0LCJTQ0RWMTA4MjA5X0RFRVBMWV9DT05URU5URURfQV9TT05PVE9OLm1wMyIsMDA6Mzk6MTIsIkFBIiwKNiwwMDowNDoyNDoxOSwwMDowNzoxNDoyNCwiU1BSRTAwNDkyMl9SRUFTT05TX1NPTk9UT04ubXAzIiwwMjo1MDowNSwiTk9ORSIsCjcsMDA6MDc6MzI6MTEsMDA6MTA6Mzk6MTksIkRvbWluaWMgRmlrZSAtIDMgTmlnaHRzIChPZmZpY2lhbCBWaWRlbykubXAzIiwwMzowNzowOCwiQUEiLAo4LDAwOjExOjA1OjIyLDAwOjEzOjEyOjI0LCJBRDAwNjYwMV9GdWVsX3RoZV9maXJlX1NPTk9UT04ubXAzIiwwMjowNzowMiwiTk9ORSIsCg==",
"file_size": 631,
}
}
Use -F format={format}
to define the output format. Possible values:
csv
(separated by comma)csv2
(separated by semicolon)pdf
txt
xls
xlsx
ods
Add -F library=1
to retrieve additional metadata for the music tracks. This option requires that your APIKEY is linked to a music library. This function is available for partners only.
Add -F preset=default
to change the preset of a CSV export.
Use -F preset=cisac_preset
to generate an Excel .xlsx file in CISAC Standard.
This is the official API for our Marker Converter. All details about the tool itself can be found here: Marker Converter.
To convert a (marker) file, use the following command. In this example, an xml
file with markers (in 25
fps) is converted to csv
.
All responses are formatted as json. Response (Example):
{
"code": "200",
"status": "OK",
"data": {
"created": "2024-12-21 12:36:50",
"message": "Success",
"file_name": "Marker.csv",
"file_url": "https://editingtools.io/path/to/file/Marker.csv",
"file_size": 631,
"file_hash": "149350685432f7d03ab148cef3dfe926"
}
}
If you are converting files, you need to add the framerate value (otherwise 25fps will be used for calculations). Add -F framerate=24
to change this value to 24 frames for example. Only non-drop framerates are supported. The following values are allowed: 8
, 10
, 12
, 15
, 16
, 20
, 23.976
, 24
, 25
, 29.97
, 30
, 48
, 50
, 59.94
, 60
, 75
You can download the generated file with wget
or curl
or embed it directly into your app from file_url
. The generated file is meant for direct download, it will usually be online for 5 to 20 minutes, depending on caching. After downloading, you can optionally validate the file with the MD5 HASH file_hash
.
Instead of downloading the file you can recieve the file as base64 string. Add -F base64=1
to the request.
Response (Example):
{
"code": "200",
"status": "OK",
"data": {
"created": "2024-12-21 12:36:50",
"message": "Success",
"file_name": "Marker.csv",
"file_base64": "Tm8sVGltZWNvZGUgSW4sVGltZWNvZGUgT3V0LFRpdGxlLER1cmF0aW9uLFRyYWNrLE5vdGUKMiwwMDowMDowMDowMCwwMDowMDozMjoyMSwiQUQwMDY2MDFfRnVlbF90aGVfZmlyZV9TT05PVE9OLm1wMyIsMDA6MzI6MjEsIkFBIiwKMywwMDowMDo0MDowMCwwMDowMTo1NDoxNywiU0NEVjA4OTYwNV9CSVNfSU5fRElFX0VXSUdLRUlUX0FfU09OT1RPTi5tcDMiLDAxOjE0OjE3LCJOT05FIiwKNCwwMDowMjo0MDoyMCwwMDowMzowNzowOCwiQUQwMDY2MDFfRnVlbF90aGVfZmlyZV9TT05PVE9OLm1wMyIsMDA6MjY6MTMsIk5PTkUiLAo1LDAwOjAzOjI3OjAyLDAwOjA0OjA2OjE0LCJTQ0RWMTA4MjA5X0RFRVBMWV9DT05URU5URURfQV9TT05PVE9OLm1wMyIsMDA6Mzk6MTIsIkFBIiwKNiwwMDowNDoyNDoxOSwwMDowNzoxNDoyNCwiU1BSRTAwNDkyMl9SRUFTT05TX1NPTk9UT04ubXAzIiwwMjo1MDowNSwiTk9ORSIsCjcsMDA6MDc6MzI6MTEsMDA6MTA6Mzk6MTksIkRvbWluaWMgRmlrZSAtIDMgTmlnaHRzIChPZmZpY2lhbCBWaWRlbykubXAzIiwwMzowNzowOCwiQUEiLAo4LDAwOjExOjA1OjIyLDAwOjEzOjEyOjI0LCJBRDAwNjYwMV9GdWVsX3RoZV9maXJlX1NPTk9UT04ubXAzIiwwMjowNzowMiwiTk9ORSIsCg==",
"file_size": 631,
}
}
Use -F source={source}
to specify the source format you want to convert. The supported formats are:
iOS Apps | |
com.editingtools.timecodenotes | Live Timecode Notes - Lite (.txt) [iOS APP Export] |
Adobe Premiere Pro | |
premierepro | Adobe Premiere Pro > Sequence (.xml) |
premierepromarkercsv | Adobe Premiere Pro > Markers > CSV Export (.csv) |
xml_generatoritem | Adobe Premiere Pro > Sequence with Text Fields (Essential Graphics) (.xml) |
premierepro_textpanel | Adobe Premiere Pro > Text Panel export (.txt) [Experimental] |
otio | Adobe Premiere Pro > OpenTimelineIO (.otio) |
Adobe Prelude Live Logger | |
preludelivelogger_txt | Adobe Prelude Live Logger > Marker (.txt) |
Adobe Audition | |
adobeaudition_csv | Adobe Audition > Marker (.csv) |
Apple Final Cut Pro X | |
fiojson | Apple Final Cut Pro X (10.4.0 and later) (.fiojson) |
xml | Apple Final Cut Pro 7 > Timeline & Clip Marker (.xml) |
xml_generatoritem | Apple Final Cut Pro 7 > Text Fields (.xml) |
Avid Media Composer | |
amc_marker_txt | Avid Media Composer > Marker Text (.txt) |
amc_marker_xml | Avid Media Composer > Marker XML (.xml) |
avid_ds_caption | Avid Media Composer > DS Caption File / SubCap (.txt) |
stl | Avid Media Composer > EBU N19 Caption File (.stl) |
Avid Pro Tools | |
protoolstxt | Avid Pro Tools > TXT Marker (.txt) |
midi | Avid Pro Tools > Midi Marker (.mid) |
protoolsedl | Avid Pro Tools > EDL - Track Listing with Clips (.txt) [Experimental] |
Blackmagic Design DaVinci Resolve | |
resolve | DaVinci Resolve > Timeline Markers EDL (.edl) |
csv | DaVinci Resolve > Edit Index (Clip Markers) (.csv) |
OpenTimelineIO | |
otio | OpenTimelineIO (.otio) |
NanoLockit by Ambient | |
nanolockit | NanoLockit Logs (.markers) |
EDL | |
edlclips | EDL - Convert clips from EDL into markers (.edl) |
edlloc | EDL - Convert EDL Locators into range markers (.edl) |
Frame.io | |
frameiocsv | Frame.io > Comments CSV (.csv) |
Vimeo | |
vimeocsv | Vimeo Review > Comments (.csv) |
X2X Pix Systems | |
pix | Pix Systems > Comments (.csv) |
NOTETRACKS Pro | |
adobeaudition_csv" >NoteTracks.com > Audition Markers (.csv) | |
Krock.io | |
krockiocsv | Krock.io > Comments (.csv) |
Wipster.io | |
csvunknown | Wipster.io > Comments (.csv) |
Subtitles | |
srt | SubRip Podtytuł (.srt) |
vtt | WebVTT / Web Video Text (.vtt) |
sbv | YouTube / SubViewer (.sbv) |
Google Sheets | |
csv | Google Sheets > CSV Export (.csv) |
Apple Numbers | |
csv2 | Apple Numbers > CSV Export (.csv) |
oTranscribe | |
otr | oTranscribe (.otr) |
CSV & TSV | |
csvunknown | CSV (.csv) |
csv | CSV [wartości rozdzielone przecinkami] (.csv) |
csv2 | CSV [wartości oddzielone średnikami] (.csv) |
tsv | TSV [tab-separated values] (.tsv) |
Textfield | |
textfield | Tekst (Copy&Paste) |
Use -F format={format}
to define the output format. Possible values:
pdf | PDF (.pdf) |
Adobe Premiere Pro | |
premierepro2 | Adobe Premiere Pro > Sequence with Markers (.xml) |
Apple Final Cut Pro X | |
fcpxml_titles | Apple Final Cut Pro X -> Subtitles as Titles (.fcpxml) [Experimental] |
Avid Media Composer | |
amc_marker_txt16 | Avid Media Composer > Marker Text (.txt) [16 Colors, Avid 2024.6+] |
amc_marker_txt | Avid Media Composer > Marker Text (.txt) [8 Colors] |
amc_marker_xml16 | Avid Media Composer > Marker XML (.xml) [16 Colors, Avid 2024.6+] |
amc_marker_xml | Avid Media Composer > Marker XML (.xml) [8 Colors] |
avid_ds_caption | Avid Media Composer > DS Caption File / Subcap (.txt) |
Avid Pro Tools | |
ptx | Avid Pro Tools > PTX File (.ptx) [Premium] |
ptx-trial | Avid Pro Tools > PTX File (.ptx) [Trial & Test] |
midi | Avid Pro Tools > Midi Marker (.mid) |
edlprotools | Avid Pro Tools > EDL (.edl) |
Blackmagic Design DaVinci Resolve | |
resolve | DaVinci Resolve > Markers (.edl) |
YouTube | |
yt_txt | YouTube Chapter Markers (for description) (.txt) |
Microsoft Excel | |
xlsx | Excel Spreadsheet XML (.xlsx) |
xls | Excel Spreadsheet (.xls) |
Google Sheets | |
csv | Google Sheets (.csv) |
Apple Numbers | |
csv2 | Apple Numbers (.csv) |
OpenOffice | |
ods | OpenDocument Spreadsheet (.ods) |
CSV & JSON | |
csv | CSV [wartości rozdzielone przecinkami] (.csv) |
csv2 | CSV [wartości oddzielone średnikami] (.csv) |
tsv | TSV [tab-separated values] (.tsv) |
json | JSON (.json) |
Text | |
txt | Plain Text File (.txt) |
FFMPEG - Generate marker stills from video | |
ffmpeg_sh | ffmpeg Shell Script: - Generate marker stills from video (.sh) |
ffmpeg_sh2 | ffmpeg Shell Script: - Generate video previews from duration markers (.sh) |
Subtitle Formats | |
srt | SRT - SubRip (.srt) |
vtt | VTT - Web Video Text (.vtt) |
sbv | SBV - SubViewer (YouTube) (.sbv) |
EDL | |
edl | EDL Sequence (Marker as Clips) (.edl) [Experimental] |
Add -F form_option6=1
to include clip markers (only for source=xml
).
Add -F form_option15=1
to activate this option.
There are more options to choose, please contact our free support for more details how to use them.
Use the following commands to check the status of bulk processes started with your account or with your API keys. You can only check the status of processes started with your own account.
To list all recent processes on your account, you can use the following command:
curl -u "apikey:{YOUR_API_KEY}" "https://api.editingtools.io/process"
This prints a list of the most recent processes and statuses.
Response (Example):
{
"code": "200",
"status": "OK",
"data": {
"processes": [
{
"id": "CXXXXXX1",
"status": 2,
"message": "Finished"
},
{
"id": "CXXXXXX2",
"status": 0,
"message": "Failed"
}
]
}
}
There are 3 states that a process can have:
If you want to check the status of a specific process and get all the details like the download path, add the process_id to the request:
curl -u "apikey:{YOUR_API_KEY}" -X POST -F process_id={process_id} "https://api.editingtools.io/process"
Response (Example):
{
"code": "200",
"status": "OK",
"data": {
"created": "2024-12-21 12:36:50",
"status": 2,
"message": "Finished",
"file_name": "files.zip",
"file_url": "https://editingtools.io/path/to/file/files.zip",
}
}
You can download the generated file with wget
or curl
or embed it directly into your app from file_url
. The generated file will be online for a limited time.
Please contact our support and we will be happy to provide you with all the necessary details about this API.
This is the official API to our ALE Converter.
To convert an ale or csv file use the following command:
curl -u "apikey:{YOUR_API_KEY}" -X POST -F format=ale -F file=@/path/to/myfile.ale "https://api.editingtools.io/ale"
Response (Example):
{
"code": "200",
"status": "OK",
"data": {
"created": "2024-12-21 12:36:50",
"message": "Success",
"file_name": "myfile_fixed.ale",
"file_url": "https://editingtools.io/path/to/file/myfile_fixed.ale",
"file_size": 31711,
"file_hash": "546f83d7fc10ee3463f41a418d5ba6d4"
}
}
You can download the generated file with wget
or curl
or embed it directly into your app from file_url
. The generated file will be online for 20 minutes maximum . After download you can validate the file with MD5 HASH file_hash
.
curl "https://editingtools.io/path/to/file/myfile_fixed.ale" --output myfile_fixed.ale
Instead of downloading the file you can recieve the file as base64 string. Add -F base64=1
to the request.
curl -u "apikey:{YOUR_API_KEY}" -X POST -F format=csv -F base64=1 -F file=@/path/to/myfile_fixed.ale "https://api.editingtools.io/ale"
Response (Example):
{
"code": "200",
"status": "OK",
"data": {
"created": "2024-12-21 12:36:50",
"message": "Success",
"file_name": "myfile_fixed.ale",
"file_base64": "SGVhZGluZwpGSUVMRF9ERUxJTQlUQUJTClZJREVPX0ZPUk1BVAkxMDgwcApBVURJT19GT1JNQVQJNDhrSHoKRlBTCTI1CgpDb2x1bW4KTmFtZQlGaWxlcGF0aAlUYXBlCVN0YXJ0CUVuZAlEdXJhdGlvbglEYWlseSBSb2xsCUxhYnJvbGwJQ2Ftcm9sbAlUQyAyNAlUcmFja3MJU291bmRyb2xsCVNvdW5kIFRDCVNjZW5lCVRha2UJREVTQ1JJUFQJQ29tbWVudHMJTm90ZXMJQ2lyY2xlZAlBU0NfU09QCUFTQ19TQVQJTHV0CUx1dDEJTHV0MglJbWFnZUZpbGVOYW1lCUF1ZGlvRmlsZU5hbWUKCkRhdGEKMDEtMDEtVDAxLndhdgkvVm9sdW1lcy9OQkMvREFZMDA1LzAxLTAxLVQwMS53YXYJREFZMDA1CTExOjIzOjQxOjAwMDAxCTExOjI2OjE2OjAwMDAxCTAwOjAyOjM1OjAwMDAwCQkJCVRFTVAgVEMyNAlWQTEJCTAwOjAwOjAwOjAwMDAwCTAxLTAxLQkJCQkJTgkJCQkJCQkKMDEtMDEtVDAyLndhdgkvVm9sdW1lcy9OQkMvREFZMDA1LzAxLTAxLVQwMi53YXYJREFZMDA1CTExOjMxOjAzOjAwMDAxCTExOjMzOjM5OjAwMDAxCTAwOjAyOjM2OjAwMDAwCQkJCVRFTVAgVEMyNAlWQTEJCTAwOjAwOjAwOjAwMDAwCTAxLTAxLQkJCQkJTgkJCQkJCQkKMDEtMDEtVD...",
"file_size": 631,
}
}
Use -F format={format}
to define the output format. Possible values:
ale
csv
(separated by comma)csv2
(separated by semicolon)html
xls
xlsx
ods
Add -F ale_option1=1
to activate this option.
Add -F ale_option2=1
to activate this option.
Add -F ale_option3=1
to activate this option.
Add -F ale_option5=1
to activate this option.
This is the official API to our EDL Converter.
To convert an edl, xml (only Premiere Pro XML) or csv file use the following command:
curl -u "apikey:{YOUR_API_KEY}" -X POST -F format=edl -F file=@/path/to/myfile.edl "https://api.editingtools.io/edl"
Response (Example):
{
"code": "200",
"status": "OK",
"data": {
"created": "2024-12-21 12:36:50",
"message": "Success",
"file_name": "myfile.edl",
"file_url": "https://editingtools.io/path/to/file/myfile.edl",
"file_size": 31711,
"file_hash": "546f83d7fc10ee3463f41a418d5ba6d4"
}
}
If you convert csv files you will need to add the framerate value (otherwise 25fps will be used for calculations). Add -F framerate=24
to change this value to 24 frames for example.
You can download the generated file with wget
or curl
or embed it directly into your app from file_url
. The generated file will be online for 20 minutes maximum . After download you can validate the file with MD5 HASH file_hash
.
curl "https://editingtools.io/path/to/file/myfile_fixed.edl" --output myfile.edl
Instead of downloading the file you can recieve the file as base64 string. Add -F base64=1
to the request.
curl -u "apikey:{YOUR_API_KEY}" -X POST -F format=csv -F base64=1 -F file=@/path/to/myfile.edl "https://api.editingtools.io/edl"
Response (Example):
{
"code": "200",
"status": "OK",
"data": {
"created": "2024-12-21 12:36:50",
"message": "Success",
"file_name": "myfile.edl",
"file_base64": "SGVhZGluZwpGSUVMRF9ERUxJTQlUQUJTClZJREVPX0ZPUk1BVAkxMDgwcApBVURJT19GT1JNQVQJNDhrSHoKRlBTCTI1CgpDb2x1bW4KTmFtZQlGaWxlcGF0aAlUYXBlCVN0YXJ0CUVuZedldXJhdGlvbglEYWlseSBSb2xsCUxhYnJvbGwJQ2Ftcm9sbAlUQyAyNAlUcmFja3MJU291bmRyb2xsCVNvdW5kIFRDCVNjZW5lCVRha2UJREVTQ1JJUFQJQ29tbWVudHMJTm90ZXMJQ2lyY2xlZAlBU0NfU09QCUFTQ19TQVQJTHV0CUx1dDEJTHV0MglJbWFnZUZpbGVOYW1lCUF1ZGlvRmlsZU5hbWUKCkRhdGEKMDEtMDEtVDAxLndhdgkvVm9sdW1lcy9OQkMvREFZMDA1LzAxLTAxLVQwMS53YXYJREFZMDA1CTExOjIzOjQxOjAwMDAxCTExOjI2OjE2OjAwMDAxCTAwOjAyOjM1OjAwMDAwCQkJCVRFTVAgVEMyNAlWQTEJCTAwOjAwOjAwOjAwMDAwCTAxLTAxLQkJCQkJTgkJCQkJCQkKMDEtMDEtVDAyLndhdgkvVm9sdW1lcy9OQkMvREFZMDA1LzAxLTAxLVQwMi53YXYJREFZMDA1CTExOjMxOjAzOjAwMDAxCTExOjMzOjM5OjAwMDAxCTAwOjAyOjM2OjAwMDAwCQkJCVRFTVAgVEMyNAlWQTEJCTAwOjAwOjAwOjAwMDAwCTAxLTAxLQkJCQkJTgkJCQkJCQkKMDEtMDEtVD...",
"file_size": 631,
}
}
Use -F format={format}
to define the output format. Possible values:
edl
csv
(separated by comma)csv2
(separated by semicolon)pdf
xls
xlsx
ods
Add -F edl_ignoreaudio=1
to activate this option.
Add -F edl_orderclipsbyname=1
to activate this option.
Add -F edl_reverse=1
to activate this option.
Add -F edl_mergesamesource=1
to activate this option.
Add -F edl_uselocname=1
to activate this option.
Add -F edl_uselongreelnames=1
to activate this option.
Add -F edl_usenameastape=1
to activate this option. Also add -F edl_usenameastape_setting=all
if you want to use it always (for all clips) or -F edl_usenameastape_setting=ax
if it should only be used if tape name is AX.
Add -F edl_ignoreavidtmp=1
to activate this option.
Add -F edl_framerangeclipname=1
to activate this option.
Add -F edl_newtcin=1
to activate this option. Also add -F edl_newtcstart=00:00:00:00
to define the start timecode.
More options are possible. Please contact our free support for more details.
This is the official API to our Subtitle Tool & Converter.
To convert subtitle files use the following command:
curl -u "apikey:{YOUR_API_KEY}" -X POST -F source=srt -F format=csv -F file=@/path/to/mysubtitle.srt "https://api.editingtools.io/subtitles"
The following form data must be passed for an operation to be successfully executed:
source
= the source format of your fileformat
= the target formatfile
= path to your subtitle fileResponse (Example: Convert .srt to .csv):
{
"code": "200",
"status": "OK",
"data": {
"created": "2024-12-21 12:36:50",
"message": "Success",
"file_name": "mysubtitle.csv",
"file_url": "https://editingtools.io/path/to/file/mysubtitle.csv",
"file_size": 1504,
"file_hash": "3e85da48d39823444424aba2f41a57db"
}
}
The following form data is recommended for correct calculations:
framerate
= the framerate of the original subtitle fileYou can download the generated file with wget
or curl
or embed it directly into your app from file_url
. The generated file will be online for 20 minutes maximum . After download you can validate the file with MD5 HASH file_hash
.
curl "https://editingtools.io/path/to/file/mysubtitle.csv" --output mysubtitle.csv
Instead of downloading the file you can recieve the file as base64 string. Add -F base64=1
to the request.
curl -u "apikey:{YOUR_API_KEY}" -X POST -F source=srt -F format=csv -F base64=1 -F file=@/path/to/mysubtitle.srt "https://api.editingtools.io/subtitles"
Response (Example):
{
"code": "200",
"status": "OK",
"data": {
"created": "2024-12-21 12:36:50",
"message": "Success",
"file_name": "mysubtitle.csv",
"file_base64": "Tm8sVGltZWNvZGUgSW4sVGltZWNvZGUgT3V0LFRpbWVjb2RlIEluIChtaWxsaXNlY29uZHMpLFRpbWVjb2RlIE91dCAobWlsbGlzZWNvbmRzKSxTdWJ0aXRsZQoxLCIwMDowMDoxMzowNyIsIjAwOjAwOjE3OjIzIiwiMDA6MDA6MTMsM...",
"file_size": 1504,
"file_hash": "3e85da48d39823444424aba2f41a57db"
}
}
Use -F source={source}
to define the source format. Possible values:
ass | ASS - Advanced SubStation (.ass) |
avid_ds_caption | Avid SubCap - Avid Caption (.txt) |
dfxp | DFXP - Distribution Format Exchange Profile (.dfxp) |
stl | STL - EBU Subtitle Data Exchange format (.stl) |
sub | SUB - SubViewer (.sub) |
ttml | TTML - Timed Text Markup Language (.ttml) |
srt | SRT - SubRip (.srt) |
itt | iTT - iTunes Timed Text (.itt) |
vtt | VTT - Web Video Text (.vtt) |
webvtt | WebVTT - Web Video Text (.webvtt) |
sbv | SBV - SubViewer (YouTube) (.sbv) |
txt | Subtext Subtitles (.txt) |
jsonshire | Subtitle Horse Subtitles (.json) |
csv | CSV [wartości rozdzielone przecinkami] (.csv) |
csv2 | CSV [wartości oddzielone średnikami] (.csv) |
tsv | TSV [tab-separated values] (.tsv) |
text | Textfile (.txt) |
avid_ds_caption | Avid Media Composer > SubCap - Avid Caption (.txt) |
amc_marker_txt | Avid Media Composer > Marker Text (.txt) |
amc_marker_xml | Avid Media Composer > Marker XML (.xml) |
stl | Avid Media Composer > Avid STL (.stl) |
avidtxt | Avid Media Composer > Marker Text (.txt) |
avid | Avid Media Composer > Marker XML (.xml) |
midi | Avid Pro Tools Midi > Export Marker (.mid) |
srt | Adobe Premiere Pro > Subtitles SRT Export (.srt) |
csv | Adobe Premiere Pro > Transcript Captions > CSV Export (.csv) |
premierepro | Adobe Premiere Pro > Sequence (only Markers) (.xml) |
premierepromarkercsv | Adobe Premiere Pro > Markers Export (.csv) |
resolve | DaVinci Resolve (only Markers) (.edl) |
fiojson | Apple Final Cut Pro X (10.4.0 and later) (.fiojson) |
xml | Apple Final Cut Pro (.xml) |
frameiocsv | Frame.io > Comment CSV Export (.csv) |
Use -F format={format}
to define the output format. Possible values:
ass | ASS - Advanced SubStation (.ass) |
xml_autodesk | AutoDesk Subtitle (.xml) |
dfxp | DFXP - Distribution Format Exchange Profile (.dfxp) |
sub | SUB - SubViewer (.sub) |
ttml | TTML - Timed Text Markup Language (.ttml) |
srt | SRT - SubRip (.srt) |
itt | iTT - iTunes Timed Text (.itt) |
vtt | VTT - Web Video Text (.vtt) |
pdf | PDF (.pdf) |
txt | Simple Text File (.txt) |
script_txt | Transcript (.txt) |
xlsx | Microsoft Excel Spreadsheet XML (.xlsx) |
xls | Microsoft Excel Spreadsheet (.xls) |
csv |
CSV [wartości rozdzielone przecinkami] (.csv)
Google Sheets (.csv) |
csv2 |
CSV [wartości oddzielone średnikami] (.csv)
Apple Numbers (.csv) |
tsv | TSV [tab-separated values] (.tsv) |
ptx | ProTools PTX (.ptx) |
ptx-trial | ProTools PTX [Trial] (.ptx) |
ods | OpenDocument Spreadsheet (.ods) |
json | EDITINGTOOLS.IO JSON (.json) |
avid_subcap | Avid Media Composer SubCap (.txt) |
premiere | Subtitles to Markers Adobe Premiere Pro Sequence with Markers (.xml) |
resolve | Subtitles to Markers Blackmagic DaVinci Resolve (.edl) |
avid_ds_caption | Avid Media Composer > DS Caption File / Subcap (.txt) |
amc_marker_txt | Avid Media Composer > Marker Text (.txt) |
amc_marker_xml | Avid Media Composer > Marker XML (.xml) |
Add -F srt_option50=1
to activate this option.
Add -F srt_option19=1
to activate this option.
Add -F srt_option18=1
to activate this option.
Add -F srt_option33=1
to activate this option.
Add -F srt_option1=1
to activate this option.
There are more options to choose, please contact our free support for more details how to use them.