BytePlus ModelArk  ·  Seedance 2.0  ·  통합 연동 가이드

Asset Library 완전 연동 가이드
— 실사 인물 관리 & API 레퍼런스

실사 인물·유명인 IP 이미지를 Seedance 2.0 레퍼런스로 활용하기 위한 정책 기준, 인증 체계, IAM 설정, Asset 등록·조회·참조 API, 오류 처리까지 하나로 정리한 통합 가이드입니다. 본 가이드의 Asset Library 연동은 Seedance 2.0(영상 생성) 기준입니다.

대상백엔드 / API 담당자 플랫폼BytePlus ModelArk 작성2026-07-30 버전v1.0

TL;DR3줄 요약

💡

Seedream 5.0 Pro / Lite의 t2i(Text-to-Image) 생성 이미지는 Asset Library 등록 없이 Seedance 2.0 레퍼런스로 직접 사용 가능합니다.

유명인 IP (Clearance 완료)는 직접 참조도 기술적으로 가능하지만, false block 최소화를 위해 Asset Library 등록 후 Asset ID 방식을 강력 권장합니다.

🔒

그 외 모든 실사 인물 이미지(i2i 생성, 3rd-party AI, 실제 사진 포함)는 Asset Library 등록이 필수이며, 미등록 시 Seedance 2.0 참조가 차단됩니다.


01레퍼런스 이미지 사용 정책

이미지 소스에 따라 Asset Library 등록 필요 여부가 결정됩니다. 아래 표를 기준으로 각 소스에 맞는 처리 경로를 구현하세요.

이미지 소스Asset Library 등록Seedance 2.0 참조비고
Seedream 5.0 Pro / Lite
t2i (Text-to-Image) 생성 이미지
불필요 직접 참조 BytePlus 내부 생성 이미지 — 별도 승인 절차 불필요
유명인 IP
Clearance (사전 승인) 완료된 경우
강력 권장 직접 가능 (비권장) 직접 참조 시 false block 발생 가능. Asset ID 방식 권장
Seedream 5.0 Pro / Lite
i2i (Image-to-Image) 생성 이미지
필수 등록 후만 가능 실제 인물 동일 정책 적용 ※ Seedream i2i 레퍼런스 사용 시 Asset Library 미지원 — BytePlus 별도 Approval 필요
3rd-party AI 생성 이미지
GPT Image 2, Nano Banana 등
필수 등록 후만 가능 실제 인물 동일 정책 적용
실제 인물 사진
촬영본, 스캔본 등 모든 실사 이미지
필수 등록 후만 가능 Clearance 완료 여부와 무관하게 등록 필요
🚫

Clearance 완료 ≠ 등록 면제: IP 사용 권한이 있더라도 실사 이미지는 Asset Library에 등록해야만 Seedance 2.0에서 참조할 수 있습니다. Clearance는 법적 사용 권한, 등록은 기술적 사용 요건입니다.

Seedream i2i — 유명인·실사 인물 차단 해제 방법 (BytePlus 공식 확인)
Asset Library는 Seedance 2.0 전용 기능으로, Seedream과는 연동되지 않습니다. Seedream i2i(5-0-pro, 5-0-lite, 4-5, 4-0)에서 유명인 또는 실사 인물 이미지를 레퍼런스로 사용할 경우 sensitive content 오류가 발생할 수 있습니다.

이 경우 Seedance와 동일한 별도 Approval 프로세스를 통해 제한 해제가 가능합니다. Asset Library 등록이 아닌 BytePlus에 직접 승인 요청을 해야 하며, 승인 완료 후 해당 프로젝트에서 유명인·실사 인물 이미지 레퍼런스 사용이 허용됩니다.
Asset 구분관리 API 조회등록·관리Seedance 사용
Created by me — Virtual Portrait 가능 생성·조회·수정·삭제 가능 지원
Created by me — Real-human Portrait 가능 실인증 그룹 생성 후 등록·관리 지원
Authorized to me — 다른 계정에서 승인 불가 조회·수정·삭제 불가 지원

Seedream 이미지 생성 모델 — 레퍼런스 이미지 지원 범위

레퍼런스 이미지 유형지원 여부비고
AI 생성 인물 이미지 가능 AI로 생성된 가상 인물 레퍼런스 이미지 사용 가능
실사 인물 이미지 가능 실제 인물 사진을 레퍼런스로 사용 가능
유명인 이미지 인물별 상이 인물에 따라 통과되는 경우와 차단되는 경우가 혼재. 차단 시 sensitive content 오류 발생
💡

