프로덕션 REST API · v1

YTSave로 다운로드 생성

공용 미디어 URL을 해석하고 정확한 형식을 선택하고 비동기 작업을 생성한 다음 서명된 결과를 사용자에게 전달합니다. 동일한 경계형 프로덕션 파이프라인이 YTSave 웹사이트를 구동합니다.

YTSaveClientHTTPS를 통한 JSON비동기 작업범위가 지정된 자격 증명
01

빠른 시작

YTSave는 먼저 지원 활성화된 자격 증명을 식별하여 API 호스트를 처리합니다. 이어서 할당된 테넌트 엔드포인트를 따르며 서버 전용 호출 경로를 표시 상태로 유지합니다.

임대자 URLhttps://ytsave.app
인증X-API-Key: ys_live_…
클라이언트 프로필YTSaveClient
API 버전v1
# Available only after support activation
export YTSAVE_API_KEY="issued-after-review"

curl -X POST https://ytsave.app/v1/resolve \
  -H "X-API-Key: $YTSAVE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://www.youtube.com/watch?v=VIDEO_ID"}'

자격 증명 안전성을 설명하기 위해, YTSave는 서버 측 비밀 저장소를 클라이언트 번들 내장과 분리합니다. 증거 기록은 공개 로그나 저장소에 별도의 위치를 부여하지 않습니다.

02

링크 해결하기

YTSave는 Resolve 작업을 처리할 때 먼저 소스 감지를 식별합니다. 그 다음 제출된 URL 하나에서 형식을 따르며, 발명된 출력은 보기에 포함하지 않습니다.

메시지/v1/resolve범위: 해결
필드종류필수설명
urlHTTPS URL분석할 공개 또는 승인된 미디어 페이지.
tenant문자열할당된 테넌트 도메인. 일반적으로 생략됩니다.
{
  "success": true,
  "platform": "youtube",
  "title": "Example video",
  "formats": [
    {"id":"18","type":"video","quality":"360p","container":"mp4"}
  ],
  "cached": false
}

형식 식별자를 설명하기 위해, YTSave는 반환된 값을 링크별 가용성과 변경 없이 분리합니다. 증거 기록은 추측된 품질 레이블에 별도의 위치를 부여하지 않습니다.

03

다운로드 작업 만들기 및 추적

작업 생성의 경우, YTSave는 비동기 준비로 시작합니다. 그 증거 기록은 짧은 HTTP 요청과 짝을 이루며 제한된 작업자 실행으로 끝납니다.

메시지/v1/jobs범위 : 일자리
필드종류필수설명
urlHTTPS URL해결하기 위해 제출한 동일한 정규화된 소스.
format_id문자열해결 응답에서 정확한 ID.
tenant문자열할당된 테넌트 도메인. 일반적으로 생략됩니다.
curl -X POST https://ytsave.app/v1/jobs \
  -H "X-API-Key: $YTSAVE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://www.youtube.com/watch?v=VIDEO_ID","format_id":"18"}'
1202 승인됨저장 job_id.
2투표 상태GET /v1/jobs/{job_id} 같은 키로 열어야 합니다.
3준비서명된 다운로드 URL을 엽니다.
상태의미클라이언트 동작
queued경계가 있는 대기열에 허용됨.백오프로 다시 폴링합니다.
extracting소스 메타데이터 또는 경로를 새로 고침합니다.폴링을 계속합니다.
processing다운로드, 리믹스 또는 병합.서버 진행 상황을 표시합니다.
ready서명된 다운로드가 가능합니다.URL을 사용자에게 보냅니다.
failed터미널 구조화 오류.읽기 error_code. 권장되는 경우에만 다시 시도하십시오.
expired임시 출력이 제거되었습니다.새 작업을 만듭니다.
curl https://ytsave.app/v1/jobs/JOB_ID \
  -H "X-API-Key: $YTSAVE_API_KEY"

YTSave는 Job 폴링을 쉽게 스캔할 수 있도록 합니다.페이지는 1초의 초기 대기로 시작하여 캡이 걸린 백오프로 이동하고 임시 서명된 전달을 명확하게 표시합니다.

04

예측 가능한 오류

Error 계약의 경우 YTSave는 지원 요청 ID 전에 하나의 비 2xx 봉투를 확인합니다. 이 증거 기록은 또한 예측 가능한 클라이언트 처리를 명확하게합니다.

{
  "success": false,
  "error": {
    "code": "RATE_LIMITED",
    "category": "rate_limited",
    "message": "Too many requests. Please try again shortly.",
    "retryable": true,
    "details": {"retry_after_seconds": 20}
  },
  "request_id": "…"
}
HTTP전형적인 의미동작
400잘못된 URL, 본문 또는 사용할 수 없는 형식입니다.요청을 수정합니다. 형식에 대해 다시 해결합니다.
401누락, 잘못된, 만료 또는 잘못된 범위 키.서버 측 자격 증명을 확인합니다.
403테넌트 또는 소스 정책이 요청을 거부했습니다.정책을 우회하지 마십시오.지원에 문의하십시오.
404알 수 없거나 만료된 작업입니다.적절한 경우 새 작업을 만듭니다.
429요청 또는 활성 작업 제한에 도달했습니다.명예 retry_after_seconds.
503대기열/용량 또는 업스트림을 일시적으로 사용할 수 없습니다.지수 백오프 및 지터로 다시 시도합니다.
05

운영 계약

YTSave는 API 소비자와 상위 미디어 서비스를 보호하기 위해 승인 시마다 운영 할당량을 발행합니다.

YTSave는 탐색 전에 먼저 활성화를 식별하여 스키마 접근을 처리합니다. 그 후 할당된 인증을 따르며 문서화된 요청 형식을 계속 확인합니다. OpenAPI 참조

운영자 검토 액세스

API 키 요청하기

API 소비자, 월간 요청 추정치 및 지원되는 플랫폼 요구 사항을 문서화하십시오. YTSave는 한 번만 표시되는 키를 발급하기 전에 해결, 작업 제출 또는 둘 다가 정당한지 검토합니다.

API 액세스 요청 키는 테넌트 범위가 있고 취소 가능하며 연락처 양식을 통해 발급됩니다.익명 스크립트는 다운로더 작업을 실행할 수 없습니다.