# FFMPEG API > REST API for FFmpeg-powered video and audio processing: merge, trim, split, caption, convert, extract frames, extract audio, make GIFs, and create portrait video. Base URL: https://ffmpegapi.net API Base URL: https://ffmpegapi.net/api Authentication: include `X-API-Key: your_api_key_here`, `?api_key=...`, or an `api_key` form field. ## Core Pages - [API documentation](https://ffmpegapi.net/docs) - [Markdown API documentation](https://ffmpegapi.net/docs.md) - [Examples](https://ffmpegapi.net/examples.md) - [Pricing](https://ffmpegapi.net/pricing.md) - [OpenAPI spec](https://ffmpegapi.net/openapi.json) - [Full LLM context](https://ffmpegapi.net/llms-full.txt) ## API Endpoints - `POST /api/merge_image_audio`: Create an MP4 video from an image and an audio track. - `POST /api/merge_videos`: Concatenate videos into a single MP4. - `POST /api/video_loop`: Loop a video by count or until it matches an audio track. - `POST /api/picture_in_picture`: Overlay one video on another. - `POST /api/add_watermark`: Overlay a watermark image onto a video. - `POST /api/add_subtitles`: Burn ASS subtitles into a video. - `POST /api/split_audio`: Split audio into equal parts. - `POST /api/split_audio_segments`: Split audio into fixed-duration segments. - `POST /api/split_audio_time`: Extract one audio range by millisecond timestamps. - `POST /api/trim_audio`: Trim audio to a desired length. - `POST /api/trim_video`: Trim video by start and end timestamps. - `POST /api/split_video`: Split a video into two parts. - `POST /api/get_first_frame_image`: Extract the first frame of a video as a JPEG. - `POST /api/get_last_frame_image`: Extract the last frame of a video as a JPEG. - `POST /api/convert_to_vertical`: Convert a horizontal video to vertical format. - `POST /api/convert_to_tiktok_portrait`: Convert a video to full-bleed 9:16 TikTok-style portrait. - `POST /api/extract_audio_mp3`: Extract a video's audio track as MP3. - `POST /api/convert_video_to_gif`: Encode a video as an animated GIF. - `POST /api/videos/add-tiktok-captions`: Transcribe a video and render TikTok-style captions. - `POST /api/videos/add-text-overlay-captions`: Render supplied text lines as timed caption overlays. - `POST /api/youtube_to_mp4`: Return an MP4 download URL for a YouTube video. - `GET /api/job/{job_id}/status`: Check asynchronous job status.