fal-video-to-video

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Quick Reference

快速参考

TaskEndpointKey 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 TypeUse Case
general
Color, lighting, quality
style
Anime, painting, noir
object
Replace/remove elements
Style KeywordEffect
"anime style"Japanese animation
"oil painting"Textured brushstrokes
"noir"High contrast B&W
"cyberpunk"Neon futuristic
UpscaleSize Impact
2x4x file size
4x16x file size
任务接口地址关键参数
风格/编辑
fal-ai/kling-video/o1/video-to-video/edit
edit_type
重混
fal-ai/sora/remix
prompt
超分
fal-ai/video-upscaler
scale: 2,4
帧插值
fal-ai/frame-interpolation
target_fps
编辑类型使用场景
general
色彩、光线、画质调整
style
动漫、绘画、黑色电影风格
object
替换/移除元素
风格关键词效果
"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:
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:
TypeDescriptionUse Case
general
General purpose editingAny transformation
style
Style transferArtistic effects
object
Object replacement/editingChange specific elements
Parameters:
ParameterTypeDescription
prompt
stringEditing instruction
video_url
stringSource video URL
edit_type
string"general", "style", "object"
negative_prompt
stringWhat to avoid
接口地址:
fal-ai/kling-video/o1/video-to-video/edit
最佳适用场景: 全面的视频编辑与转换
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"])
编辑类型:
类型描述使用场景
general
通用编辑任意类型转换
style
风格迁移艺术效果处理
object
物体替换/编辑修改特定元素
参数说明:
参数类型描述
prompt
string编辑指令
video_url
string源视频URL
edit_type
string"general"、"style"、"object"
negative_prompt
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:
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:
ParameterTypeDescription
prompt
stringTransformation description
video_url
stringSource video URL
aspect_ratio
string"16:9", "9:16", "1:1"
接口地址:
fal-ai/sora/remix
最佳适用场景: 创意视频重混与转换
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 参数:
参数类型描述
prompt
string转换描述
video_url
string源视频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:
ParameterTypeValuesDescription
video_url
string-Source video URL
scale
number2, 4Upscale factor
接口地址:
fal-ai/video-upscaler
最佳适用场景: 提升视频分辨率
typescript
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
    }
)
参数说明:
参数类型可选值描述
video_url
string-源视频URL
scale
number2、4超分倍数

TopazVideoAI (if available)

TopazVideoAI(若可用)

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"
  }
});
接口地址:
fal-ai/topaz-video-ai
最佳适用场景: 专业级视频增强
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:
ParameterTypeDescription
video_url
stringSource video
target_fps
numberTarget frame rate (30, 60, 120)
interpolation_mode
string"smooth", "natural"
接口地址:
fal-ai/frame-interpolation
最佳适用场景: 实现流畅运动、提升帧率
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"
  }
});
参数说明:
参数类型描述
video_url
string源视频
target_fps
number目标帧率(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");
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

风格关键词

StylePrompt 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

模型对比

ModelEditingStyleUpscaleSpeed
Kling O1FullFullNoMedium
Sora RemixLimitedFullNoSlow
Video UpscalerNoNoFullFast
模型编辑功能风格迁移超分功能处理速度
Kling O1完整完整中等
Sora Remix有限完整缓慢
Video Upscaler完整快速

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
  1. 保持一致性 - 使用具体的风格描述
  2. 避免闪烁 - 在负向提示词中添加"consistent"
  3. 先测试片段 - 先处理短片段验证效果
  4. 保留主体特征 - 不要过度转换

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
  1. 描述精确 - 明确指定要修改的物体
  2. 提供上下文 - 清晰描述替换内容
  3. 考虑运动 - 确保编辑适配视频运动
  4. 检查边缘融合 - 物体边缘应自然融入场景

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
  1. 源素材质量很重要 - 清晰的输入才能得到更好的输出
  2. 不要过度超分 - 2倍超分通常已足够
  3. 考虑文件大小 - 分辨率越高文件越大
  4. 先测试 - 用短片段预览效果

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
  1. 逐步调整 - 不要试图一次性修复所有问题
  2. 保留原始意图 - 维持视频原本的氛围与风格
  3. 检查伪影 - 留意处理后出现的错误
  4. 多次迭代 - 可能需要多轮处理达到理想效果

Common Issues and Solutions

常见问题与解决方案

IssueCauseSolution
FlickeringInconsistent framesAdd "consistent, stable" to prompt
Color shiftsOver-aggressive editingUse gentler prompts
Lost detailsToo much transformationReduce edit intensity
ArtifactsCompression issuesUse higher quality source
Motion blurFrame interpolationUse "natural" mode
问题原因解决方案
画面闪烁帧间效果不一致在提示词中添加"consistent, stable"
色彩偏移编辑过度激进使用更温和的提示词
细节丢失转换程度过高降低编辑强度
出现伪影压缩问题使用更高质量的源素材
运动模糊帧插值设置问题使用"natural"模式

File Size Considerations

文件大小注意事项

OperationSize Impact
2x Upscale4x larger
4x Upscale16x larger
Frame interpolation2-4x larger
Style transferSimilar size
Always consider storage and bandwidth when processing videos.
操作大小影响
2倍超分文件大小变为4倍
4倍超分文件大小变为16倍
帧插值文件大小变为2-4倍
风格迁移文件大小基本不变
处理视频时请始终考虑存储和带宽限制。