Seedream 이미지 생성 모델은 Asset Library와 연동되지 않으며, 레퍼런스 이미지는 URL 또는 Base64로 직접 전달합니다. 유명인 이미지 차단 시 BytePlus 별도 Approval 프로세스를 통해 해제 요청이 가능합니다.


02두 종류의 인증 체계

Asset 관리 API와 Seedance 생성 API는 자격 증명과 엔드포인트가 완전히 다릅니다. 혼용하면 401 오류가 발생합니다.

구분자격 증명호출 엔드포인트용도
Asset 관리 API Access Key ID + Secret Access Key ark.ap-southeast-1.byteplusapi.com Asset Group·Asset 생성, 목록, 상세, 수정, 삭제
Seedance 생성 API ModelArk API Key ark.ap-southeast.bytepluses.com Endpoint 모델 호출, 영상 생성

Asset 관리 API는 HMAC-SHA256 V4 서명이 필요합니다. API Key Bearer 방식(Seedance용)과 혼동하지 마세요.

근거Real-human portrait library API reference Access Key 인증 및 Video generation API Bearer API Key

03사전 IAM 설정

Asset 관리 API 호출 전 BytePlus IAM에서 아래 설정을 완료해야 합니다. 현재 환경(digicap_test) 기준입니다.

항목확인된 값
IAM 사용자digicap_test
연결 정책Test_Asset
정책 유형Customer managed
프로젝트 제한digicap_test

연결된 정책 JSON

JSON — IAM Policy
{
  "Statement": [
    {
      "Effect":   "Allow",
      "Action":   ["ark:*Asset*"],
      "Resource": ["*"]
    }
  ]
}

IAM 설정 순서

1
IAM 사용자 선택User management → User에서 API 호출 사용자 선택
2
정책 연결Policy 탭 → Directly Add Policy에서 Asset 정책 연결
3
Action 확인ark:*Asset* 허용 및 Project limits 확인
4
AK/SK 발급Access Key 탭에서 ID & Secret 확인·발급
🔑
ArkFullAccess 필요 여부:
H5 실인증 링크 생성 계정ArkFullAccess 필요 (CreateVisualValidateSession 호출 시)
일반 고객 프로젝트ArkFullAccess 불필요
일반 Asset 조회·등록ark:*Asset* 범위면 충분
테스트 결과 (2026-07-30): ArkFullAccessdigicap_test 프로젝트 범위로 추가한 뒤 CreateVisualValidateSession 호출 성공. H5LinkBytedToken이 정상 반환되었으며, Callback URL과 Cloudflare Tunnel도 정상 동작 확인.

다중 인물 등록 테스트 성공: 같은 회사 관리 계정에서 두 명의 배우에 대해 각각 별도 H5 인증 세션을 발급하고, 인물별 별도 Asset Group에 각각 이미지를 등록하는 테스트가 완료되었습니다. Asset Group 하나에는 한 사람만 등록합니다.

회사 관리 계정 — 다중 배우 운영 모델

회사 관리 계정 하나를 Asset 사용자로 두고, 배우마다 별도의 H5 인증 세션을 발급합니다. 이것은 회사 계정이 그룹을 직접 생성하는 Created by me 흐름입니다. 배우가 별도 BytePlus 계정으로 QR에 로그인해 승인하는 Authorized to me 흐름과 구분하세요.

운영 모델 — 배우별 Group 구조
회사 관리 계정 / digicap_test 프로젝트
 ├─ 배우 A → CreateVisualValidateSession → H5Link (QR로 전달) → 인증 → Group A → 배우 A 이미지
 ├─ 배우 B → CreateVisualValidateSession → H5Link (QR로 전달) → 인증 → Group B → 배우 B 이미지
 └─ 배우 C → CreateVisualValidateSession → H5Link (QR로 전달) → 인증 → Group C → 배우 C 이미지

핵심 원칙
 • CreateVisualValidateSession 은 배우마다 별도 호출
 • BytedToken · GroupId 는 배우 식별자(DB)와 1:1 매핑
 • 모든 Group · Asset · Seedance Endpoint 에 동일 ProjectName 사용

04Asset Library 유형

BytePlus Asset Library는 가상 인물(AIGC)과 실사 인물(LivenessFace) 두 가지 GroupType을 운용합니다.

