๐Ÿš€ NCA TOOLKIT

Complete API Documentation & Interactive N8N Guide
8
Working APIs
โœ…
67%
Success Rate
๐Ÿ“Š
100%
N8N Ready
๐Ÿ”—

โœ… PRODUCTION READY - 8 Validated Endpoints | Complete N8N Integration | MinIO S3 Storage

API Server
ncat:8080 โšก Optimized
Storage
minio:9000 โšก Optimized
Workflows
n8n.itgyani.com

โšก Performance & Connection Optimization

๐Ÿ† Optimal Connection Methods (Fastest to Slowest):

  • Container IP: http://172.19.0.2:8080 - 0.318s
  • Container Name: http://ncat:8080 - ~0.35s โญ BEST
  • Localhost: http://ncat:8080 - 0.631s
  • โŒ External Domain: ~~https://ncp.itgyani.com~~ - 1.330s + timeouts โš ๏ธ AVOID
โœ… n8n Integration: Use http://ncat:8080 for optimal container communication (80% faster)
๐Ÿ”— Complete Guide: n8n Integration Guide with Working Examples

40+

API Endpoints

8

Media Categories

โˆž

Processing Power

FREE

Self-Hosted

๐Ÿงช Updated API Status Report - August 2025

โœ… Working Endpoints (8)

โ€ข /v1/toolkit/test
โ€ข /v1/media/transcribe
โ€ข /v1/media/convert/mp3
โ€ข /v1/video/thumbnail
โ€ข /v1/media/convert
โ€ข /v1/s3/upload
โ€ข /v1/video/caption โœจ
โ€ข /v1/video/cut โœจ

โœจ = Recently schema-fixed and functional

