跳转到主要内容

原始 HTTP 快速入门

当你需要直接的 HTTP 示例时,请使用本指南。 如果你在 Node.js 或 Bun 中构建,请改为从 Node.js SDK quickstart 开始。

1. 创建上传目标

curl -X POST https://api.youka.io/zh/api/v1/uploads \
  -H "Authorization: Bearer yk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "filename": "song.mp3",
    "contentType": "audio/mpeg",
    "contentLength": 12345678
  }'
将文件字节上传到返回的 uploadUrl

2. 创建项目

curl -X POST https://api.youka.io/zh/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. 轮询任务

curl https://api.youka.io/zh/api/v1/tasks/task_123 \
  -H "Authorization: Bearer yk_..."
当任务进入终态时,它的 output 会包含本次操作的关键结果 ID。

4. 读取项目状态

curl https://api.youka.io/zh/api/v1/projects/proj_123 \
  -H "Authorization: Bearer yk_..."
这会返回长期存在的项目状态,包括 stems、对齐结果、导出项,以及当前启用的项目设置。

5. 创建导出

curl -X POST https://api.youka.io/zh/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"
  }'
然后轮询返回的任务,或直接读取导出项:
curl https://api.youka.io/zh/api/v1/exports/export_123 \
  -H "Authorization: Bearer yk_..."