콘솔 표시명GroupType대상그룹 생성 방법
Virtual Portrait Asset AIGC 실제 자연인과 닮지 않은 가상 인물 Action=CreateAssetGroup
Portrait Assets (Real-human) LivenessFace 실인증 & 사용 승인을 완료한 실제 인물 콘솔 QR 또는 Action=CreateVisualValidateSession
🚫

우회 등록 금지: 실제 인물 자료를 AIGC 그룹으로 우회 등록하지 마세요. 실제 인물은 반드시 LivenessFace 인증 흐름을 거쳐야 합니다.


05레퍼런스 이미지 처리 플로우

영상 생성 요청 전 이미지 소스를 판별하고, 소스에 따라 직접 URL 전달 또는 Asset Library 등록 → Asset ID 전달로 분기합니다.

Step 1
레퍼런스 이미지 소스 판별

이미지가 Seedream 5.0 Pro/Lite t2i 생성물인지 확인합니다.

✓ t2i 생성 이미지

직접 URL 전달
Asset Library 등록 없이 생성된 이미지 URL을 image_url.url에 직접 전달합니다.

⚠ 그 외 모든 소스

Asset Library 등록 필요
아래 Step 2–4를 거쳐 발급된 Asset ID를 API에 전달합니다. 미등록 시 참조가 차단됩니다.

↓ (Asset Library 경로)
Step 2
Asset Group 확인 / 생성

인물별 Asset Group을 조회하거나 신규 생성합니다. 인물 1명 = Group 1개 원칙.

Step 3
Asset 등록 → Active 상태 대기 (폴링)

이미지를 Group에 등록 후 GetAsset 폴링으로 Active 상태를 확인합니다. Processing 상태에서는 Seedance에서 사용할 수 없습니다.

Step 4
Seedance 2.0 API 호출 시 Asset ID 전달

발급된 Asset ID를 asset://<Asset ID> 형식으로 영상 생성 요청의 레퍼런스 파라미터에 사용합니다.


06Asset 관리 API 공통 요청 설정

모든 Asset 관리 API는 동일한 엔드포인트에 Action 쿼리 파라미터로 기능을 지정하는 방식입니다. ?Action=ListAssets&Version=2024-01-01 형식을 사용합니다.

항목
Base URLhttps://ark.ap-southeast-1.byteplusapi.com
호출 방식POST /?Action=<ActionName>&Version=2024-01-01
Service / Regionark / ap-southeast-1
서명 방식HMAC-SHA256 V4 서명
Content-Typeapplication/json; charset=UTF-8
프로젝트 지정요청 Body의 ProjectName 필드로 전달
HTTP — 공통 요청 헤더 예시
POST /?Action=ListAssets&Version=2024-01-01 HTTP/1.1
Host:             ark.ap-southeast-1.byteplusapi.com
Content-Type:     application/json; charset=UTF-8
X-Date:          <UTC timestamp, e.g. 20260729T090000Z>
X-Content-Sha256: <SHA256 hex of request body>
Authorization:   HMAC-SHA256 Credential=<AK>/<date>/ap-southeast-1/ark/request, ...

전체 Action 목록

Asset Group 관리
POST
?Action=CreateAssetGroup
새 Asset Group 생성. GroupType(AIGC / LivenessFace) 및 이름·설명 전달
POST
?Action=ListAssetGroups
Group 목록 조회. 필터링·페이지네이션 지원
POST
?Action=GetAssetGroup
특정 Group 상세 조회
POST
?Action=UpdateAssetGroup
Group 이름·설명 수정
POST
?Action=DeleteAssetGroup
Group 삭제. 그룹 내 Asset이 모두 제거됩니다
Asset 관리
POST
?Action=CreateAsset
Asset 등록. 이미지 URL, AssetType, Group ID 전달. 완료 후 Asset ID 발급
POST
?Action=ListAssets
Asset 목록 조회. GroupType·Status 필터, 페이지네이션 지원
POST
?Action=GetAsset
Asset 단건 조회. 등록 상태(Processing / Active / Failed) 확인에 사용
POST
?Action=UpdateAsset
Asset 이름·설명 수정
POST
?Action=DeleteAsset
Asset 삭제. 삭제 후 해당 Asset ID는 Seedance에서 사용 불가
실인증 세션 (Real-human, ArkFullAccess 필요)
POST
?Action=CreateVisualValidateSession
H5 실인증 링크 생성. 생성된 URL을 사용자에게 전달하여 인증 완료
POST
?Action=GetVisualValidateResult
인증 결과 조회. 완료 시 LivenessFace GroupId 반환
근거Real-human portrait library API reference 각 Action 및 공통 파라미터

