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 through a REST interface. Unless noted otherwise, POST requests are recommended. Request parameters are used to pass information to the API, results are returned in JSON. Request parameters must be UTF-8 encoded; results are also encoded in UTF-8. HTTP errors codes are used to signal errors. Authentication is based on fixed keys, and data transport is secured by SSL.
To make any request to the API, you will need an EditingTools.io account.
Login to generate your APIKEY.
Once you have an APIKEY you’re ready to get started using our API.
curl -u "apikey:{YOUR_API_KEY}" -X {request_method} "{url}/{method}"
To validate your APIKEY and to recieve 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",
"..."
]
}
}
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 on different levels. There is a rate request limit per seconds, per day and per month. We can adjust limits according to your needs.
File uploads are limited to 100MB.
The API is only available in english language.
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": "2023-03-25 15:10:39",
"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 [email protected]/path/to/myfile.edl "https://api.editingtools.io/cuesheet"
Response (Example):
{
"code": "200",
"status": "OK",
"data": {
"created": "2023-03-25 15:10:39",
"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 [email protected]/path/to/myfile.edl "https://api.editingtools.io/cuesheet"
Response (Example):
{
"code": "200",
"status": "OK",
"data": {
"created": "2023-03-25 15:10:39",
"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
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.
This is the official API to our Marker Converter. All details about this tool can be found here: Marker Converter.
You need to be unlocked to use this API.
To convert a marker file the following command can be used:
curl -u "apikey:{YOUR_API_KEY}" -X POST -F format=csv -F [email protected]/path/to/myfile.edl "https://api.editingtools.io/marker"
Response (Example):
{
"code": "200",
"status": "OK",
"data": {
"created": "2023-03-25 15:10:39",
"message": "Success",
"file_name": "Marker.csv",
"file_url": "https://editingtools.io/path/to/file/Marker.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/Marker.csv" --output Marker.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 [email protected]/path/to/myfile.edl "https://api.editingtools.io/marker"
Response (Example):
{
"code": "200",
"status": "OK",
"data": {
"created": "2023-03-25 15:10:39",
"message": "Success",
"file_name": "Marker.csv",
"file_base64": "Tm8sVGltZWNvZGUgSW4sVGltZWNvZGUgT3V0LFRpdGxlLER1cmF0aW9uLFRyYWNrLE5vdGUKMiwwMDowMDowMDowMCwwMDowMDozMjoyMSwiQUQwMDY2MDFfRnVlbF90aGVfZmlyZV9TT05PVE9OLm1wMyIsMDA6MzI6MjEsIkFBIiwKMywwMDowMDo0MDowMCwwMDowMTo1NDoxNywiU0NEVjA4OTYwNV9CSVNfSU5fRElFX0VXSUdLRUlUX0FfU09OT1RPTi5tcDMiLDAxOjE0OjE3LCJOT05FIiwKNCwwMDowMjo0MDoyMCwwMDowMzowNzowOCwiQUQwMDY2MDFfRnVlbF90aGVfZmlyZV9TT05PVE9OLm1wMyIsMDA6MjY6MTMsIk5PTkUiLAo1LDAwOjAzOjI3OjAyLDAwOjA0OjA2OjE0LCJTQ0RWMTA4MjA5X0RFRVBMWV9DT05URU5URURfQV9TT05PVE9OLm1wMyIsMDA6Mzk6MTIsIkFBIiwKNiwwMDowNDoyNDoxOSwwMDowNzoxNDoyNCwiU1BSRTAwNDkyMl9SRUFTT05TX1NPTk9UT04ubXAzIiwwMjo1MDowNSwiTk9ORSIsCjcsMDA6MDc6MzI6MTEsMDA6MTA6Mzk6MTksIkRvbWluaWMgRmlrZSAtIDMgTmlnaHRzIChPZmZpY2lhbCBWaWRlbykubXAzIiwwMzowNzowOCwiQUEiLAo4LDAwOjExOjA1OjIyLDAwOjEzOjEyOjI0LCJBRDAwNjYwMV9GdWVsX3RoZV9maXJlX1NPTk9UT04ubXAzIiwwMjowNzowMiwiTk9ORSIsCg==",
"file_size": 631,
}
}
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 [email protected]/path/to/myfile.ale "https://api.editingtools.io/ale"
Response (Example):
{
"code": "200",
"status": "OK",
"data": {
"created": "2023-03-25 15:10:39",
"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 [email protected]/path/to/myfile_fixed.ale "https://api.editingtools.io/ale"
Response (Example):
{
"code": "200",
"status": "OK",
"data": {
"created": "2023-03-25 15:10:39",
"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 [email protected]/path/to/myfile.edl "https://api.editingtools.io/edl"
Response (Example):
{
"code": "200",
"status": "OK",
"data": {
"created": "2023-03-25 15:10:39",
"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 [email protected]/path/to/myfile.edl "https://api.editingtools.io/edl"
Response (Example):
{
"code": "200",
"status": "OK",
"data": {
"created": "2023-03-25 15:10:39",
"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 [email protected]/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": "2023-03-25 15:10:39",
"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 [email protected]/path/to/mysubtitle.srt "https://api.editingtools.io/subtitles"
Response (Example):
{
"code": "200",
"status": "OK",
"data": {
"created": "2023-03-25 15:10:39",
"message": "Success",
"file_name": "mysubtitle.csv",
"file_base64": "Tm8sVGltZWNvZGUgSW4sVGltZWNvZGUgT3V0LFRpbWVjb2RlIEluIChtaWxsaXNlY29uZHMpLFRpbWVjb2RlIE91dCAobWlsbGlzZWNvbmRzKSxTdWJ0aXRsZQoxLCIwMDowMDoxMzowNyIsIjAwOjAwOjE3OjIzIiwiMDA6MDA6MTMsM...",
"file_size": 1504,
"file_hash": "3e85da48d39823444424aba2f41a57db"
}
}
Use -F source={source}
to define the output format. Possible values:
ass | ASS - Advanced SubStation (.ass) |
txt_avid | 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 [Kommagetrennte Werte] (.csv) |
csv2 | CSV [Semikolongetrennte Werte] (.csv) |
tsv | TSV [tab-separated values] (.tsv) |
text | Textfile (.txt) |
txt_avid | Avid Media Composer > Caption Plugin (.txt) |
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 [Kommagetrennte Werte] (.csv)
Google Sheets (.csv) |
csv2 |
CSV [Semikolongetrennte Werte] (.csv)
Apple Numbers (.csv) |
tsv | TSV [tab-separated values] (.tsv) |
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 | Subtitles to Markers Avid Media Composer (.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.
Platform
Produkte
Rechtliches