| Task | Endpoint | Key Parameter |
Scanned 9/4/2026
Install to Claude Code
npx -y skills add majiayu000/claude-skill-registry-data --skill fal-video-to-video --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Fal Video To Video?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/majiayu000-fal-video-to-video-claude-skill-registry-data)More formats (shields.io, HTML) on the badges page.
---
name: fal-video-to-video
description: '| Task | Endpoint | Key Parameter |'
---
---
name: fal-video-to-video
description: Complete fal.ai video-to-video system. PROACTIVELY activate for: (1) Kling O1 video editing, (2) Sora Remix transformation, (3) Video upscaling, (4) Frame interpolation, (5) Style transfer (anime, painting), (6) Object replacement/removal, (7) Color correction, (8) Video enhancement pipelines. Provides: Edit types (general/style/object), upscaling options, style keywords, enhancement workflows. Ensures consistent video transformation without flickering.
---
## Quick Reference
| Task | Endpoint | Key Parameter |
|------|----------|---------------|
| Style/Edit | `fal-ai/kling-video/o1/video-to-video/edit` | `edit_type` |
| Remix | `fal-ai/sora/remix` | `prompt` |
| Upscale | `fal-ai/video-upscaler` | `scale: 2,4` |
| Interpolate | `fal-ai/frame-interpolation` | `target_fps` |
| Edit Type | Use Case |
|-----------|----------|
| `general` | Color, lighting, quality |
| `style` | Anime, painting, noir |
| `object` | Replace/remove elements |
| Style Keyword | Effect |
|---------------|--------|
| "anime style" | Japanese animation |
| "oil painting" | Textured brushstrokes |
| "noir" | High contrast B&W |
| "cyberpunk" | Neon futuristic |
| Upscale | Size Impact |
|---------|-------------|
| 2x | 4x file size |
| 4x | 16x file size |
## When to Use This Skill
Use for **video editing and transformation**:
- Applying style transfer to videos
- Upscaling low-resolution videos
- Increasing frame rate for smooth motion
- Replacing or removing objects
- Enhancing video quality
**Related skills:**
- For text-to-video: see `fal-text-to-video`
- For image-to-video: see `fal-image-to-video`
- For model selection: see `fal-model-guide`
---
# fal.ai Video-to-Video Models
Complete reference for video editing, transformation, and upscaling models on fal.ai.
## Kling O1 Video Editing
### Kling O1 Video-to-Video Edit
**Endpoint:** `fal-ai/kling-video/o1/video-to-video/edit`
**Best For:** Comprehensive video editing and transformation
```typescript
import { fal } from "@fal-ai/client";
const result = await fal.subscribe("fal-ai/kling-video/o1/video-to-video/edit", {
input: {
prompt: "Transform into an anime style with vibrant colors",
video_url: "https://example.com/original-video.mp4",
edit_type: "style",
negative_prompt: "blurry, distorted, low quality"
}
});
console.log(result.video.url);
```
```python
import fal_client
result = fal_client.subscribe(
"fal-ai/kling-video/o1/video-to-video/edit",
arguments={
"prompt": "Transform into anime style",
"video_url": "https://example.com/video.mp4",
"edit_type": "style"
}
)
print(result["video"]["url"])
```
**Edit Types:**
| Type | Description | Use Case |
|------|-------------|----------|
| `general` | General purpose editing | Any transformation |
| `style` | Style transfer | Artistic effects |
| `object` | Object replacement/editing | Change specific elements |
**Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| `prompt` | string | Editing instruction |
| `video_url` | string | Source video URL |
| `edit_type` | string | "general", "style", "object" |
| `negative_prompt` | string | What to avoid |
### Kling O1 Examples
**Style Transfer:**
```typescript
const result = await fal.subscribe("fal-ai/kling-video/o1/video-to-video/edit", {
input: {
prompt: "Transform into a watercolor painting style with soft brushstrokes",
video_url: sourceVideoUrl,
edit_type: "style",
negative_prompt: "harsh edges, digital artifacts"
}
});
```
**Object Editing:**
```typescript
const result = await fal.subscribe("fal-ai/kling-video/o1/video-to-video/edit", {
input: {
prompt: "Change the red car to a blue sports car",
video_url: sourceVideoUrl,
edit_type: "object"
}
});
```
**General Transformation:**
```typescript
const result = await fal.subscribe("fal-ai/kling-video/o1/video-to-video/edit", {
input: {
prompt: "Make it look like a sunny summer day instead of overcast",
video_url: sourceVideoUrl,
edit_type: "general"
}
});
```
## Sora 2 Remix
### Sora Remix (Video Transformation)
**Endpoint:** `fal-ai/sora/remix`
**Best For:** Creative video remixing and transformation
```typescript
const result = await fal.subscribe("fal-ai/sora/remix", {
input: {
prompt: "Transform this into a cinematic sci-fi scene with futuristic elements",
video_url: "https://example.com/original.mp4",
aspect_ratio: "16:9"
}
});
console.log(result.video.url);
```
**Sora Remix Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| `prompt` | string | Transformation description |
| `video_url` | string | Source video URL |
| `aspect_ratio` | string | "16:9", "9:16", "1:1" |
## Video Upscaling
### Video Upscaler
**Endpoint:** `fal-ai/video-upscaler`
**Best For:** Enhance video resolution
```typescript
const result = await fal.subscribe("fal-ai/video-upscaler", {
input: {
video_url: "https://example.com/low-res-video.mp4",
scale: 2 // 2x or 4x upscale
}
});
console.log(result.video.url);
```
```python
result = fal_client.subscribe(
"fal-ai/video-upscaler",
arguments={
"video_url": "https://example.com/video.mp4",
"scale": 2
}
)
```
**Parameters:**
| Parameter | Type | Values | Description |
|-----------|------|--------|-------------|
| `video_url` | string | - | Source video URL |
| `scale` | number | 2, 4 | Upscale factor |
### TopazVideoAI (if available)
**Endpoint:** `fal-ai/topaz-video-ai`
**Best For:** Professional video enhancement
```typescript
const result = await fal.subscribe("fal-ai/topaz-video-ai", {
input: {
video_url: "https://example.com/video.mp4",
enhancement_type: "upscale",
target_resolution: "4k"
}
});
```
## Video Frame Interpolation
### Frame Interpolation
**Endpoint:** `fal-ai/frame-interpolation`
**Best For:** Smooth motion, increase frame rate
```typescript
const result = await fal.subscribe("fal-ai/frame-interpolation", {
input: {
video_url: "https://example.com/24fps-video.mp4",
target_fps: 60,
interpolation_mode: "smooth"
}
});
```
**Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| `video_url` | string | Source video |
| `target_fps` | number | Target frame rate (30, 60, 120) |
| `interpolation_mode` | string | "smooth", "natural" |
## Video Style Transfer
### General Style Transfer Pipeline
```typescript
// Apply artistic style to video
async function applyVideoStyle(videoUrl: string, style: string) {
const result = await fal.subscribe("fal-ai/kling-video/o1/video-to-video/edit", {
input: {
prompt: `Transform into ${style} style`,
video_url: videoUrl,
edit_type: "style"
}
});
return result.video.url;
}
// Usage
const animeVideo = await applyVideoStyle(originalVideo, "anime");
const oilPaintingVideo = await applyVideoStyle(originalVideo, "oil painting");
const pixelArtVideo = await applyVideoStyle(originalVideo, "pixel art");
```
### Style Keywords
| Style | Prompt Example |
|-------|----------------|
| Anime | "Japanese anime style, cel shading" |
| Watercolor | "Soft watercolor painting with flowing colors" |
| Oil Painting | "Classical oil painting, textured brushstrokes" |
| Pixel Art | "8-bit pixel art retro game style" |
| Noir | "Black and white film noir, high contrast" |
| Cyberpunk | "Neon cyberpunk aesthetic, futuristic" |
| Sketch | "Hand-drawn pencil sketch style" |
| Comic | "Comic book style with bold outlines" |
## Video Enhancement Techniques
### Denoising
```typescript
const result = await fal.subscribe("fal-ai/kling-video/o1/video-to-video/edit", {
input: {
prompt: "Clean and enhance video quality, reduce noise and grain",
video_url: noisyVideoUrl,
edit_type: "general",
negative_prompt: "grainy, noisy, artifacts"
}
});
```
### Color Correction
```typescript
const result = await fal.subscribe("fal-ai/kling-video/o1/video-to-video/edit", {
input: {
prompt: "Enhance colors to be more vibrant and natural, improve contrast",
video_url: flatVideoUrl,
edit_type: "general"
}
});
```
### Lighting Enhancement
```typescript
const result = await fal.subscribe("fal-ai/kling-video/o1/video-to-video/edit", {
input: {
prompt: "Improve lighting, add warm golden hour glow",
video_url: darkVideoUrl,
edit_type: "general"
}
});
```
## Video Object Editing
### Object Replacement
```typescript
const result = await fal.subscribe("fal-ai/kling-video/o1/video-to-video/edit", {
input: {
prompt: "Replace the bicycle with a motorcycle",
video_url: sourceVideoUrl,
edit_type: "object"
}
});
```
### Object Removal
```typescript
const result = await fal.subscribe("fal-ai/kling-video/o1/video-to-video/edit", {
input: {
prompt: "Remove the person in the background, fill with natural scenery",
video_url: sourceVideoUrl,
edit_type: "object"
}
});
```
### Object Addition
```typescript
const result = await fal.subscribe("fal-ai/kling-video/o1/video-to-video/edit", {
input: {
prompt: "Add falling snow throughout the scene",
video_url: sourceVideoUrl,
edit_type: "object"
}
});
```
## Complete Parameter Reference
```typescript
interface VideoToVideoInput {
// Required
video_url: string;
// For editing models
prompt?: string;
edit_type?: "general" | "style" | "object";
negative_prompt?: string;
// For upscaling
scale?: number; // 2 or 4
// For frame interpolation
target_fps?: number;
interpolation_mode?: string;
// Output
aspect_ratio?: string;
}
```
## Workflow Examples
### Complete Video Enhancement Pipeline
```typescript
async function enhanceVideo(sourceUrl: string) {
// 1. Upscale resolution
const upscaled = await fal.subscribe("fal-ai/video-upscaler", {
input: {
video_url: sourceUrl,
scale: 2
}
});
// 2. Enhance quality
const enhanced = await fal.subscribe("fal-ai/kling-video/o1/video-to-video/edit", {
input: {
prompt: "Enhance video quality, improve sharpness and colors",
video_url: upscaled.video.url,
edit_type: "general"
}
});
// 3. Smooth motion (optional)
const smoothed = await fal.subscribe("fal-ai/frame-interpolation", {
input: {
video_url: enhanced.video.url,
target_fps: 60
}
});
return smoothed.video.url;
}
```
### Style Transfer Workflow
```typescript
async function styleTransferVideo(
sourceUrl: string,
targetStyle: string
) {
// Apply style transformation
const styled = await fal.subscribe("fal-ai/kling-video/o1/video-to-video/edit", {
input: {
prompt: `Transform into ${targetStyle} style, maintain motion consistency`,
video_url: sourceUrl,
edit_type: "style",
negative_prompt: "flickering, inconsistent, artifacts"
}
});
return styled.video.url;
}
// Usage
const animeVersion = await styleTransferVideo(original, "anime");
const paintingVersion = await styleTransferVideo(original, "impressionist oil painting");
```
### Batch Video Processing
```typescript
async function processVideosBatch(
videos: string[],
transformation: string
) {
const results = await Promise.all(
videos.map(video =>
fal.subscribe("fal-ai/kling-video/o1/video-to-video/edit", {
input: {
prompt: transformation,
video_url: video,
edit_type: "general"
}
})
)
);
return results.map(r => r.video.url);
}
```
## Model Comparison
| Model | Editing | Style | Upscale | Speed |
|-------|---------|-------|---------|-------|
| Kling O1 | Full | Full | No | Medium |
| Sora Remix | Limited | Full | No | Slow |
| Video Upscaler | No | No | Full | Fast |
## Best Practices
### For Style Transfer
1. **Be consistent** - Use specific style descriptions
2. **Avoid flickering** - Add "consistent" to negative prompt
3. **Test on clips** - Process short segments first
4. **Maintain identity** - Don't over-transform
### For Object Editing
1. **Be specific** - Name exact objects to change
2. **Provide context** - Describe replacement clearly
3. **Consider motion** - Ensure edits work with movement
4. **Check boundaries** - Object edges should blend naturally
### For Upscaling
1. **Source quality matters** - Clean input = better output
2. **Don't over-upscale** - 2x usually sufficient
3. **Consider file size** - Higher res = larger files
4. **Test first** - Preview with short clip
### For General Enhancement
1. **Incremental changes** - Don't try to fix everything at once
2. **Preserve intent** - Keep original mood/style
3. **Check artifacts** - Look for introduced errors
4. **Iterate** - Multiple passes may be needed
## Common Issues and Solutions
| Issue | Cause | Solution |
|-------|-------|----------|
| Flickering | Inconsistent frames | Add "consistent, stable" to prompt |
| Color shifts | Over-aggressive editing | Use gentler prompts |
| Lost details | Too much transformation | Reduce edit intensity |
| Artifacts | Compression issues | Use higher quality source |
| Motion blur | Frame interpolation | Use "natural" mode |
## File Size Considerations
| Operation | Size Impact |
|-----------|-------------|
| 2x Upscale | 4x larger |
| 4x Upscale | 16x larger |
| Frame interpolation | 2-4x larger |
| Style transfer | Similar size |
Always consider storage and bandwidth when processing videos.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!