07Created by me — 조회 API

내 계정에서 생성한 Asset Group과 Asset을 조회합니다. Seedance 참조에 필요한 Asset ID를 여기서 확인합니다.

JSON — ListAssets 요청 예시
// POST /?Action=ListAssets&Version=2024-01-01
{
  "Filter": {
    "GroupType": "LivenessFace",
    "Statuses":  ["Active", "Processing"]
  },
  "PageNumber":  1,
  "PageSize":    100,
  "SortBy":      "GroupId",
  "SortOrder":   "Asc",
  "ProjectName": "digicap_test"
}
응답 필드설명
IdAsset ID — Seedance 참조 시 asset://<Id> 형식으로 사용
AssetTypeImage / Video / Audio
StatusActive (사용 가능) / Processing (처리 중) / Failed (처리 실패)
URLAsset 원본 URL
GroupId소속 Asset Group ID

08Asset 등록 절차

Virtual Portrait(AIGC)와 Real-human Portrait(LivenessFace)는 등록 절차가 다릅니다.

A. Virtual Portrait (가상 인물 — AIGC)

1
권리 확인실제 인물을 닮지 않은 가상 인물인지 확인
2
그룹 생성CreateAssetGroup
GroupType: AIGC
3
Asset 등록CreateAsset
Group ID·URL·AssetType 전달
4
상태 확인GetAsset 폴링
Active 확인 후 사용

B. Real-human Portrait (실사 인물 — LivenessFace)

1
인증 세션 생성CreateVisualValidateSession으로 H5 링크 생성
2
사용자 인증링크를 사용자에게 전달, 실인증 + 초상 사용 승인 완료
3
Group ID 취득GetVisualValidateResult로 LivenessFace GroupId 조회
4
Asset 등록 후 대기CreateAssetGetAsset 폴링 → Active 확인

회사 → 배우 H5 링크 / QR 전달 워크플로우

API 응답 필드는 H5Link입니다 (H5Url 아님). QR 이미지 자체를 반환하는 API는 공식 문서에 정의되어 있지 않습니다. QR이 필요하면 서버 또는 프런트엔드에서 H5Link를 QR 코드로 인코딩해 배우에게 전달합니다. 콘솔 QR 초대 기능과 API H5 세션은 별도입니다.
회사 서버
① CreateVisualValidateSession 호출

CallbackURL + ProjectName을 지정해 배우별 H5 인증 세션 생성. 응답의 H5Link를 DB에 세션 ID와 함께 저장.

회사 서버 / 프런트엔드
② H5Link → QR 코드 생성 후 배우에게 전달

H5Link URL을 QR 라이브러리(예: qrcode.js, python-qrcode)로 이미지로 변환합니다. QR 스캔 시 배우는 동일한 H5Link를 열게 됩니다. QR은 선택 사항 — 링크를 문자/이메일로 직접 전달해도 됩니다.

배우
③ QR 스캔(또는 링크 클릭) → 실인증 + 초상 사용 승인

배우가 H5 페이지에서 실인증을 완료하고 초상 사용에 동의합니다. 별도 BytePlus 계정 불필요.

회사 서버 (Callback)
④ Callback 수신 → resultCode=10000 + bytedToken 확인

설정된 CallbackURL로 인증 결과가 전달됩니다. resultCode=10000이면 성공. GetVisualValidateResultGroupId를 조회해 배우 DB에 저장합니다.

회사 서버
⑤ 해당 Group에 배우 이미지·영상·오디오 등록

CreateAsset으로 배우 레퍼런스를 Group에 등록합니다. 등록 후 GetAsset 폴링으로 Active 상태 확인.

H5 실인증 세션 API 예시

Step B-1 — CreateVisualValidateSession
// POST /?Action=CreateVisualValidateSession&Version=2024-01-01
{
  "ProjectName": "digicap_test",
  "CallbackURL": "https://your-platform.com/auth/callback"
  // ExpireTime 파라미터는 공식 문서에 정의되어 있지 않으므로 추가하지 않습니다
}

