fal-video-to-video
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseQuick Reference
快速参考
| Task | Endpoint | Key Parameter |
|---|---|---|
| Style/Edit | | |
| Remix | | |
| Upscale | | |
| Interpolate | | |
| Edit Type | Use Case |
|---|---|
| Color, lighting, quality |
| Anime, painting, noir |
| 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 |
| 任务 | 接口地址 | 关键参数 |
|---|---|---|
| 风格/编辑 | | |
| 重混 | | |
| 超分 | | |
| 帧插值 | | |
| 编辑类型 | 使用场景 |
|---|---|
| 色彩、光线、画质调整 |
| 动漫、绘画、黑色电影风格 |
| 替换/移除元素 |
| 风格关键词 | 效果 |
|---|---|
| "anime style" | 日式动画风格 |
| "oil painting" | 纹理笔触效果 |
| "noir" | 高对比度黑白风格 |
| "cyberpunk" | 霓虹未来风格 |
| 超分倍数 | 文件大小影响 |
|---|---|
| 2倍 | 文件大小变为4倍 |
| 4倍 | 文件大小变为16倍 |
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-text-to-video - 图像转视频:请查看
fal-image-to-video - 模型选择:请查看
fal-model-guide
fal.ai Video-to-Video Models
fal.ai 视频转视频模型
Complete reference for video editing, transformation, and upscaling models on fal.ai.
fal.ai平台上视频编辑、转换与超分模型的完整参考文档。
Kling O1 Video Editing
Kling O1 视频编辑
Kling O1 Video-to-Video Edit
Kling O1 视频转视频编辑
Endpoint:
Best For: Comprehensive video editing and transformation
fal-ai/kling-video/o1/video-to-video/edittypescript
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 purpose editing | Any transformation |
| Style transfer | Artistic effects |
| Object replacement/editing | Change specific elements |
Parameters:
| Parameter | Type | Description |
|---|---|---|
| string | Editing instruction |
| string | Source video URL |
| string | "general", "style", "object" |
| string | What to avoid |
接口地址:
最佳适用场景: 全面的视频编辑与转换
fal-ai/kling-video/o1/video-to-video/edittypescript
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"])编辑类型:
| 类型 | 描述 | 使用场景 |
|---|---|---|
| 通用编辑 | 任意类型转换 |
| 风格迁移 | 艺术效果处理 |
| 物体替换/编辑 | 修改特定元素 |
参数说明:
| 参数 | 类型 | 描述 |
|---|---|---|
| string | 编辑指令 |
| string | 源视频URL |
| string | "general"、"style"、"object" |
| string | 需要避免的效果 |
Kling O1 Examples
Kling O1 示例
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"
}
});风格迁移:
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"
}
});物体编辑:
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"
}
});通用转换:
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 2 Remix
Sora Remix (Video Transformation)
Sora Remix(视频转换)
Endpoint:
Best For: Creative video remixing and transformation
fal-ai/sora/remixtypescript
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 |
|---|---|---|
| string | Transformation description |
| string | Source video URL |
| string | "16:9", "9:16", "1:1" |
接口地址:
最佳适用场景: 创意视频重混与转换
fal-ai/sora/remixtypescript
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 参数:
| 参数 | 类型 | 描述 |
|---|---|---|
| string | 转换描述 |
| string | 源视频URL |
| string | "16:9"、"9:16"、"1:1" |
Video Upscaling
视频超分
Video Upscaler
视频超分工具
Endpoint:
Best For: Enhance video resolution
fal-ai/video-upscalertypescript
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 |
|---|---|---|---|
| string | - | Source video URL |
| number | 2, 4 | Upscale factor |
接口地址:
最佳适用场景: 提升视频分辨率
fal-ai/video-upscalertypescript
const result = await fal.subscribe("fal-ai/video-upscaler", {
input: {
video_url: "https://example.com/low-res-video.mp4",
scale: 2 // 2倍或4倍超分
}
});
console.log(result.video.url);python
result = fal_client.subscribe(
"fal-ai/video-upscaler",
arguments={
"video_url": "https://example.com/video.mp4",
"scale": 2
}
)参数说明:
| 参数 | 类型 | 可选值 | 描述 |
|---|---|---|---|
| string | - | 源视频URL |
| number | 2、4 | 超分倍数 |
TopazVideoAI (if available)
TopazVideoAI(若可用)
Endpoint:
Best For: Professional video enhancement
fal-ai/topaz-video-aitypescript
const result = await fal.subscribe("fal-ai/topaz-video-ai", {
input: {
video_url: "https://example.com/video.mp4",
enhancement_type: "upscale",
target_resolution: "4k"
}
});接口地址:
最佳适用场景: 专业级视频增强
fal-ai/topaz-video-aitypescript
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:
Best For: Smooth motion, increase frame rate
fal-ai/frame-interpolationtypescript
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 |
|---|---|---|
| string | Source video |
| number | Target frame rate (30, 60, 120) |
| string | "smooth", "natural" |
接口地址:
最佳适用场景: 实现流畅运动、提升帧率
fal-ai/frame-interpolationtypescript
const result = await fal.subscribe("fal-ai/frame-interpolation", {
input: {
video_url: "https://example.com/24fps-video.mp4",
target_fps: 60,
interpolation_mode: "smooth"
}
});参数说明:
| 参数 | 类型 | 描述 |
|---|---|---|
| string | 源视频 |
| number | 目标帧率(30、60、120) |
| 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");typescript
// 为视频应用艺术风格
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;
}
// 使用示例
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" |
| 风格 | 提示词示例 |
|---|---|
| 动漫 | "Japanese anime style, cel shading" |
| 水彩画 | "Soft watercolor painting with flowing colors" |
| 油画 | "Classical oil painting, textured brushstrokes" |
| 像素艺术 | "8-bit pixel art retro game style" |
| 黑色电影 | "Black and white film noir, high contrast" |
| 赛博朋克 | "Neon cyberpunk aesthetic, futuristic" |
| 素描 | "Hand-drawn pencil sketch style" |
| 漫画 | "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"
}
});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"
}
});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"
}
});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"
}
});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"
}
});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"
}
});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;
}typescript
interface VideoToVideoInput {
// 必填项
video_url: string;
// 适用于编辑模型
prompt?: string;
edit_type?: "general" | "style" | "object";
negative_prompt?: string;
// 适用于超分
scale?: number; // 2或4
// 适用于帧插值
target_fps?: number;
interpolation_mode?: string;
// 输出设置
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;
}typescript
async function enhanceVideo(sourceUrl: string) {
// 1. 提升分辨率
const upscaled = await fal.subscribe("fal-ai/video-upscaler", {
input: {
video_url: sourceUrl,
scale: 2
}
});
// 2. 增强画质
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. 平滑运动(可选)
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");typescript
async function styleTransferVideo(
sourceUrl: string,
targetStyle: string
) {
// 应用风格转换
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;
}
// 使用示例
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);
}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 |
| 模型 | 编辑功能 | 风格迁移 | 超分功能 | 处理速度 |
|---|---|---|---|---|
| Kling O1 | 完整 | 完整 | 无 | 中等 |
| Sora Remix | 有限 | 完整 | 无 | 缓慢 |
| Video Upscaler | 无 | 无 | 完整 | 快速 |
Best Practices
最佳实践
For Style Transfer
风格迁移
- Be consistent - Use specific style descriptions
- Avoid flickering - Add "consistent" to negative prompt
- Test on clips - Process short segments first
- Maintain identity - Don't over-transform
- 保持一致性 - 使用具体的风格描述
- 避免闪烁 - 在负向提示词中添加"consistent"
- 先测试片段 - 先处理短片段验证效果
- 保留主体特征 - 不要过度转换
For Object Editing
物体编辑
- Be specific - Name exact objects to change
- Provide context - Describe replacement clearly
- Consider motion - Ensure edits work with movement
- Check boundaries - Object edges should blend naturally
- 描述精确 - 明确指定要修改的物体
- 提供上下文 - 清晰描述替换内容
- 考虑运动 - 确保编辑适配视频运动
- 检查边缘融合 - 物体边缘应自然融入场景
For Upscaling
超分处理
- Source quality matters - Clean input = better output
- Don't over-upscale - 2x usually sufficient
- Consider file size - Higher res = larger files
- Test first - Preview with short clip
- 源素材质量很重要 - 清晰的输入才能得到更好的输出
- 不要过度超分 - 2倍超分通常已足够
- 考虑文件大小 - 分辨率越高文件越大
- 先测试 - 用短片段预览效果
For General Enhancement
通用增强
- Incremental changes - Don't try to fix everything at once
- Preserve intent - Keep original mood/style
- Check artifacts - Look for introduced errors
- 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 |
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 画面闪烁 | 帧间效果不一致 | 在提示词中添加"consistent, stable" |
| 色彩偏移 | 编辑过度激进 | 使用更温和的提示词 |
| 细节丢失 | 转换程度过高 | 降低编辑强度 |
| 出现伪影 | 压缩问题 | 使用更高质量的源素材 |
| 运动模糊 | 帧插值设置问题 | 使用"natural"模式 |
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.
| 操作 | 大小影响 |
|---|---|
| 2倍超分 | 文件大小变为4倍 |
| 4倍超分 | 文件大小变为16倍 |
| 帧插值 | 文件大小变为2-4倍 |
| 风格迁移 | 文件大小基本不变 |
处理视频时请始终考虑存储和带宽限制。