### GET /balance Source: https://apidocs.picsart.io/picsart-video-tools-api.yaml Check your balance of credits. ```markdown ### Responses #### 200 - response - **credits** (integer) #### 400 - response **Error** - **message** (string) - **detail** (string) (required) #### 401 - response **401_Error** - **code** (integer) (example: 401) - **message** (string) (example: "Unauthorized") - **detail** (string) (required) #### 402 - response **Error** - **message** (string) - **detail** (string) (required) #### 403 - response **Error** - **message** (string) - **detail** (string) (required) #### 404 - response **Error** - **message** (string) - **detail** (string) (required) #### 405 - response **Error** - **message** (string) - **detail** (string) (required) #### 413 - response **Error** - **message** (string) - **detail** (string) (required) #### 415 - response **Error** - **message** (string) - **detail** (string) (required) #### 422 - response **Error** - **message** (string) - **detail** (string) (required) #### 429 - response **Error** - **message** (string) - **detail** (string) (required) #### 431 - response **Error** - **message** (string) - **detail** (string) (required) #### 500 - response **Error** - **message** (string) - **detail** (string) (required) #### 503 - response **Error** - **message** (string) - **detail** (string) (required) ### Example Usage ```bash curl -X GET "https://video-api.picsart.io/v1/balance" ``` ``` -------------------------------- ### API Overview: Picsart Programmable Video APIs Source: https://apidocs.picsart.io/picsart-video-tools-api.yaml [Official technical documentation portal](https://docs.picsart.io/) [Developer Guidelines](https://picsart.io/terms) ```yaml # Picsart Programmable Video APIs # Version: 1.0 [Official technical documentation portal](https://docs.picsart.io/) [Developer Guidelines](https://picsart.io/terms) # Base URL: https://video-api.picsart.io/v1 ``` -------------------------------- ### GET /audio/{transaction_id} Source: https://apidocs.picsart.io/picsart-video-tools-api.yaml Use the video editing transaction ID to get the result audio file URL. ```markdown ### Parameters - **transaction_id** (string, path, required): The ID returned from the POST method when it's done asynchronously. ### Responses #### 200 - response - **data** (object) - **id** (string) - **url** (string (uri)) - **status** (string (success|error|processing|queued)) ("success"|"error"|"processing"|"queued") #### 202 - response - **transaction_id** (string) - **status** (string (success|error|processing|queued)) ("success"|"error"|"processing"|"queued") #### 400 - response **Error** - **message** (string) - **detail** (string) (required) #### 401 - response **401_Error** - **code** (integer) (example: 401) - **message** (string) (example: "Unauthorized") - **detail** (string) (required) #### 403 - response **Error** - **message** (string) - **detail** (string) (required) #### 404 - response **Error** - **message** (string) - **detail** (string) (required) #### 405 - response **Error** - **message** (string) - **detail** (string) (required) #### 413 - response **Error** - **message** (string) - **detail** (string) (required) #### 415 - response **Error** - **message** (string) - **detail** (string) (required) #### 429 - response **Error** - **message** (string) - **detail** (string) (required) #### 431 - response **Error** - **message** (string) - **detail** (string) (required) #### 500 - response **Error** - **message** (string) - **detail** (string) (required) #### 503 - response **Error** - **message** (string) - **detail** (string) (required) ### Example Usage ```bash curl -X GET "https://video-api.picsart.io/v1/audio/{transaction_id}" ``` ``` -------------------------------- ### GET /video/{transaction_id} Source: https://apidocs.picsart.io/picsart-video-tools-api.yaml Use the video editing transaction ID to get the result video URL. This method works for effects, adjust, trim, crop, resize, fit, concatenation, highlights services. ```markdown ### Parameters - **transaction_id** (string, path, required): The ID returned from the POST method when it's done asynchronously. ### Responses #### 200 - response - **data** (object) - **id** (string) - **url** (string (uri)) - **status** (string (success|error|processing|queued)) ("success"|"error"|"processing"|"queued") #### 202 - response - **transaction_id** (string) - **status** (string (success|error|processing|queued)) ("success"|"error"|"processing"|"queued") #### 400 - response **Error** - **message** (string) - **detail** (string) (required) #### 401 - response **401_Error** - **code** (integer) (example: 401) - **message** (string) (example: "Unauthorized") - **detail** (string) (required) #### 403 - response **Error** - **message** (string) - **detail** (string) (required) #### 404 - response **Error** - **message** (string) - **detail** (string) (required) #### 405 - response **Error** - **message** (string) - **detail** (string) (required) #### 413 - response **Error** - **message** (string) - **detail** (string) (required) #### 415 - response **Error** - **message** (string) - **detail** (string) (required) #### 429 - response **Error** - **message** (string) - **detail** (string) (required) #### 431 - response **Error** - **message** (string) - **detail** (string) (required) #### 500 - response **Error** - **message** (string) - **detail** (string) (required) #### 503 - response **Error** - **message** (string) - **detail** (string) (required) ### Example Usage ```bash curl -X GET "https://video-api.picsart.io/v1/video/{transaction_id}" ``` ``` -------------------------------- ### POST /adjust Source: https://apidocs.picsart.io/picsart-video-tools-api.yaml Adjusts the input video file with 14 different options. **Options:** * Adjust audio and/or volume * Adjust video volume * Adjust brightness and/or contrast * Adjust clarity and/or saturation * Adjust speed and/or reverse the video * Adjust hue and/or shadows * Adjust highlights and/or temperature * Adjust noise or sharpen the video * Adjust vignette If you choose an adjustment setting value out of the allowed range, the default value of 0 is used instead. ```markdown ### Request Body **Content-Type:** application/json - **video_url** (string (uri)): Source video URL. - **audio_url** (string): The sound file url. - **audio_volume** (integer): The volume of the audio. - **video_volume** (integer): The volume of the video. - **brightness** (integer): Enter an integer value from -100 to 100. - **contrast** (integer): Enter an integer value from -100 to 100. - **clarity** (integer): Enter an integer value from -100 to 100. - **saturation** (integer): Enter an integer value from -100 to 100. - **hue** (integer): Enter an integer value from -100 to 100. - **shadows** (integer): Enter an integer value from -100 to 100. - **highlights** (integer): Enter an integer value from -100 to 100. - **temperature** (integer): Enter an integer value from -100 to 100. - **sharpen** (integer): Enter an integer value from 0 to 100. - **noise** (integer): Enter an integer value from 0 to 100. - **vignette** (integer): Enter an integer value from 0 to 100. - **export** (object) - **format** (string (MOV|MP4|WEBM|GIF)): Optionally select one of the output video formats (MP4 is chosen if left blank). Container options are as follows * MOV * MP4 * WEBM * GIF ("MOV"|"MP4"|"WEBM"|"GIF") - **frame_rate** (integer): The output video frame rate. - **bitrate** (integer): The output video bitrate in kb/s. Leave empty to set automatically and optimize accordingly. ### Responses #### 202 - response - **transaction_id** (string) - **status** (string (success|error|processing|queued)) ("success"|"error"|"processing"|"queued") #### 400 - response **Error** - **message** (string) - **detail** (string) (required) #### 401 - response **401_Error** - **code** (integer) (example: 401) - **message** (string) (example: "Unauthorized") - **detail** (string) (required) #### 402 - response **Error** - **message** (string) - **detail** (string) (required) #### 403 - response **Error** - **message** (string) - **detail** (string) (required) #### 404 - response **Error** - **message** (string) - **detail** (string) (required) #### 405 - response **Error** - **message** (string) - **detail** (string) (required) #### 413 - response **Error** - **message** (string) - **detail** (string) (required) #### 415 - response **Error** - **message** (string) - **detail** (string) (required) #### 429 - response **Error** - **message** (string) - **detail** (string) (required) #### 431 - response **Error** - **message** (string) - **detail** (string) (required) #### 500 - response **Error** - **message** (string) - **detail** (string) (required) #### 503 - response **Error** - **message** (string) - **detail** (string) (required) ### Example Usage ```bash curl -X POST "https://video-api.picsart.io/v1/adjust" \ -H "Content-Type: application/json" \ -d '{ "video_url": "string", "audio_url": "string", "audio_volume": "100", "video_volume": "100", "brightness": "0", "contrast": "0", "clarity": "0", "saturation": "0", "hue": "0", "shadows": "0", "highlights": "0", "temperature": "0", "sharpen": "0", "noise": "0", "vignette": "0", "export": { "format": "MP4", "frame_rate": "30", "bitrate": "0" } }' ``` ``` -------------------------------- ### GET /upscale/fps/{transaction_id} Source: https://apidocs.picsart.io/picsart-video-tools-api.yaml Use this method, along with transaction_id, to retrieve the upscaled video. ```markdown ### Parameters - **transaction_id** (string, path, required): The ID returned from the POST method when it's done asynchronously. ### Responses #### 200 - response - **data** (object) - **id** (string) - **url** (string (uri)) - **status** (string (success|error|processing|queued)) ("success"|"error"|"processing"|"queued") #### 202 - response - **transaction_id** (string) - **status** (string (success|error|processing|queued)) ("success"|"error"|"processing"|"queued") #### 400 - response **Error** - **message** (string) - **detail** (string) (required) #### 401 - response **401_Error** - **code** (integer) (example: 401) - **message** (string) (example: "Unauthorized") - **detail** (string) (required) #### 402 - response **Error** - **message** (string) - **detail** (string) (required) #### 403 - response **Error** - **message** (string) - **detail** (string) (required) #### 404 - response **Error** - **message** (string) - **detail** (string) (required) #### 405 - response **Error** - **message** (string) - **detail** (string) (required) #### 413 - response **Error** - **message** (string) - **detail** (string) (required) #### 415 - response **Error** - **message** (string) - **detail** (string) (required) #### 429 - response **Error** - **message** (string) - **detail** (string) (required) #### 431 - response **Error** - **message** (string) - **detail** (string) (required) #### 500 - response **Error** - **message** (string) - **detail** (string) (required) #### 503 - response **Error** - **message** (string) - **detail** (string) (required) ### Example Usage ```bash curl -X GET "https://video-api.picsart.io/v1/upscale/fps/{transaction_id}" ``` ``` -------------------------------- ### Schema: Transition Source: https://apidocs.picsart.io/picsart-video-tools-api.yaml Schema definition for Transition ```markdown ## Schema: Transition Schema definition for Transition **Type:** object - **transition** (string (none|fade|zoom_in|zoom_out|spin|fly_in_from_left|fly_in_from_right|fly_in_from_top|fly_in_from_bottom|fly_out_to_left|fly_out_to_right|fly_out_to_bottom|fly_out_to_top)) ("none"|"fade"|"zoom_in"|"zoom_out"|"spin"|"fly_in_from_left"|"fly_in_from_right"|"fly_in_from_top"|"fly_in_from_bottom"|"fly_out_to_left"|"fly_out_to_right"|"fly_out_to_bottom"|"fly_out_to_top") ``` -------------------------------- ### GET /audio/transcribe/{transaction_id} Source: https://apidocs.picsart.io/picsart-video-tools-api.yaml Use this method, along with transaction_id, to retrieve the audio transcription. ```markdown ### Parameters - **transaction_id** (string, path, required): The Transaction ID returned from the [Transcribe Audio](https://docs.picsart.io/reference/video-transcribe-audio-1). ### Responses #### 200 - response - **data** (object) - **id** (string) - **url** (string (uri)) - **status** (string (success|error|processing|queued)) ("success"|"error"|"processing"|"queued") #### 202 - response - **transaction_id** (string) - **status** (string (success|error|processing|queued)) ("success"|"error"|"processing"|"queued") #### 400 - response **Error** - **message** (string) - **detail** (string) (required) #### 401 - response **401_Error** - **code** (integer) (example: 401) - **message** (string) (example: "Unauthorized") - **detail** (string) (required) #### 402 - response **Error** - **message** (string) - **detail** (string) (required) #### 403 - response **Error** - **message** (string) - **detail** (string) (required) #### 404 - response **Error** - **message** (string) - **detail** (string) (required) #### 405 - response **Error** - **message** (string) - **detail** (string) (required) #### 413 - response **Error** - **message** (string) - **detail** (string) (required) #### 415 - response **Error** - **message** (string) - **detail** (string) (required) #### 422 - response **Error** - **message** (string) - **detail** (string) (required) #### 429 - response **Error** - **message** (string) - **detail** (string) (required) #### 431 - response **Error** - **message** (string) - **detail** (string) (required) #### 500 - response **Error** - **message** (string) - **detail** (string) (required) #### 503 - response **Error** - **message** (string) - **detail** (string) (required) ### Example Usage ```bash curl -X GET "https://video-api.picsart.io/v1/audio/transcribe/{transaction_id}" ``` ``` -------------------------------- ### POST /fit Source: https://apidocs.picsart.io/picsart-video-tools-api.yaml Fit your original video to different ratios or width and height options. Apply fit when resizing and cropping is not an option. ```markdown ### Request Body **Content-Type:** application/json - **video_url** (string (uri)): Source video URL. - **ratio** (number (float)): The value should be a single floating point number which represents the ratio of width and height. The formula is: parameter value = width / height. The default value is that of the original video. - **width** (integer): Width of the outcome video. If the new width is larger than the original width, the blurry mirror effect should be applied to the additional part. The measurement unit is px. The default value is the original width. Value must be at least 16 px. - **height** (integer): Height of the outcome video. If the new height is larger than the original height, the blurry mirror effect should be applied to the additional part. The measurement unit is px. The default value is the original height. Value must be at least 16 px. - **bg_color** (string): Can be a hexcolor code (e.g., #82d5fa, #fff) or a color name (e.g., blue). For semi-transparency, 4-/8-digit hexcodes are also supported (e.g., #18d4ff87). (If this parameter is present, the other bg_ parameters must be empty). - **bg_blur** (integer): Enter an integer value from 0 to 100. - **bg_image_url** (string (uri)): Background image URL. - **bg_video_url** (string (uri)): Background video URL. ### Responses #### 202 - response - **transaction_id** (string) - **status** (string (success|error|processing|queued)) ("success"|"error"|"processing"|"queued") #### 400 - response **Error** - **message** (string) - **detail** (string) (required) #### 401 - response **401_Error** - **code** (integer) (example: 401) - **message** (string) (example: "Unauthorized") - **detail** (string) (required) #### 402 - response **Error** - **message** (string) - **detail** (string) (required) #### 403 - response **Error** - **message** (string) - **detail** (string) (required) #### 404 - response **Error** - **message** (string) - **detail** (string) (required) #### 405 - response **Error** - **message** (string) - **detail** (string) (required) #### 413 - response **Error** - **message** (string) - **detail** (string) (required) #### 415 - response **Error** - **message** (string) - **detail** (string) (required) #### 429 - response **Error** - **message** (string) - **detail** (string) (required) #### 431 - response **Error** - **message** (string) - **detail** (string) (required) #### 500 - response **Error** - **message** (string) - **detail** (string) (required) #### 503 - response **Error** - **message** (string) - **detail** (string) (required) ### Example Usage ```bash curl -X POST "https://video-api.picsart.io/v1/fit" \ -H "Content-Type: application/json" \ -d '{ "video_url": "string", "ratio": "0", "width": "0", "height": "0", "bg_color": "string", "bg_blur": "0", "bg_image_url": "string", "bg_video_url": "string" }' ``` ``` -------------------------------- ### GET /metadata/thumbnail/{transaction_id} Source: https://apidocs.picsart.io/picsart-video-tools-api.yaml Use this method, along with transaction_id, to retrieve the updated video with the new thumbnail. ```markdown ### Parameters - **transaction_id** (string, path, required): The ID returned from the POST method when it's done asynchronously. ### Responses #### 200 - response - **data** (object) - **id** (string) - **url** (string (uri)) - **status** (string (success|error|processing|queued)) ("success"|"error"|"processing"|"queued") #### 202 - response - **transaction_id** (string) - **status** (string (success|error|processing|queued)) ("success"|"error"|"processing"|"queued") #### 400 - response **Error** - **message** (string) - **detail** (string) (required) #### 401 - response **401_Error** - **code** (integer) (example: 401) - **message** (string) (example: "Unauthorized") - **detail** (string) (required) #### 402 - response **Error** - **message** (string) - **detail** (string) (required) #### 403 - response **Error** - **message** (string) - **detail** (string) (required) #### 404 - response **Error** - **message** (string) - **detail** (string) (required) #### 405 - response **Error** - **message** (string) - **detail** (string) (required) #### 413 - response **Error** - **message** (string) - **detail** (string) (required) #### 415 - response **Error** - **message** (string) - **detail** (string) (required) #### 429 - response **Error** - **message** (string) - **detail** (string) (required) #### 431 - response **Error** - **message** (string) - **detail** (string) (required) #### 500 - response **Error** - **message** (string) - **detail** (string) (required) #### 503 - response **Error** - **message** (string) - **detail** (string) (required) ### Example Usage ```bash curl -X GET "https://video-api.picsart.io/v1/metadata/thumbnail/{transaction_id}" ``` ``` -------------------------------- ### POST /upscale/fps Source: https://apidocs.picsart.io/picsart-video-tools-api.yaml Upscale your low FPS videos to 60FPS high-quality videos using Generative AI technology. ```markdown ### Request Body **Content-Type:** multipart/form-data - **video_url** (string (uri)): Source video URL. ### Responses #### 202 - response - **transaction_id** (string) - **status** (string (success|error|processing|queued)) ("success"|"error"|"processing"|"queued") #### 400 - response **Error** - **message** (string) - **detail** (string) (required) #### 401 - response **401_Error** - **code** (integer) (example: 401) - **message** (string) (example: "Unauthorized") - **detail** (string) (required) #### 402 - response **Error** - **message** (string) - **detail** (string) (required) #### 403 - response **Error** - **message** (string) - **detail** (string) (required) #### 404 - response **Error** - **message** (string) - **detail** (string) (required) #### 405 - response **Error** - **message** (string) - **detail** (string) (required) #### 413 - response **Error** - **message** (string) - **detail** (string) (required) #### 415 - response **Error** - **message** (string) - **detail** (string) (required) #### 422 - response **Error** - **message** (string) - **detail** (string) (required) #### 429 - response **Error** - **message** (string) - **detail** (string) (required) #### 431 - response **Error** - **message** (string) - **detail** (string) (required) #### 500 - response **Error** - **message** (string) - **detail** (string) (required) #### 503 - response **Error** - **message** (string) - **detail** (string) (required) ### Example Usage ```bash curl -X POST "https://video-api.picsart.io/v1/upscale/fps" \ -H "Content-Type: application/json" \ -d '{ "video_url": "string" }' ``` ``` -------------------------------- ### POST /metadata/thumbnail Source: https://apidocs.picsart.io/picsart-video-tools-api.yaml Update/Set the Video Thumbnail. ```markdown ### Request Body **Content-Type:** application/json - **video_url** (string (uri)): Source video URL. - **image** (string (binary)): Source image file (binary). (If this parameter is present, the other image source parameters must be empty.) - **image_url** (string (uri)): Source image URL. (If this parameter is present, the other image source parameters must be empty.) ### Responses #### 202 - response - **transaction_id** (string) - **status** (string (success|error|processing|queued)) ("success"|"error"|"processing"|"queued") #### 400 - response **Error** - **message** (string) - **detail** (string) (required) #### 401 - response **401_Error** - **code** (integer) (example: 401) - **message** (string) (example: "Unauthorized") - **detail** (string) (required) #### 402 - response **Error** - **message** (string) - **detail** (string) (required) #### 403 - response **Error** - **message** (string) - **detail** (string) (required) #### 404 - response **Error** - **message** (string) - **detail** (string) (required) #### 405 - response **Error** - **message** (string) - **detail** (string) (required) #### 413 - response **Error** - **message** (string) - **detail** (string) (required) #### 415 - response **Error** - **message** (string) - **detail** (string) (required) #### 429 - response **Error** - **message** (string) - **detail** (string) (required) #### 431 - response **Error** - **message** (string) - **detail** (string) (required) #### 500 - response **Error** - **message** (string) - **detail** (string) (required) #### 503 - response **Error** - **message** (string) - **detail** (string) (required) ### Example Usage ```bash curl -X POST "https://video-api.picsart.io/v1/metadata/thumbnail" \ -H "Content-Type: application/json" \ -d '{ "video_url": "string", "image": "string", "image_url": "string" }' ``` ``` -------------------------------- ### POST /export/audio Source: https://apidocs.picsart.io/picsart-video-tools-api.yaml Extract the input video's audio channel. ```markdown ### Request Body **Content-Type:** application/json - **video_url** (string (uri)): Source video URL. - **format** (string (mp3|m4a|wav|flac)): Optionally select one of the audio formats (mp3 is chosen if left blank). Options are as follows: * mp3 * m4a * wav * flac ("mp3"|"m4a"|"wav"|"flac") ### Responses #### 202 - response - **transaction_id** (string) - **status** (string (success|error|processing|queued)) ("success"|"error"|"processing"|"queued") #### 400 - response **Error** - **message** (string) - **detail** (string) (required) #### 401 - response **401_Error** - **code** (integer) (example: 401) - **message** (string) (example: "Unauthorized") - **detail** (string) (required) #### 402 - response **Error** - **message** (string) - **detail** (string) (required) #### 403 - response **Error** - **message** (string) - **detail** (string) (required) #### 404 - response **Error** - **message** (string) - **detail** (string) (required) #### 405 - response **Error** - **message** (string) - **detail** (string) (required) #### 413 - response **Error** - **message** (string) - **detail** (string) (required) #### 415 - response **Error** - **message** (string) - **detail** (string) (required) #### 429 - response **Error** - **message** (string) - **detail** (string) (required) #### 431 - response **Error** - **message** (string) - **detail** (string) (required) #### 500 - response **Error** - **message** (string) - **detail** (string) (required) #### 503 - response **Error** - **message** (string) - **detail** (string) (required) ### Example Usage ```bash curl -X POST "https://video-api.picsart.io/v1/export/audio" \ -H "Content-Type: application/json" \ -d '{ "video_url": "string", "format": "mp3" }' ``` ``` -------------------------------- ### POST /concat/highlights Source: https://apidocs.picsart.io/picsart-video-tools-api.yaml Create a highlights video from the original one. This picks highlight clips and concatenates them into one output video. ```markdown ### Request Body **Content-Type:** application/json - **video_url** (string (uri)): Source video URL. - **trim_segments** (array (object)): List of segments to combine/merge. Array items: - **start** (integer) (required): The start time of the segment in milliseconds. - **end** (integer) (required): The end time of the segment in milliseconds. - **transition** (string (none|fade|zoom_in|zoom_out|spin|fly_in_from_left|fly_in_from_right|fly_in_from_top|fly_in_from_bottom|fly_out_to_left|fly_out_to_right|fly_out_to_bottom|fly_out_to_top)): The transition between segments. ("none"|"fade"|"zoom_in"|"zoom_out"|"spin"|"fly_in_from_left"|"fly_in_from_right"|"fly_in_from_top"|"fly_in_from_bottom"|"fly_out_to_left"|"fly_out_to_right"|"fly_out_to_bottom"|"fly_out_to_top") - **export** (object) - **format** (string (MOV|MP4|WEBM|GIF)): Optionally select one of the output video formats (MP4 is chosen if left blank). Container options are as follows * MOV * MP4 * WEBM * GIF ("MOV"|"MP4"|"WEBM"|"GIF") - **frame_rate** (integer): The output video frame rate. - **bitrate** (integer): The output video bitrate in kb/s. Leave empty to set automatically and optimize accordingly. ### Responses #### 202 - response - **transaction_id** (string) - **status** (string (success|error|processing|queued)) ("success"|"error"|"processing"|"queued") #### 400 - response **Error** - **message** (string) - **detail** (string) (required) #### 401 - response **401_Error** - **code** (integer) (example: 401) - **message** (string) (example: "Unauthorized") - **detail** (string) (required) #### 402 - response **Error** - **message** (string) - **detail** (string) (required) #### 403 - response **Error** - **message** (string) - **detail** (string) (required) #### 404 - response **Error** - **message** (string) - **detail** (string) (required) #### 405 - response **Error** - **message** (string) - **detail** (string) (required) #### 413 - response **Error** - **message** (string) - **detail** (string) (required) #### 415 - response **Error** - **message** (string) - **detail** (string) (required) #### 429 - response **Error** - **message** (string) - **detail** (string) (required) #### 431 - response **Error** - **message** (string) - **detail** (string) (required) #### 500 - response **Error** - **message** (string) - **detail** (string) (required) #### 503 - response **Error** - **message** (string) - **detail** (string) (required) ### Example Usage ```bash curl -X POST "https://video-api.picsart.io/v1/concat/highlights" \ -H "Content-Type: application/json" \ -d '{ "video_url": "string", "trim_segments": [ { "start": "0", "end": "0", "transition": "none" } ], "export": { "format": "MP4", "frame_rate": "30", "bitrate": "0" } }' ``` ``` -------------------------------- ### POST /audio/transcribe Source: https://apidocs.picsart.io/picsart-video-tools-api.yaml Transcribe your audio or video files. The input file can have one of the following mime types: * audio/flac * audio/mpeg * audio/x-m4a * audio/ogg * audio/x-wav * video/mp4 * video/mpeg * video/webm Note, that the maximum audio/video file size supported is 25mb. ```markdown ### Request Body **Content-Type:** application/json - **file_url** (string (uri)): Source video or audio URL. The maximum file size is 25mb. - **language** (string (af|ar|am|az|be|bs|bg|ca|zh|hr|cs|da|nl|en|et|fi|fr|gl|de|el|he|hi|hu|is|id|it|ja|kn|kk|ko|lv|lt|mk|ms|mr|mi|ne|no|fa|pl|pt|ro|ru|sr|sk|sl|es|sw|sv|tl|ta|th|tr|uk|ur|vi|cy)): Optionally select one of the languages in the 2-character format (ISO 639-1). Options are as follows: * Afrikaans - af * Arabic - ar * Armenian - am * Azerbaijani - az * Belarusian - be * Bosnian - bs * Bulgarian - bg * Catalan - ca * Chinese - zh * Croatian - hr * Czech - cs * Danish - da * Dutch - nl * English - en * Estonian - et * Finnish - fi * French - fr * Galician - gl * German - de * Greek - el * Hebrew - he * Hindi - hi * Hungarian - hu * Icelandic - is * Indonesian - id * Italian - it * Japanese - ja * Kannada - kn * Kazakh - kk * Korean - ko * Latvian - lv * Lithuanian - lt * Macedonian - mk * Malay - ms * Marathi - mr * Maori - mi * Nepali - ne * Norwegian - no * Persian - fa * Polish - pl * Portuguese - pt * Romanian - ro * Russian - ru * Serbian - sr * Slovak - sk * Slovenian - sl * Spanish - es * Swahili - sw * Swedish - sv * Tagalog - tl * Tamil - ta * Thai - th * Turkish - tr * Ukrainian - uk * Urdu - ur * Vietnamese - vi * Welsh - cy ("af"|"ar"|"am"|"az"|"be"|"bs"|"bg"|"ca"|"zh"|"hr"|"cs"|"da"|"nl"|"en"|"et"|"fi"|"fr"|"gl"|"de"|"el"|"he"|"hi"|"hu"|"is"|"id"|"it"|"ja"|"kn"|"kk"|"ko"|"lv"|"lt"|"mk"|"ms"|"mr"|"mi"|"ne"|"no"|"fa"|"pl"|"pt"|"ro"|"ru"|"sr"|"sk"|"sl"|"es"|"sw"|"sv"|"tl"|"ta"|"th"|"tr"|"uk"|"ur"|"vi"|"cy") - **format** (string (TXT|SRT|VTT|SBV)): Optionally select one of the transcription formats (TXT is chosen if left blank). Options are as follows: * TXT * SRT * VTT * SBV ("TXT"|"SRT"|"VTT"|"SBV") - **granularity** (string (1-word|2-words|sentence)): Define the granularity of the subtitles. This works for SRT, VTT and SBV formats only. ("1-word"|"2-words"|"sentence") ### Responses #### 202 - response - **transaction_id** (string) - **status** (string (success|error|processing|queued)) ("success"|"error"|"processing"|"queued") #### 400 - response **Error** - **message** (string) - **detail** (string) (required) #### 401 - response **401_Error** - **code** (integer) (example: 401) - **message** (string) (example: "Unauthorized") - **detail** (string) (required) #### 402 - response **Error** - **message** (string) - **detail** (string) (required) #### 403 - response **Error** - **message** (string) - **detail** (string) (required) #### 404 - response **Error** - **message** (string) - **detail** (string) (required) #### 405 - response **Error** - **message** (string) - **detail** (string) (required) #### 413 - response **Error** - **message** (string) - **detail** (string) (required) #### 415 - response **Error** - **message** (string) - **detail** (string) (required) #### 429 - response **Error** - **message** (string) - **detail** (string) (required) #### 431 - response **Error** - **message** (string) - **detail** (string) (required) #### 500 - response **Error** - **message** (string) - **detail** (string) (required) #### 503 - response **Error** - **message** (string) - **detail** (string) (required) ### Example Usage ```bash curl -X POST "https://video-api.picsart.io/v1/audio/transcribe" \ -H "Content-Type: application/json" \ -d '{ "file_url": "string", "language": "en", "format": "TXT", "granularity": "sentence" }' ``` ``` -------------------------------- ### POST /metadata Source: https://apidocs.picsart.io/picsart-video-tools-api.yaml Analysis the Video and provides the Metadata. ```markdown ### Request Body **Content-Type:** application/json - **video_url** (string (uri)): Source video URL. ### Responses #### 200 - response - **data** (object) - **video_streams** (integer): Number of video streams in the file (including thumbnails) - **audio_streams** (integer): Number of audio streams in the file - **bit_rate** (integer): Overall bit rate of the file in bits per second - **size** (integer): File size in bytes - **duration** (number): Total duration of the file in seconds - **format_name** (string): Container format name - **video_codec_name** (string): Video codec name - **video_width** (integer): Video width in pixels - **video_height** (integer): Video height in pixels - **video_duration** (number): Video stream duration in seconds - **video_bit_rate** (integer): Video stream bit rate in bits per second - **video_pix_fmt** (string): Video pixel format - **video_fps** (integer): Video frame rate (frames per second) - **audio_codec_name** (string): Audio codec name - **audio_sample_rate** (integer): Audio sample rate in Hz - **audio_channels** (integer): Number of audio channels - **audio_channel_layout** (string): Audio channel layout - **audio_duration** (number): Audio stream duration in seconds - **audio_bit_rate** (integer): Audio stream bit rate in bits per second - **thumbnail_codec_name** (string): Thumbnail codec name - **thumbnail_width** (integer): Thumbnail width in pixels - **thumbnail_height** (integer): Thumbnail height in pixels - **thumbnail_pix_fmt** (string): Thumbnail pixel format - **status** (string (success|error|processing|queued)) ("success"|"error"|"processing"|"queued") #### 400 - response **Error** - **message** (string) - **detail** (string) (required) #### 401 - response **401_Error** - **code** (integer) (example: 401) - **message** (string) (example: "Unauthorized") - **detail** (string) (required) #### 402 - response **Error** - **message** (string) - **detail** (string) (required) #### 403 - response **Error** - **message** (string) - **detail** (string) (required) #### 404 - response **Error** - **message** (string) - **detail** (string) (required) #### 405 - response **Error** - **message** (string) - **detail** (string) (required) #### 413 - response **Error** - **message** (string) - **detail** (string) (required) #### 415 - response **Error** - **message** (string) - **detail** (string) (required) #### 429 - response **Error** - **message** (string) - **detail** (string) (required) #### 431 - response **Error** - **message** (string) - **detail** (string) (required) #### 500 - response **Error** - **message** (string) - **detail** (string) (required) #### 503 - response **Error** - **message** (string) - **detail** (string) (required) ### Example Usage ```bash curl -X POST "https://video-api.picsart.io/v1/metadata" \ -H "Content-Type: application/json" \ -d '{ "video_url": "string" }' ``` ```