// 응답 — 실제 필드명은 H5Link (H5Url 아님)
{
  "SessionId":   "session-xxxxxxxxxxxx",
  "H5Link":      "https://validate.byteplus.com/liveness?session=...",  // 배우에게 전달하거나 QR로 변환
  "BytedToken":  "byted-xxxxxx"  // 공식 문서상 30분 유효
}
🔐

보안 주의: H5Link, BytedToken, V4 서명 헤더, AK/SK는 브라우저 로그나 QR 코드 데이터에 노출하지 마세요. QR 코드에는 H5Link URL만 인코딩합니다.

링크 유효 기간 및 QR 전달 방식:
CreateVisualValidateSession 요청에 공식 ExpireTime 파라미터는 없습니다 — 임의로 추가하지 마세요.
• API는 H5Link만 반환하며 QR 이미지 자체를 생성하는 API는 공식 문서에 없습니다. QR이 필요하면 플랫폼에서 직접 변환합니다.
BytedToken은 공식 문서상 30분 유효합니다.
• 콘솔 QR 초대 화면의 승인 기간 설정과 API H5 세션은 별도 기능입니다.
Step B-3 — GetVisualValidateResult
// POST /?Action=GetVisualValidateResult&Version=2024-01-01
{
  "SessionId":   "session-xxxxxxxxxxxx",
  "ProjectName": "digicap_test"
}

// 응답 — Status가 Completed이고 resultCode=10000일 때 GroupId 사용
{
  "Status":      "Completed",          // Pending | Completed | Failed
  "GroupId":     "grp-zzzzzzzzzzzzzzzz",// 인증된 LivenessFace Group ID → DB에 배우와 매핑
  "resultCode":  10000                  // 10000 = 인증 성공
}

Asset 등록 방법 — 콘솔 vs API

방식등록 방법비고
Model Playground 콘솔 로컬 이미지·영상 파일을 선택해 직접 업로드 PC 로컬 파일 지원. 소량 등록 시 편리
Asset 관리 API CreateAssetURL에 공개 접근 가능한 이미지·영상·오디오 URL 전달 Base64 미지원. 비공개 URL 불가. 자동화 등록에 사용

CreateAsset 요청 예시

Step B-4 / A-3 — CreateAsset
// POST /?Action=CreateAsset&Version=2024-01-01
{
  "GroupId":     "grp-zzzzzzzzzzzzzzzz",
  "Name":        "홍길동_정면샷_01",
  "AssetType":   "Image",
  "URL":         "https://your-cdn.example.com/portrait.jpg",  // 공개 접근 가능한 URL
  "ProjectName": "digicap_test"
}

// 응답
{
  "AssetId": "asset-yyyyyyyyyyyyyyyy",
  "Status":  "Processing"  // 비동기 처리 시작 — 아래 폴링 패턴으로 Active 대기
}

파일 형식 및 크기 제한

AssetType지원 형식주요 제한
Image jpeg · png · webp · bmp · tiff · gif · heic/heif 30 MB 미만  ·  가로/세로 300–6000 px  ·  종횡비 0.4–2.5
Video mp4 · mov 480p / 720p / 1080p  ·  2–15초  ·  50 MB 이하  ·  FPS 24–60
Audio wav · mp3 2–15초  ·  15 MB 이하

Active 상태 대기 — 폴링 패턴

CreateAsset 직후 Status: Processing 상태의 Asset은 Seedance 2.0에서 참조할 수 없습니다. 반드시 Active 확인 후 사용하세요. 처리 시간은 이미지 크기에 따라 수초~수십 초 소요됩니다.

Python — GetAsset 폴링 패턴
import time

def wait_for_active(asset_id, project_name,
                    max_attempts=20, interval_sec=3):
    """CreateAsset 후 Active 상태가 될 때까지 폴링."""
    for attempt in range(max_attempts):
        res = call_ark_api(
            action="GetAsset",
            body={"AssetId": asset_id, "ProjectName": project_name}
        )
        status = res["Asset"]["Status"]

        if status == "Active":
            return asset_id               # 사용 가능

        if status == "Failed":
            err = res["Asset"].get("FailReason", "unknown")
            raise RuntimeError(f"Asset processing failed: {err}")

        # Processing — 재시도
        time.sleep(interval_sec)

    raise TimeoutError(
        f"Asset {asset_id} did not become Active "
        f"after {max_attempts * interval_sec}s"
    )

