비디오 작업

ffmpeg 번들 없이 비디오를 프레임 단위로 정확하게 트림하세요.

정확히 원하는 프레임에서 끝나는 클립으로 비디오를 트림하세요 — 키프레임 처리는 Fotovid가 맡아 경계가 깔끔하게 유지돼요. 바로 꽂아 쓰는 ffmpeg 마이크로서비스가 호스팅된 MP4 URL을 곧장 건네줘요.

curl -X POST https://api.fotovid.co/v1/video/trim \
  -H "Authorization: Bearer p6_YOUR_KEY_ID:YOUR_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "source_url": "https://cdn.yoursite.com/recording.mp4",
    "params": {
      "start": "00:00:05",
      "end": "00:00:20"
    }
  }'

serverless에서 비디오 트림은 보이는 것보다 훨씬 까다로워요

클립을 자르는 건 ffmpeg 명령어 한 줄이면 끝날 것 같지만, 그 명령어를 Vercel, Lambda, Workers에서 실행하려면 70MB가 넘는 정적 바이너리를 함께 배포하고, 콜드 스타트와 메모리 제한과 씨름하고, 입력은 스트리밍으로 받아들이고 출력은 어딘가에 저장해야 해요. 프레임 단위 정밀 컷은 재인코딩을 강제하기 때문에 CPU 사용량과 실행 시간이 대부분의 serverless 함수가 허용하는 한도를 넘어서 버려요. 결국 제품과는 아무 상관도 없는 인프라를 떠맡게 되는 거예요.

  • ffmpeg 바이너리는 serverless의 번들 크기와 메모리 제한을 훌쩍 넘어서요
  • 프레임 단위 정밀 트림은 재인코딩이 필요해요 — 느리고 CPU 사용량이 많은 작업이라 함수가 타임아웃되기 쉬워요
  • 입력 파일 다운로드와 결과 클립 호스팅은 여전히 직접 처리해야 해요
  • 미디어 파이프라인을 직접 구축하지 않고도 깔끔한 하이라이트 클립, 소셜용 컷, 짧은 미리보기가 필요할 때 이 엔드포인트를 쓰세요

요청 파라미터

POST /v1/video/trim

FieldTypeDefaultDescription
source_url*string (URL)소스 비디오의 HTTPS URL
params.start*string | number"HH:MM:SS(.mmm)" 형식 또는 초 단위 숫자 (예: 5.5)
params.end*string | numberstart보다 커야 하고, 파일 끝(EOF)을 넘으면 그 지점에서 잘려요
How it works

3단계로 끝내는 첫 호출

  1. 1
    무료 API 키 발급받기

    가입 후 대시보드에서 키를 발급받으세요. Authorization: Bearer p6_<key_id>:<secret> 헤더를 보내면 인증돼요. 새 계정은 모두 무료 사용 credit으로 시작하고, $1로 credit 100개를 구매할 수 있어요 — 트림 1회 호출에 credit 1개가 들어요.

  2. 2
    POST /v1/video/trim 호출하기

    https://api.fotovid.co/v1/video/trim 로 JSON 본문을 POST하세요. 본문에는 source_url(입력 비디오의 HTTPS URL)과 start·end를 담은 params 객체를 넣으면 돼요. 둘 다 HH:MM:SS.mmm 형식의 타임스탬프나 순수 초 단위 숫자를 받을 수 있고, 컷은 반열림 구간 [start, end)에 대해 프레임 단위로 정확하게 이뤄지며 x264로 MP4에 재인코딩돼요.

  3. 3
    반환된 클립 URL 사용하기

    응답은 id, type, 트림된 MP4의 fotovid 호스팅 url, expires_at, 클립 길이(duration)를 담은 플랫 JSON이에요. 파일을 다운로드해서 직접 보관하면 어디에 둘지 스스로 관리할 수 있어요 — 이후 서빙하거나, 첨부하거나, 워크플로우의 다음 단계로 넘기면 돼요.

자주 묻는 질문

API 호출 한 번으로 배포하세요

무료 키를 발급받고 5분 안에 첫 호출을 완료해보세요.