đĨ AI for Videos
Specialized read-only API for the AI for Videos sub-site. Lists tools of toolType = "video" with generation method, use case, and production stage filters. All endpoints are public.
Base Path
/api/ai-for-videos
GET
List Video AI Tools
âļGET /api/ai-for-videos
Returns a paginated list of video AI tools filtered by generation method, use case, production stage, and pricing.
Query Parameters
| Param | Type | Default | Description |
|---|---|---|---|
| page | number | 1 | Page number |
| limit | number | 20 | Results per page (max 100) |
| search | string | â | Search in name or description |
| generationMethod | string | â | See generation method values below |
| useCase | string | â | See use case values below |
| productionStage | string | â | See production stage values below |
| pricingModel | enum | â | free | freemium | paid | enterprise |
| sortBy | enum | createdAt | createdAt | rating | viewCount | reviewCount | name |
| sortOrder | enum | desc | asc | desc |
| topRated | boolean | â | Shortcut: sort by rating desc |
Response
200 â Tool list
{
"success": true,
"data": {
"tools": [
{
"id": "tool_vid1",
"slug": "synthesia-ai",
"name": "Synthesia AI",
"singleLineDescription": "Create AI avatar videos from text",
"logoUrl": "https://synthesia.io/logo.png",
"toolType": "video",
"pricingModel": "paid",
"startingPrice": 30,
"rating": 4.6,
"reviewCount": 215,
"verified": true,
"featured": true,
"typeMetadata": {
"generationMethods": ["text-to-video", "avatar-videos"],
"useCases": ["corporate", "elearning", "marketing-ads"],
"productionStages": ["production", "post-production"],
"maxResolution": "1080p",
"maxDuration": "30 minutes",
"outputFormats": ["MP4"],
"inputTypes": ["Text", "Script"]
},
"user": { "id": "usr_admin", "username": "admin" }
}
],
"pagination": { "total": 64, "page": 1, "limit": 20, "totalPages": 4 }
}
}
GET
Filter Options
âļGET /api/ai-for-videos/filters
Returns all valid filter values for building the sidebar. Cached for 24 hours (Cache-Control: public, max-age=86400).
Response
200 â Filter options
{
"success": true,
"data": {
"generationMethods": [
"text-to-video",
"image-to-video",
"avatar-videos",
"style-transfer",
"motion-capture",
"beat-sync"
],
"useCases": [
"youtube-content",
"social-media",
"marketing-ads",
"elearning",
"filmmaking",
"corporate"
],
"productionStages": [
"pre-production",
"production",
"post-production",
"distribution"
],
"pricingModels": ["free", "freemium", "paid", "enterprise"],
"sortFields": ["createdAt", "rating", "viewCount", "reviewCount", "name"]
}
}
Video Metadata Schema
When creating a tool of toolType: "video", pass these fields in typeMetadata.
typeMetadata â Video Tool
{
// Filterable fields â these map to typeFilters slugs
"generationMethods": ["text-to-video", "avatar-videos"],
// â typeFilters: ["gen:text-to-video", "gen:avatar-videos"]
"useCases": ["corporate", "elearning"],
// â typeFilters: ["uc:corporate", "uc:elearning"]
"productionStages": ["production", "post-production"],
// â typeFilters: ["stage:production", "stage:post-production"]
// Display-only fields (shown on tool detail page, not filterable)
"maxResolution": "4K",
"maxDuration": "30 minutes",
"outputFormats": ["MP4", "GIF", "WebM"],
"inputTypes": ["Text", "Image", "Script"]
}
All Filter Values
Generation Methods
"text-to-video" "image-to-video" "avatar-videos" "style-transfer" "motion-capture" "beat-sync"
Use Cases
"youtube-content" "social-media" "marketing-ads" "elearning" "filmmaking" "corporate"
Production Stages
"pre-production" "production" "post-production" "distribution"
The AI for Videos module only exposes list and filters endpoints. Individual tool pages are served via the general Tools API using
GET /api/tools/slug/:slug.