# 사용 예
asset_id = create_asset(group_id, image_url)["AssetId"]
wait_for_active(asset_id, project_name="digicap_test")
# 이후 Seedance 호출에 asset_id 사용 가능
처리 상태 및 Moderation:
CreateAsset비동기 API이며 요청 1회에 Asset 1개를 등록합니다. 영상은 이미지보다 처리 시간이 더 걸릴 수 있습니다.
Moderation 기본값은 Content Pre-filter 검토를 사용합니다. Skip은 콘솔에서 허용된 경우에만 지정합니다.
Name은 최대 64자이며 ListAssets 검색용으로만 사용됩니다 (모델 추론에 영향 없음).
ProjectName은 대상 Group의 프로젝트명과 동일해야 합니다.
💡
실사 그룹 원칙: Asset Group 하나는 실제 인물 한 명에 대응합니다. 같은 인물의 추가 이미지·영상·오디오는 동일 Group에 CreateAsset으로 추가하며, 얼굴 일치 검사를 통과해야 합니다.

H5 세션 주의: 인증 실패 시 H5Link는 무효가 되며 다시 CreateVisualValidateSession을 호출해야 합니다. 업로드 자료에 여러 얼굴이 감지되거나 Group의 인물과 다른 얼굴이면 Asset 등록이 실패합니다. 공개 URL이 아닌 PC 로컬 경로나 비공개 URL은 CreateAssetURL 필드에 사용할 수 없습니다.

09주요 오류 케이스 & 대응

Asset Library 연동 시 자주 발생하는 오류 상황과 조치 방법입니다. 오류 발생 시 가장 먼저 아래 표를 참조하세요.

오류 상황원인조치 방법
Asset Status: Failed
얼굴 불일치 오류
동일 Group에 서로 다른 인물 이미지 등록 시도 인물 1명 = Group 1개 원칙 확인. 새 Group을 생성하여 등록
Asset Status: Failed
URL 접근 불가
이미지 URL이 비공개(private) 이거나 만료된 경우 공개 접근 가능한 CDN URL 또는 유효한 Pre-signed URL 사용
Seedance — false block
실사 이미지 직접 참조 시
미등록 실사·유명인 이미지를 URL로 직접 전달 Asset Library 등록 후 asset://<AssetId> 방식으로 전환
Seedream i2i — sensitive content 오류
유명인·실사 인물 레퍼런스 입력 시
Seedream은 Asset Library 미연동 — URL/Base64만 지원하므로 콘텐츠 필터 우회 불가 BytePlus 별도 Approval 프로세스 신청 필요. 승인 완료 후 해당 프로젝트에서 사용 가능 (BytePlus 공식 확인)
401 Unauthorized
인증 방식 혼용
Asset 관리 API에 API Key 사용, 또는 Seedance API에 AK/SK 사용 Asset 관리 API → AK/SK V4 서명, Seedance API → Bearer API Key
403 Permission Denied
IAM Action 미허용
IAM 정책에 해당 Action이 포함되지 않은 경우 IAM 정책에 ark:*Asset* 추가. H5 인증 시 ArkFullAccess 필요
중복 Group 생성
같은 인물 재인증 시도
동일 인물을 H5 인증으로 여러 번 등록하여 중복 Group 발생 GetVisualValidateResult로 기존 GroupId 재사용. 새 Asset만 추가 등록
Processing 상태에서 Seedance 호출
Asset 미완료 상태
CreateAsset 직후 Active 대기 없이 즉시 영상 생성 요청 GetAsset 폴링으로 Active 상태 확인 후 호출 (Section 08 폴링 패턴 참조)
Authorized to me Asset 조회 실패
관리 API 제한
다른 계정에서 승인된 Asset을 ListAssets 등으로 조회 시도 해당 Asset은 관리 API 조회 불가. Asset ID를 직접 전달받아 Seedance에서만 사용
🔍

오류 응답에는 ResponseMetadata.Error.CodeMessage 필드가 포함됩니다. 특정 오류 코드 목록은 API 레퍼런스 공식 문서의 Error Codes 섹션을 확인하세요.


10Authorized to me — 제한 사항

다른 계정에서 승인된 Asset은 관리 API로 조회·수정·삭제할 수 없지만, Seedance 2.0 생성 시 레퍼런스 입력으로는 사용 가능합니다.