โŒ Broken Endpoints (4)

  • /v1/video/concatenate - Schema conflict
  • /v1/image/screenshot/webpage - Too restrictive
  • /v1/ffmpeg/compose - Parameter mismatch
  • /v1/toolkit/job/status/* - Not implemented

๏ฟฝ Success Rate: 67% (8/12 endpoints) | All URLs updated to localhost:8080 | MinIO S3 integration active

๐Ÿ” Find Your API
๐ŸŽต
Audio Processing
3 endpoints
๐ŸŽฌ
Video Processing
5 endpoints
๐Ÿ–ผ๏ธ
Image Processing
2 endpoints
โš™๏ธ
Advanced Tools
5 endpoints
โ˜๏ธ
Cloud & Storage
1 endpoint
๐Ÿ”ง
System & Monitor
2 endpoints
POST
GET
PUT
DELETE
๐Ÿš€ Quick Start
๐Ÿ”„ Workflows
โญ Most Popular
๐Ÿงช Beta Features
๐Ÿ”„ Show All
Showing all API endpoints

โšก API Connection Test

Test your connection to the NCA Toolkit API instantly:

curl -H "X-API-Key: local-dev-key-123" http://ncat:8080/v1/toolkit/test
โœ… Expected Success Response:
{"code": 200, "message": "success", "job_id": "abc-123", "run_time": 0.234}

๐Ÿ”— Parameter Guide & n8n Integration

โš ๏ธ Parameter Validation

  • Strict Schema: Only documented parameters accepted
  • Case Sensitive: Use exact parameter names
  • No Extra Params: Additional parameters cause 400 errors
  • Required Fields: All required parameters must be included

๐ŸŽฏ Key Parameter Notes

  • Screenshot: Only accepts url parameter
  • Video Thumbnail: Uses video_url (not file_url)
  • Audio Transcribe: Uses media_url parameter
  • Media Convert: Requires format parameter

๐Ÿ”ง n8n HTTP Node Setup

URL: http://ncat:8080/v1/[endpoint]
Method: POST (most APIs)
Headers: X-API-Key: local-dev-key-123
Body: {"param": "{{ $json.value }}"}

๐Ÿ“‹ Response Patterns

  • Async Jobs: Returns {"job_id": "...", "response": "http://minio:9000/..."}
  • Code Execution: Returns {"response": {"stdout": "..."}}
  • Status Check: Use /v1/toolkit/job/status/{job_id}
  • Error Format: {"message": "Invalid payload: ..."}
๐Ÿ“– View Complete Parameter Guide

โœ… WORKING APIs (8 Endpoints)

Fully functional endpoints with complete N8N integration guides and MinIO S3 storage paths

๐ŸŽฏ How to Use This Interactive API Guide

๐Ÿ–ฑ๏ธ CLICK ENDPOINTS FOR DETAILS

Each endpoint card shows basic info. Click the header to expand and see:

  • Complete parameter definitions
  • N8N HTTP node configuration
  • MinIO S3 storage paths
  • Copy-ready cURL examples

๐Ÿ”— N8N INTEGRATION READY

Every working endpoint includes:

  • HTTP node URL and method
  • Required headers and API key
  • JSON body templates with variables
  • Response format examples

๐Ÿ“‚ MINIO S3 INTEGRATION

All file outputs stored at:

  • Server: minio.itgyani.com:9000
  • Bucket: nca-toolkit-local
  • Access: Public read after processing
  • Format: [job_id]_filename.ext

๐Ÿ’ก TIP: Recently schema-fixed endpoints marked with โœจ - now fully functional after parameter corrections!

POST /v1/media/transcribe
โœ… WORKING
Advanced speech-to-text transcription service. Performance: ~16.8s processing time.
curl -X POST "http://localhost:8080/v1/media/transcribe" \ -H "Content-Type: application/json" \ -H "X-API-Key: local-dev-key-123" \ -d '{ "media_url": "https://commondatastorage.googleapis.com/codeskulptor-assets/week7-brrring.m4a", "language": "en" }'

โœ… Test Result: Transcription successful with job_id and text result.

๐Ÿ“‹ Parameters:
media_url required - Audio/video file URL
language optional - Language code (e.g., "en", "es", "fr")
๐Ÿ”— N8N HTTP Node Configuration:
URL: http://localhost:8080/v1/media/transcribe
Method: POST
Headers: 
  X-API-Key: local-dev-key-123
  Content-Type: application/json
Body: 
{
  "media_url": "{{ $json.media_url }}",
  "language": "en"
}

Response Format:
{
  "job_id": "uuid-string",
  "transcription": "Full text result"
}
Podcast Transcription Meeting Minutes Video Subtitles
POST /v1/media/convert/mp3
โœ… WORKING
Convert any audio or video file to MP3 format. Asynchronous processing with job_id.
curl -X POST "http://ncat:8080/v1/media/convert/mp3" \ -H "Content-Type: application/json" \ -H "X-API-Key: local-dev-key-123" \ -d '{ "media_url": "https://commondatastorage.googleapis.com/codeskulptor-assets/week7-brrring.m4a" }'

โœ… Test Result: Returns job_id for asynchronous processing. Performance: ~27s

Response: {"job_id": "359a71e7-6de1-4dc5-841b-45661d607b64", "response": "http://minio.itgyani.com:9000/nca-toolkit-local/[job_id].mp3"}

๐Ÿ“‚ Storage: Files stored in MinIO S3 bucket at minio.itgyani.com

๐Ÿ“‹ Parameters:
media_url required - Audio/video file URL to convert
๐Ÿ”— N8N HTTP Node Configuration:
URL: http://localhost:8080/v1/media/convert/mp3
Method: POST
Headers: 
  X-API-Key: local-dev-key-123
  Content-Type: application/json
Body: 
{
  "media_url": "{{ $json.video_url }}"
}

Response Format:
{
  "job_id": "uuid-string",
  "response": "http://minio.itgyani.com:9000/nca-toolkit-local/[job_id].mp3"
}

๐Ÿ“‚ MinIO S3 Details:
- Bucket: nca-toolkit-local
- Server: minio.itgyani.com:9000
- Access: Public read after processing
Format Conversion Audio Extraction
POST /v1/video/thumbnail
โœ… WORKING
Extract thumbnail images from video files. Performance: ~13s processing time.
curl -X POST "http://ncat:8080/v1/video/thumbnail" \ -H "Content-Type: application/json" \ -H "X-API-Key: local-dev-key-123" \ -d '{ "video_url": "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4" }'

โœ… Test Result: Successfully generates thumbnail with job_id and MinIO URL.

Response: {"job_id": "43fc0ead-bdd9-498b-ad66-e3b284413730", "response": "http://minio.itgyani.com:9000/nca-toolkit-local/[job_id]_thumbnail.jpg"}

๐Ÿ“‚ Storage: Thumbnail images stored in MinIO S3 with public access

๐Ÿ“‹ Parameters:
video_url required - Video file URL to extract thumbnail from
๐Ÿ”— N8N HTTP Node Configuration:
URL: http://localhost:8080/v1/video/thumbnail
Method: POST
Headers: 
  X-API-Key: local-dev-key-123
  Content-Type: application/json
Body: 
{
  "video_url": "{{ $json.video_url }}"
}

Response Format:
{
  "job_id": "uuid-string",
  "response": "http://minio.itgyani.com:9000/nca-toolkit-local/[job_id]_thumbnail.jpg"
}

๐Ÿ“‚ MinIO S3 Details:
- Bucket: nca-toolkit-local
- File Format: [job_id]_thumbnail.jpg
- Server: minio.itgyani.com:9000
- Direct browser access available
Video Preview Thumbnail Generation
POST /v1/media/convert
โœ… WORKING
Universal media format converter. Supports multiple output formats.
curl -X POST "http://ncat:8080/v1/media/convert" \ -H "Content-Type: application/json" \ -H "X-API-Key: local-dev-key-123" \ -d '{ "media_url": "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4", "format": "avi" }'

โœ… Test Result: Successfully converts with job_id. Performance: ~10-30s depending on format

Response: {"job_id": "b847f718-adde-4344-bb54-63baf454ca97", "response": "http://minio:9000/nca-toolkit-local/[job_id].[format]"}

๐Ÿ“‹ Parameters:
media_url required - Audio/video file URL to convert
format required - Target format (mp3, wav, avi, mp4, mkv, etc.)
Format Conversion Cross-Platform
GET /v1/toolkit/test
โœ… WORKING
Health check endpoint for API connectivity testing.
curl -H "X-API-Key: local-dev-key-123" http://ncat:8080/v1/toolkit/test

โœ… Always Available: Fast connectivity test endpoint. Performance: ~0.25s

Response: {"job_id": "04a1587a-a14f-4381-8232-bbfb9659a8f5", "response": "http://minio:9000/nca-toolkit-local/success.txt"}

๐Ÿ“‹ Parameters:
None - - Simple GET request, no parameters required
Health Check Monitoring
POST /v1/s3/upload
โœ… WORKING
Upload files directly to S3-compatible storage (MinIO) by streaming from URLs. Returns secure download links.
curl -X POST "http://localhost:8080/v1/s3/upload" \ -H "Content-Type: application/json" \ -H "X-API-Key: local-dev-key-123" \ -d '{ "file_url": "https://picsum.photos/400/300.jpg", "destination_path": "images/sample-image.jpg" }'

โœ… Test Result: Successfully uploads files to MinIO storage with proper metadata.

Response: {"bucket": "nca-toolkit-local", "file_url": "http://minio:9000/...", "filename": "image.jpg", "public": false}

๐Ÿ“‹ Parameters:
file_url required - Source URL of file to upload
destination_path required - Path in storage bucket
๐Ÿ”— N8N HTTP Node Configuration:
URL: http://localhost:8080/v1/s3/upload
Method: POST
Headers: 
  X-API-Key: local-dev-key-123
  Content-Type: application/json
Body: 
{
  "file_url": "{{ $json.source_url }}",
  "destination_path": "uploads/{{ $json.filename }}"
}

Response Format:
{
  "bucket": "nca-toolkit-local",
  "file_url": "http://minio.itgyani.com:9000/nca-toolkit-local/...",
  "filename": "filename.ext",
  "public": false
}

๐Ÿ“‚ MinIO S3 Details:
- Bucket: nca-toolkit-local
- Server: minio.itgyani.com:9000
- Supports: Images, videos, documents, any file type
File Storage Asset Management CDN Distribution Backup Solutions
POST /v1/video/caption
โœ… WORKING โœจ
Add captions to videos using SRT format. Recently schema-fixed and now functional! Processing time: ~15-30s.
curl -X POST "http://localhost:8080/v1/video/caption" \ -H "Content-Type: application/json" \ -H "X-API-Key: local-dev-key-123" \ -d '{ "video_url": "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4", "captions": "1\n00:00:01,000 --> 00:00:03,000\nFirst caption line\n\n2\n00:00:04,000 --> 00:00:06,000\nSecond caption line\n\n" }'

โœ… Schema Fixed & Working: Correct SRT format now accepted by backend processing.

Response: {"job_id": "uuid-string", "response": "http://minio.itgyani.com:9000/nca-toolkit-local/[job_id]_captioned.mp4"}

๐Ÿ“‚ Storage: Captioned videos stored in MinIO S3 with public access

๐Ÿ“‹ Parameters:
video_url required - Video file URL to add captions to
captions required - SRT format string with proper timing

โš ๏ธ SRT Format Required: Must use "1\n00:00:01,000 --> 00:00:03,000\nText\n\n" format. Array format will cause HTTP 400 error.

๐Ÿ”— N8N HTTP Node Configuration:
URL: http://localhost:8080/v1/video/caption
Method: POST
Headers: 
  X-API-Key: local-dev-key-123
  Content-Type: application/json
Body: 
{
  "video_url": "{{ $json.video_url }}",
  "captions": "1\n00:00:01,000 --> 00:00:03,000\n{{ $json.caption_text_1 }}\n\n2\n00:00:04,000 --> 00:00:06,000\n{{ $json.caption_text_2 }}\n\n"
}

Response Format:
{
  "job_id": "uuid-string",
  "response": "http://minio.itgyani.com:9000/nca-toolkit-local/[job_id]_captioned.mp4"
}

๐Ÿ“‚ MinIO S3 Details:
- Bucket: nca-toolkit-local
- File Format: [job_id]_captioned.mp4
- Server: minio.itgyani.com:9000
- Processing Time: 15-30 seconds
Video Subtitles Accessibility Content Creation Social Media
POST /v1/video/cut
โœ… WORKING โœจ
Extract segments from videos with precise timing. Schema corrected and now functional! Processing time: ~10-25s.
curl -X POST "http://localhost:8080/v1/video/cut" \ -H "Content-Type: application/json" \ -H "X-API-Key: local-dev-key-123" \ -d '{ "video_url": "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4", "cuts": [ {"start": "1", "end": "3"}, {"start": "10", "end": "12"} ] }'

โœ… Schema Fixed & Working: String timestamps now processed correctly by backend.

Response: {"job_id": "uuid-string", "response": "http://minio.itgyani.com:9000/nca-toolkit-local/[job_id]_cut.mp4"}

๐Ÿ“‚ Storage: Cut video segments stored in MinIO S3 with public access

๐Ÿ“‹ Parameters:
video_url required - Video file URL to extract segments from
cuts required - Array of cut objects with string timestamps

โš ๏ธ String Format Required: Use "start": "1", "end": "3" (strings). Integer format will cause processing errors.

๐Ÿ”— N8N HTTP Node Configuration:
URL: http://localhost:8080/v1/video/cut
Method: POST
Headers: 
  X-API-Key: local-dev-key-123
  Content-Type: application/json
Body: 
{
  "video_url": "{{ $json.video_url }}",
  "cuts": [
    {"start": "{{ $json.start_time_1 }}", "end": "{{ $json.end_time_1 }}"},
    {"start": "{{ $json.start_time_2 }}", "end": "{{ $json.end_time_2 }}"}
  ]
}

Response Format:
{
  "job_id": "uuid-string",
  "response": "http://minio.itgyani.com:9000/nca-toolkit-local/[job_id]_cut.mp4"
}

๐Ÿ“‚ MinIO S3 Details:
- Bucket: nca-toolkit-local
- File Format: [job_id]_cut.mp4
- Server: minio.itgyani.com:9000
- Multiple segments merged into single video
Video Editing Highlights Content Clipping Social Media

๐Ÿ”ง UNDER DEVELOPMENT (6+ Endpoints)

APIs with uncertain status - may work with correct parameters but need thorough testing

POST /v1/media/transcribe
Advanced speech-to-text transcription service. Note: This is a long-running operation that may take several minutes for large files.
curl -X POST "http://ncat:8080/v1/media/transcribe" \ -H "Content-Type: application/json" \ -H "X-API-Key: local-dev-key-123" \ -d '{ "media_url": "https://commondatastorage.googleapis.com/codeskulptor-assets/week7-brrring.m4a", "language": "en" }'
๐Ÿ”ง Working Parameters:
media_url required - Audio/video file URL
language optional - Language code (e.g., "en", "es", "fr")

โœ… Test Result: Transcription successful with job_id and text result.

Response: {"job_id": "f37d6787-3202-4bd1-b8e3-ccf2a309a5b0", "response": {"text": "transcribed text", "segments": null, "srt": null}, "run_time": 16.837}

Podcast Transcription Meeting Minutes Video Subtitles Voice Notes Accessibility
POST /v1/media/convert/mp3
Convert any audio or video file to MP3 format. Long-running operation for large files.
curl -X POST "http://ncat:8080/v1/media/convert/mp3" \ -H "Content-Type: application/json" \ -H "X-API-Key: local-dev-key-123" \ -d '{ "media_url": "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4" }'
๐Ÿ”ง Working Parameters:
media_url required - Audio/video file URL to convert

โœ… Test Result: Returns job_id for asynchronous processing. Output: MinIO URL with converted MP3 file.

Sample Response: {"job_id": "81bfa0d5-afa2-4f99-941d-fae9c1353cd6", "response": "http://minio:9000/nca-toolkit-local/[job_id].mp3", "run_time": 2.717}

Format Conversion Audio Extraction Size Optimization Distribution
POST /v1/audio/concatenate
Merge multiple audio files into one continuous track. Complex parameter structure - requires testing.
curl -X POST "http://ncat:8080/v1/audio/concatenate" \ -H "X-API-Key: local-dev-key-123" \ -H "Content-Type: application/json" \ -d '{ "audio_urls": [ {"url": "https://commondatastorage.googleapis.com/codeskulptor-demos/DDR_assets/Kangaroo_MusiQue_-_The_Neverwritten_Role_Playing_Game.mp3"}, {"url": "https://commondatastorage.googleapis.com/codeskulptor-assets/week7-brrring.m4a"} ] }'

โœ… Confirmed Format: API expects array of objects with "url" property. Do NOT include audio_url field.

Working Schema: audio_urls: [{"url": "file1.mp3"}, {"url": "file2.mp3"}]

Podcast Assembly Music Mixing Audio Compilation Content Creation

๐ŸŽฌ Video Processing APIs

POST /v1/video/caption
Add professional captions with multiple styles (karaoke, highlight, classic) and extensive customization options for color, position, and typography.
curl -X POST "http://ncat:8080/v1/video/caption" \ -H "X-API-Key: local-dev-key-123" \ -H "Content-Type: application/json" \ -d '{ "video_url": "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4" }'
๐Ÿ”ง Required Format:
video_url required - Video file URL

โŒ Server Error: Endpoint returns HTTP 500 Internal Server Error even with minimal payload.

Status: Backend implementation issue - endpoint needs fixing.

YouTube Videos Social Media TikTok Content Accessibility Education
POST /v1/video/thumbnail
Extract high-quality thumbnail images from any timestamp in your videos with custom dimensions and formats.
curl -X POST "http://ncat:8080/v1/video/thumbnail" \ -H "Content-Type: application/json" \ -H "X-API-Key: local-dev-key-123" \ -d '{ "video_url": "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4" }'

โœ… Test Result: Successfully generates thumbnail with job_id and MinIO URL.

Response: {"job_id": "43fc0ead-bdd9-498b-ad66-e3b284413730", "response": "http://minio:9000/nca-toolkit-local/[job_id]_thumbnail.jpg", "run_time": 13.2}

๐Ÿ”ง Working Parameters:
video_url required - Video file URL to extract thumbnail from
YouTube Thumbnails Video Previews Gallery Creation Content Management
POST /v1/video/cut
Extract specific segments from videos with frame-accurate precision. Long-running operation that may timeout.
curl -X POST "http://ncat:8080/v1/video/cut" \ -H "X-API-Key: local-dev-key-123" \ -H "Content-Type: application/json" \ -d '{ "video_url": "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4", "cuts": [ { "start": "10", "end": "20" } ] }'
๐Ÿ”ง Working Parameters:
video_url required - Video file URL
cuts required - Array of cut segments
start/end - String time values (seconds)

โŒ Server Error: Endpoint returns HTTP 500 Internal Server Error. May need backend fixes.

Status: Schema validated but processing failed - backend issue detected.

Highlight Clips Social Media Shorts Content Editing Trailer Creation
POST /v1/video/concatenate
Merge multiple videos into one seamless file with transition effects and custom output formats.
curl -X POST "http://ncat:8080/v1/video/concatenate" \ -H "X-API-Key: local-dev-key-123" \ -H "Content-Type: application/json" \ -d '{ "video_urls": [ {"url": "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4"} ] }'

โŒ Schema Issue: API expects both 'video_url' AND 'video_urls' fields but rejects additional properties.

Status: Conflicting API requirements - backend schema needs fixing.

Course Compilation Event Highlights Story Assembly Movie Creation
POST /v1/media/convert
Convert videos between different formats. Note: Some formats may have codec compatibility issues.
curl -X POST "http://ncat:8080/v1/media/convert" \ -H "Content-Type: application/json" \ -H "X-API-Key: local-dev-key-123" \ -d '{ "media_url": "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4", "format": "wav" }'
๐Ÿ”ง Working Parameters:
media_url required - Audio/video file URL to convert
format required - Target format (mp3, wav, mp4, avi, mkv, etc.)

โœ… Test Result: Successfully converts with job_id and MinIO URL.

Response: {"job_id": "b847f718-adde-4344-bb54-63baf454ca97", "response": "http://minio:9000/nca-toolkit-local/[job_id].[format]", "run_time": 9.7}

Platform Compatibility Size Optimization Quality Control Format Standardization

๐Ÿ–ผ๏ธ Image Processing APIs

POST /v1/image/convert/video
Transform static images into dynamic videos. Requires images with proper file extensions (.jpg, .png, etc.).
curl -X POST "http://ncat:8080/v1/image/convert/video" \ -H "X-API-Key: local-dev-key-123" \ -H "Content-Type: application/json" \ -d '{ "image_url": "https://picsum.photos/400/300.jpg", "length": 10 }'
๐Ÿ”ง Working Parameters:
image_url required - Image URL with proper file extension
length required - Video duration in seconds

โœ… Working! Returns video URL in ~30-35 seconds

Social Media Videos Background Content Slideshow Creation Ken Burns Effect
POST /v1/image/screenshot/webpage
Capture high-quality screenshots of any webpage. โš ๏ธ Important: Only accepts url parameter. Additional parameters like width, height, device will cause errors.
curl -X POST "http://ncat:8080/v1/image/screenshot/webpage" \ -H "X-API-Key: local-dev-key-123" \ -H "Content-Type: application/json" \ -d '{ "url": "https://github.com" }'
๐Ÿ“‹ Required Parameters:
url required - Webpage URL to screenshot

โš ๏ธ Parameter Validation: This endpoint strictly validates parameters. Do NOT include width, height, device, format, or other parameters as they will cause a 400 error.

๐Ÿ”— n8n HTTP Node Configuration:
URL: http://ncat:8080/v1/image/screenshot/webpage
Method: POST
Headers: X-API-Key: local-dev-key-123
Body: {"url": "{{ $json.webpage_url }}"}
Website Monitoring Documentation Portfolio Creation Visual Testing

โš™๏ธ Advanced Processing APIs

POST /v1/media/metadata
Extract comprehensive technical metadata from media files including format details, codec information, resolution, duration, and quality metrics.
curl -X POST "http://ncat:8080/v1/media/metadata" \ -H "X-API-Key: local-dev-key-123" \ -H "Content-Type: application/json" \ -d '{ "media_url": "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4", "include_streams": true, "include_chapters": true, "include_format": true }'
Quality Control Content Management Technical Analysis File Validation
POST /v1/s3/upload
Upload files directly to S3-compatible storage (MinIO) by streaming from URLs. Returns secure download links.
curl -X POST "http://ncat:8080/v1/s3/upload" \ -H "X-API-Key: local-dev-key-123" \ -H "Content-Type: application/json" \ -d '{ "file_url": "https://picsum.photos/400/300.jpg", "destination_path": "images/sample-image.jpg" }'
๐Ÿ”ง Working Parameters:
file_url required - Source URL of file to upload
destination_path required - Path in storage bucket

โœ… Response Example:

{
  "bucket": "nca-toolkit-local",
  "file_url": "http://minio:9000/...",
  "filename": "300.jpg",
  "public": false
}
File Storage CDN Distribution Asset Management Backup Solutions
POST /v1/ffmpeg/compose
Execute complex FFmpeg commands for advanced media manipulation and custom processing pipelines.
curl -X POST "http://ncat:8080/v1/ffmpeg/compose" \ -H "X-API-Key: local-dev-key-123" \ -H "Content-Type: application/json" \ -d '{ "input_urls": ["https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4"], "ffmpeg_command": "-vf scale=1920:1080,eq=brightness=0.1:contrast=1.2 -c:v libx264", "output_format": "mp4" }'
Complex Effects Custom Workflows Batch Processing Advanced Editing
POST /v1/code/execute/python
Execute Python code remotely for data processing, calculations, and custom logic implementation. Returns stdout, stderr, and exit code.
curl -X POST "http://ncat:8080/v1/code/execute/python" \ -H "X-API-Key: local-dev-key-123" \ -H "Content-Type: application/json" \ -d '{ "code": "import json\nresult = {\"message\": \"Hello from NCA!\", \"status\": \"success\"}\nprint(json.dumps(result))" }'
๐Ÿ”ง Working Parameters:
code required - Python code to execute

โœ… Working! Returns:

{
  "exit_code": 0,
  "stdout": "output here",
  "stderr": "",
  "result": null
}
Data Analysis Custom Algorithms API Integration Automation
POST /v1/media/silence
Detect silence intervals in audio/video files for automatic editing and content analysis. Returns array of silence segments.
curl -X POST "http://ncat:8080/v1/media/silence" \ -H "X-API-Key: local-dev-key-123" \ -H "Content-Type: application/json" \ -d '{ "media_url": "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4", "duration": 60 }'
๐Ÿ”ง Working Parameters:
media_url required - Audio/video file URL
duration required - Duration in seconds to analyze

โœ… Working! Returns array of silence segments

Auto Editing Dead Air Detection Content Analysis Quality Control

โ˜๏ธ Cloud Storage & Beta APIs

POST /v1/BETA/media/download
Download media content from various online platforms using yt-dlp (YouTube, social media, etc.). Returns detailed media information and download URLs.
curl -X POST "http://ncat:8080/v1/BETA/media/download" \ -H "X-API-Key: local-dev-key-123" \ -H "Content-Type: application/json" \ -d '{ "media_url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" }'
๐Ÿ”ง Working Parameters:
media_url required - YouTube or social media URL

โš ๏ธ BETA: This endpoint downloads content to MinIO storage and provides metadata including title, description, and view counts.

โœ… Working! Returns:

  • Downloaded media file URL
  • Title, description, metadata
  • Duration, resolution, codec info
  • View count and uploader details
Content Archiving Research Projects Offline Processing Media Collection

โŒ NON-WORKING ENDPOINTS (4 Critical Issues)

Endpoints with confirmed issues requiring immediate developer attention

POST /v1/video/concatenate
โŒ BROKEN
Schema Conflict: API expects both 'video_url' AND 'video_urls' but rejects additional properties.
curl -X POST "http://localhost:8080/v1/video/concatenate" \ -H "Content-Type: application/json" \ -H "X-API-Key: local-dev-key-123" \ -d '{ "video_urls": [ {"url": "https://example.com/video1.mp4"} ] }'

โŒ Conflicting Requirements: API schema requires both single 'video_url' and array 'video_urls' simultaneously.

Developer Action: Fix backend schema to accept either video_url OR video_urls, not both.

Multi-Video Assembly Course Compilation Event Highlights
POST /v1/image/screenshot/webpage
โŒ BROKEN
Overly Restrictive: Only accepts 'url' parameter, rejects standard options like width, height, device.
curl -X POST "http://localhost:8080/v1/image/screenshot/webpage" \ -H "Content-Type: application/json" \ -H "X-API-Key: local-dev-key-123" \ -d '{ "url": "https://github.com" }'

โŒ Limited Functionality: Adding width, height, or device parameters causes "Additional properties not allowed" error.

Developer Action: Relax parameter validation to allow standard screenshot options.

Website Monitoring Documentation Visual Testing
POST /v1/ffmpeg/compose
โŒ BROKEN
Parameter Mismatch: API expects 'inputs' but documentation shows 'input_urls'.
curl -X POST "http://localhost:8080/v1/ffmpeg/compose" \ -H "Content-Type: application/json" \ -H "X-API-Key: local-dev-key-123" \ -d '{ "input_urls": ["https://example.com/video.mp4"], "ffmpeg_command": "-vf scale=1920:1080", "output_format": "mp4" }'

โŒ Schema Mismatch: Backend expects 'inputs' parameter but documentation uses 'input_urls'.

Developer Action: Align parameter names between API schema and documentation.

Complex Effects Custom Workflows Batch Processing
GET /v1/toolkit/job/status/{job_id}
โŒ BROKEN
Not Implemented: Endpoint returns HTTP 404 - feature missing from backend.
curl -H "X-API-Key: local-dev-key-123" \ http://localhost:8080/v1/toolkit/job/status/YOUR_JOB_ID_HERE

โŒ Missing Feature: Returns HTTP 404 - endpoint not implemented in backend.

Developer Action: Implement job status tracking or remove from documentation.

Job Monitoring Progress Tracking Status Updates

๐Ÿ”ง Developer Action Required

  • Video Concatenate: Fix conflicting schema requirements
  • Image Screenshot: Allow width/height parameters
  • FFmpeg Compose: Align parameter naming with documentation
  • Job Status: Implement endpoint or remove from docs

๐Ÿ”„ Working Video Creation Workflow

Professional video creation pipeline using tested and working APIs

1

Create Background Video from Image

curl -X POST "http://ncat:8080/v1/image/convert/video" \ -H "X-API-Key: local-dev-key-123" \ -H "Content-Type: application/json" \ -d '{ "image_url": "https://picsum.photos/400/300.jpg", "length": 15 }'
2

Extract Video Metadata

curl -X POST "http://ncat:8080/v1/media/metadata" \ -H "X-API-Key: local-dev-key-123" \ -H "Content-Type: application/json" \ -d '{ "media_url": "[VIDEO_URL_FROM_STEP_1]" }'
3

Generate Video Thumbnail

curl -X POST "http://ncat:8080/v1/video/thumbnail" \ -H "X-API-Key: local-dev-key-123" \ -H "Content-Type: application/json" \ -d '{ "video_url": "[VIDEO_URL_FROM_STEP_1]" }'
4

Upload Both to Permanent Storage

curl -X POST "http://ncat:8080/v1/s3/upload" \ -H "X-API-Key: local-dev-key-123" \ -H "Content-Type: application/json" \ -d '{ "file_url": "[VIDEO_URL_FROM_STEP_1]", "destination_path": "videos/final/generated-video.mp4" }'

๐Ÿ”ง System & Monitoring APIs

GET /v1/toolkit/test
Quick health check endpoint to verify API connectivity, system status, and basic functionality.
curl -H "X-API-Key: local-dev-key-123" http://ncat:8080/v1/toolkit/test
โœ… Success Response:
{
  "code": 200,
  "message": "success",
  "job_id": "abc-123-def-456",
  "response": "http://minio:9000/nca-toolkit-local/success.txt",
  "run_time": 0.234,
  "queue_length": 0,
  "build_number": 200
}
GET /v1/toolkit/job/status/{job_id}
Monitor job processing status. Note: This endpoint may not be available - jobs typically complete synchronously or timeout.
curl -H "X-API-Key: local-dev-key-123" \ http://ncat:8080/v1/toolkit/job/status/YOUR_JOB_ID_HERE

โš ๏ธ Status: This endpoint returns 404 - may not be implemented. Jobs typically return results immediately or timeout.