Sora 2 Pro API

Sora 2 Pro API 통합

예측 가능한 폴링과 크레딧 제어로 텍스트-투-비디오, 이미지-투-비디오, 스토리보드 워크플로우를 구축하세요.

Sora 2 Pro API가 제공하는 것

프로덕션 준비된 Sora 2 Pro 파이프라인을 시작하는 데 필요한 모든 것.

5가지 모델 변형

품질과 비용에 따라 sora-2 텍스트/이미지 또는 sora-2-pro 텍스트/이미지/스토리보드를 선택하세요.

스토리보드 지원

shots[]와 샷별 지속 시간으로 멀티샷 내러티브를 정의하세요.

통합 응답

모든 엔드포인트는 오류 시 HTTP 상태가 200이어도 code/message/data를 반환합니다.

인증 및 기본 URL

기본 URL: https://freesoragenerator.com. API 키 또는 로그인된 세션 쿠키로 인증하세요.

  • Authorization: Bearer [TOKEN] (API 키 sk- 또는 JWT), 또는 세션 쿠키를 전송하세요.
  • POST 본문과 함께 Content-Type: application/json을 전송하세요.
  • 대부분의 오류는 여전히 HTTP 200을 반환합니다; 항상 code 필드를 확인하세요.

핵심 엔드포인트

/sora-pro로 작업을 생성한 다음 check-result로 상태를 폴링하세요.

생성 작업 만들기

입력 검증, 크레딧 차감, 작업 생성 후 taskId를 반환합니다.

메서드: POST경로: /api/v1/video/sora-pro

페이로드 매개변수

  • 필수. sora-2-text-to-video, sora-2-image-to-video, sora-2-pro-text-to-video, sora-2-pro-image-to-video, sora-2-pro-storyboard 중 하나.
  • 조건부. sora-2-pro-storyboard를 제외한 모든 모델에 필수.
  • 조건부. data:image/png;base64,...와 같은 Base64 데이터 URL. imageUrl이 없는 경우 이미지-투-비디오에 필수.
  • 조건부. imageData가 제공되지 않을 때 사용되는 공개 이미지 URL.
  • 선택 사항. portrait 또는 landscape. 기본값: landscape.
  • 선택 사항. 10, 15 또는 25 (스토리보드 전용). 기본값은 모델에 따라 다릅니다.
  • 선택 사항. standard 또는 high. Pro 텍스트/이미지 모델 전용.
  • 선택 사항. 비스토리보드 모델에서 워터마크 제거. 기본값: true.
  • 조건부. sora-2-pro-storyboard에 필수. '{ Scene, duration }' 배열.

참고

  • 둘 다 제공된 경우 imageData가 imageUrl보다 우선합니다.
  • prompt는 스토리보드에서 선택 사항이며 제공자에게 전송되지 않습니다; 콘텐츠에는 shots를 사용하세요.
  • nFrames는 모델별 허용 값으로 정규화됩니다.
  • removeWatermark는 비스토리보드 모델에서 기본값이 true입니다.
  • shots에는 Scene(대문자 S)과 duration > 0이 포함되어야 합니다.

샘플 요청

텍스트-투-비디오
curl -X POST https://freesoragenerator.com/api/v1/video/sora-pro \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sora-2-pro-text-to-video",
    "prompt": "A cinematic shot of a futuristic city at sunset.",
    "aspectRatio": "landscape",
    "nFrames": "10",
    "size": "high",
    "removeWatermark": true
  }'
이미지-투-비디오
curl -X POST https://freesoragenerator.com/api/v1/video/sora-pro \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sora-2-image-to-video",
    "prompt": "Turn this image into a dynamic 10s clip.",
    "imageUrl": "https://example.com/reference.png",
    "aspectRatio": "portrait",
    "nFrames": "10"
  }'
스토리보드
curl -X POST https://freesoragenerator.com/api/v1/video/sora-pro \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sora-2-pro-storyboard",
    "shots": [
      { "Scene": "Establishing shot of a city skyline at dusk", "duration": 5 },
      { "Scene": "Close-up of a runner splashing through puddles", "duration": 5 }
    ],
    "aspectRatio": "landscape",
    "nFrames": "10"
  }'