항목공식 문서상 범위
Asset (Group) Management API 불가  다른 계정에서 승인한 Asset은 조회·수정·삭제할 수 없음
Seedance 2.0 생성 입력 지원  승인된 실사 인물 Asset을 레퍼런스 입력으로 사용 가능
근거Private real-human asset library guide → Asset (group) management 섹션 하단 Tip

QR 승인 Asset 사용 절차 (Authorized to me 흐름)

이 흐름은 배우가 별도 BytePlus 계정으로 QR에 로그인해 Asset을 직접 업로드하고 플랫폼 계정에 사용 권한을 승인하는 방식입니다. 회사 계정이 H5 세션을 발급하는 Created by me 흐름과 다릅니다.

배우
① 콘솔 QR 초대 스캔 → 자료 업로드

플랫폼 계정의 콘솔에서 생성한 QR 초대 링크를 배우에게 전달합니다. 배우가 자신의 BytePlus 계정으로 QR을 스캔해 자료를 직접 업로드합니다.

플랫폼 계정 (콘솔)
② ModelArk Playground → Real-human Asset Library → Accept

수신 대기 자료를 열고 Accept를 선택합니다. 수락 후 상태가 Active가 됩니다.

플랫폼 서버
③ Asset ID 확인 → Seedance에서 사용

콘솔 Asset 상세 페이지에서 Asset ID를 확인합니다. 이 Asset은 ListAssets 등 관리 API로는 조회할 수 없으며, API 영상 생성 시 asset://<asset_id>로 전달합니다.

관리 API 조회 불가: Authorized to me Asset의 Asset ID를 ListAssets·GetAsset으로 읽어오는 방법은 현재 공식 문서에 명시되어 있지 않습니다. API에서 Asset ID가 필요하다면 콘솔에서 직접 확인하거나 BytePlus 지원에 별도 조회 API 여부를 확인하세요.


11Seedance 2.0에서 Asset 참조

Asset ID는 content 배열의 미디어 URL 객체에 asset://<Asset ID> 형식으로 전달합니다. 프롬프트 텍스트에 넣는 것이 아닙니다.

미디어 유형Asset URI 위치role 값프롬프트 참조명
Imageimage_url.urlreference_imageImage 1, Image 2 …
Videovideo_url.urlreference_videoVideo 1
Audioaudio_url.urlreference_audioAudio 1
JSON — Seedance 2.0 영상 생성 (단일 레퍼런스)
POST /chat/completions
Authorization: Bearer {MODELARK_API_KEY}

{
  "model": "ep-20260710123019-wz6fj",
  "content": [
    {
      "type": "text",
      "text": "Image 1의 인물이 카메라를 바라보며 자연스럽게 인사한다."
    },
    {
      "type":       "image_url",
      "image_url": { "url": "asset://asset-yyyyyyyyyyyyyyyy" },
      "role":       "reference_image"
    }
  ],
  "generate_audio": true,
  "ratio":         "16:9",
  "duration":      5,
  "watermark":     false
}
JSON — Seedance 2.0 영상 생성 (복수 레퍼런스)
// 여러 레퍼런스를 content 배열에 순서대로 추가
// 프롬프트에서 "Image 1", "Image 2" 로 참조
{
  "model": "ep-20260710123019-wz6fj",
  "content": [
    {
      "type": "text",
      "text": "Image 1의 인물이 Image 2의 배경에서 걷고 있다."
    },
    {
      "type":       "image_url",
      "image_url": { "url": "asset://asset-person-id" },
      "role":       "reference_image"   // → Image 1
    },
    {
      "type":       "image_url",
      "image_url": { "url": "https://cdn.example.com/background.jpg" },
      "role":       "reference_image"   // → Image 2 (t2i 생성 이미지 — 직접 URL 가능)
    }
  ],
  "ratio": "16:9",
  "duration": 5
}
💡

t2i 생성 이미지는 asset:// 없이 HTTPS URL을 image_url.url에 직접 전달 가능합니다. 실사·유명인 IP 이미지는 반드시 asset:// 방식을 사용하세요.

근거Create a video generation task Asset ID 입력 형식 및 Seedance 2.0 series tutorial asset:// URI 예시

12공식 참고 문서

전체 파라미터 스키마, 오류 코드, 인증 방식은 아래 공식 BytePlus 문서를 참조하세요. 이 가이드와 내용이 다를 경우 공식 문서가 우선합니다.