> ## Documentation Index
> Fetch the complete documentation index at: https://docs.youka.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Raw HTTP Quickstart

> cURL을 사용해 파일을 업로드하고, 프로젝트를 생성하고, 작업을 폴링한 다음, 완료된 카라오케 출력물을 내보내세요.

# Raw HTTP Quickstart

직접적인 HTTP 예제가 필요할 때 이 가이드를 사용하세요.

Node.js 또는 Bun으로 개발 중이라면, 대신 [Node.js SDK quickstart](/ko/sdk)부터 시작하세요.

## 1. 업로드 대상 생성

```bash theme={null}
curl -X POST https://api.youka.io/ko/api/v1/uploads \
  -H "Authorization: Bearer yk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "filename": "song.mp3",
    "contentType": "audio/mpeg",
    "contentLength": 12345678
  }'
```

반환된 `uploadUrl`로 파일 바이트를 업로드하세요.

## 2. 프로젝트 생성

```bash theme={null}
curl -X POST https://api.youka.io/ko/api/v1/projects \
  -H "Authorization: Bearer yk_..." \
  -H "Idempotency-Key: create-project-song-1" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Artist - Song",
    "inputFileId": "file_123",
    "lyricsSource": {
      "type": "align",
      "lyrics": "First line\nSecond line\n...",
      "syncModel": "musicai-alignment",
      "language": "en"
    },
    "splitModel": "mdx23c"
  }'
```

## 3. 작업 폴링

```bash theme={null}
curl https://api.youka.io/ko/api/v1/tasks/task_123 \
  -H "Authorization: Bearer yk_..."
```

작업이 종료 상태(terminal)이 되면, `output`에 해당 작업의 핵심 결과 ID가 포함됩니다.

## 4. 프로젝트 상태 조회

```bash theme={null}
curl https://api.youka.io/ko/api/v1/projects/proj_123 \
  -H "Authorization: Bearer yk_..."
```

여기에는 stems, alignments, exports, 그리고 활성 프로젝트 설정을 포함한 장기 유지 프로젝트 상태가 반환됩니다.

## 5. 내보내기 생성

```bash theme={null}
curl -X POST https://api.youka.io/ko/api/v1/projects/proj_123/exports \
  -H "Authorization: Bearer yk_..." \
  -H "Idempotency-Key: export-song-1" \
  -H "Content-Type: application/json" \
  -d '{
    "resolution": "1080p",
    "quality": "high"
  }'
```

그다음 반환된 작업을 폴링하거나, 내보내기를 직접 조회하세요:

```bash theme={null}
curl https://api.youka.io/ko/api/v1/exports/export_123 \
  -H "Authorization: Bearer yk_..."
```