샘플 응답

{
  "code": 0,
  "message": "ok",
  "data": {
    "taskId": "281e5b0*********************f39b9"
  }
}

작업 상태 조회

taskId로 상태, 진행률, 결과 URL을 가져옵니다.

메서드: POST경로: /api/video-generations/check-result

페이로드 매개변수

  • 필수. 생성 시 반환된 taskId.

참고

  • 상태 값: pending | running | succeeded | failed | cancelled.
  • result_url과 result_urls는 준비되면 최종 비디오 링크를 반환합니다.

샘플 요청

curl -X POST https://freesoragenerator.com/api/video-generations/check-result \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "taskId": "281e5b0*********************f39b9"
  }'

샘플 응답

{
  "code": 0,
  "message": "Success",
  "data": {
    "status": "running",
    "progress": 35,
    "result_url": "https://your-domain.com/storage/videos/xxx.mp4",
    "result_urls": [
      "https://your-domain.com/storage/videos/xxx.mp4"
    ],
    "failure_reason": "",
    "error_message": null
  }
}

사용자 크레딧 조회

작업 제출 전 현재 크레딧 잔액을 확인합니다.

메서드: POST경로: /api/get-user-credits

참고

  • 선택적 엔드포인트; 사전 확인에 유용합니다.
  • left_credits와 is_vip 플래그를 반환합니다.

샘플 요청

curl -X POST https://freesoragenerator.com/api/get-user-credits \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

샘플 응답

{
  "code": 0,
  "message": "ok",
  "data": {
    "left_credits": 120,
    "is_vip": false
  }
}

일반적인 오류 코드

오류는 응답 본문의 code 필드를 통해 표시됩니다.

  • 401: 인증되지 않음
  • 402: 크레딧 부족
  • -1: 잘못된 모델 매개변수
  • -1: 프롬프트가 필요합니다
  • -1: 이미지-투-비디오에는 이미지가 필요합니다
  • -1: 스토리보드에는 shots가 필요합니다
  • -1: 이미지 업로드 실패
  • -1: 비디오 생성 기록 생성 실패

크레딧 참조

크레딧은 모델, 크기, nFrames에 따라 다릅니다. 이 표를 기준으로 사용하세요.

모델매개변수크레딧
sora-2-text-to-video1020
sora-2-text-to-video1530
sora-2-image-to-video1020
sora-2-image-to-video1530
sora-2-pro-text-to-videostandard + 10375
sora-2-pro-text-to-videostandard + 15675
sora-2-pro-text-to-videohigh + 10825
sora-2-pro-text-to-videohigh + 151,575
sora-2-pro-image-to-videostandard + 10375
sora-2-pro-image-to-videostandard + 15675
sora-2-pro-image-to-videohigh + 10825
sora-2-pro-image-to-videohigh + 151,575
sora-2-pro-storyboard10375
sora-2-pro-storyboard15675
sora-2-pro-storyboard25675

1. 작업 생성

모델과 페이로드로 POST /api/v1/video/sora-pro를 호출합니다.

2. 진행 상황 추적

상태가 succeeded 또는 failed가 될 때까지 /api/video-generations/check-result를 폴링합니다.

3. 크레딧 확인

대량 배치 제출 전에 선택적으로 /api/get-user-credits를 호출합니다.

자주 묻는 질문

API 키 또는 세션 쿠키를 사용할 수 있나요?

네. Authorization: Bearer [TOKEN] (API 키 또는 JWT) 또는 로그인된 세션 쿠키를 전송하세요.

스토리보드 샷을 어떻게 포맷하나요?

shots를 '{ Scene, duration }' 배열로 제공하세요. Scene은 대문자이고 duration은 초 단위입니다.

왜 모델마다 크레딧이 다른가요?

크레딧은 모든 모델에서 nFrames에 따라 확장됩니다; Pro 모델은 크기에 따라서도 다릅니다.

유용한 리소스

Sora 2 Pro API 시작하기

API 키를 생성하고 오늘 첫 번째 Sora 2 Pro 워크플로우를 시작하세요.