작성자 주: Nano Banana로 캐릭터를 정하고, Seedance로 그린 스크린 동작을 만든 뒤, dsh-pet 소재 파이프라인으로 배경을 투명하게 제거하면 나만의 애니메이션 데스크톱 펫을 세 단계로 만들 수 있어요.
GitHub 오픈 소스 프로젝트 dsh-pet은 2026년 10월 22일 기준 별 3,367개를 받았어요. 이 프로젝트를 이용하면 투명 배경의 SD 블루 헤어 메이드 캐릭터가 DeepSeek Harness(DSH)와 데스크톱에 살게 돼요. 대기하며 숨 쉬고, 무작위로 졸고, 클릭하면 통통 튀고, 드래그해서 던지면 날아가죠. 100개가 넘는 애니메이션이 매끄럽게 이어져요. 이걸 본 많은 사람이 가장 먼저 떠올리는 질문은 이거예요. “내 캐릭터로 바꿀 수도 있을까?” 이 글에서는 Nano Banana로 캐릭터 정하기 + Seedance로 그린 스크린 동작 만들기 + 소재 파이프라인으로 투명 배경 만들기의 세 단계 과정을 소개할게요.
먼저 짚고 넘어갈게요. 이건 원작자가 사용한 방식이 아니에요. dsh-pet README에 따르면, 원작 소재는 더우바오로 생성했고 모든 동작은 Premiere에서 수작업으로 크로마키 처리했어요. README에는 Nano Banana가 언급되지 않고, 구체적인 동영상 모델 버전도 적혀 있지 않아요. 원작자는 이 모델들을 사용하지 않았어요. Seedance는 더우바오와 같은 바이트댄스 제품이라 원작자의 방식과 좀 더 가까운 경로지만, 원작자가 Seedance를 사용했다고 단정할 수는 없어요. 이 글에서 소개하는 조합은 대체 방법으로 제안하는 것이며, ‘권장’으로 표시한 부분은 충분한 실측을 거치지 않았어요.
- 목표: 직접 디자인한 캐릭터를 투명 배경 데스크톱 펫으로 만들고, DSH와 데스크톱에서 애니메이션을 실행해요
- 소요 시간: 대략 반나절이에요. Seedance에서 10초짜리 동영상을 만드는 데 걸리는 시간은 실제 환경에 따라 달라요. 대부분의 시간은 결과물을 고르고 다시 생성하는 데 들어가요
- 준비물: DSH 데스크톱 앱, APIYI 토큰, Chrome / Edge / Firefox. 크로마키 단계에는 Python 3와 ffmpeg도 필요해요
- 난이도: 중하예요. 이미지·동영상 생성, 플러그인 설치, 크기 조절은 모두 그래픽 인터페이스에서 할 수 있고, 크로마키 단계에서만 명령줄을 사용해요
핵심 가치: 작업을 마치면 직접 만든 캐릭터의 투명 배경 WebM 애니메이션과 설정 파일이 담긴 펫 팩을 얻을 수 있어요. 이 팩을 dsh-pet에 설치하면 캐릭터가 브라우저와 데스크톱에서 대기하고, 몸을 돌리고, 걸어 다녀요. 이미지와 동영상 생성은 같은 APIYI(apiyi.com) 키 하나로 진행할 수 있어요.

먼저 원본 버전인 고래 메이드부터 살펴볼게요.

클릭 반응: 기쁘게 뛰어오르기. 출처: github.com/PC2005-cloud/dsh-pet, 소재 상업적 이용 금지

고래가 거품을 뿜어요. 출처: github.com/PC2005-cloud/dsh-pet, 소재 상업적 이용 금지
AI 데스크톱 펫 핵심 요소: 도구와 모델 3단계
dsh-pet은 프롬프트(AI 애니메이션을 생성하는 레시피), 에셋 생성 파이프라인(원본 영상을 투명 애니메이션으로 변환하는 과정), 플러그인(DSH에서 실행되는 펫)으로 구성된 ‘3종 세트’를 지향해요. 이 글에서는 앞부분의 생성 도구만 교체하고, 프롬프트 레시피와 에셋 파이프라인, 플러그인은 저장소에 있는 그대로 사용해요. Seedance는 바이트댄스가 만든 모델로, APIYI 동영상 모델 목록에서 ‘인기 상품’으로 표시돼 있어요.
| 단계 | 도구(그래픽 인터페이스 우선) | 모델 |
|---|---|---|
| ① 캐릭터 설정 | APIYI 이미지 마스터 | nano-banana-2 |
| ② 그린스크린 동작 생성(시험 실행) | iCover AI 브라우저 페이지 | doubao-seedance-2-0-mini-260615 |
| ② 그린스크린 동작 생성(고급) | iCover AI 브라우저 페이지 | doubao-seedance-2-0-fast-260128 |
| ② 그린스크린 동작 생성(최종) | iCover AI 브라우저 페이지 | doubao-seedance-2-0-260128(표준) |
| ② 그린스크린 동작 생성(차세대) | iCover AI 브라우저 페이지 | doubao-seedance-2-5-260628 |
| ③ 배경 제거 및 펫 적용 | 저장소의 에셋 파이프라인 스크립트 / Premiere + DSH 플러그인 관리 | 없음 |
시험 실행에는 mini, 고급 작업에는 fast, 최종 작업에는 표준 버전을 사용하고, 차세대 모델은 2.5예요. 이보다 더 가벼운 시험용 설정도 있어요. mini, 480p, 4초예요.
왜 그린스크린과 고정된 위치가 꼭 필요할까요? 에셋 파이프라인은 초록색을 이용해 색상 키잉을 하고, 동일한 위치에 캐릭터를 세워 정규화해요. 영상 중 한 장면이라도 캐릭터 위치가 조금 어긋나면 동작을 바꿀 때 펫이 눈에 띄게 ‘점프’해요. 그래서 ①단계의 그린스크린 정면 스탠딩 이미지와 ②단계 프롬프트 접두부에서 위치를 반드시 일관되게 유지해야 해요.

AI 데스크톱 펫 3단계 빠른 시작: 캐릭터 설정 → 그린 스크린 동작 → 투명 데스크톱 펫
1단계: Nano Banana로 캐릭터 설정하기(캐릭터 설정 이미지 + 그린 스크린 정면 스탠딩 이미지)
먼저 APIYI apiyi.com 관리 화면에서 토큰을 새로 만들고, 과금 방식은 ‘사용량 우선’을 선택하세요. 그룹은 기본 그룹과 SeeDance2 그룹을 모두 선택해야 해요. SeeDance2 그룹을 선택하지 않으면 Seedance를 호출할 때 ‘사용 가능한 채널이 없습니다’라는 오류가 표시돼요. 하나의 토큰에 기본 그룹과 SeeDance2 그룹을 모두 연결하면 Nano Banana와 함께 사용할 수 있어요. 그런 다음 APIYI 이미지 마스터 imagen.apiyi.com을 열고 이 Key를 저장한 뒤, 모델로 nano-banana-2를 선택하세요. 버튼 이름은 페이지에 실제로 표시되는 명칭을 기준으로 하면 돼요.
이 단계에서는 이미지 두 장을 만들어요. 아래 내용은 편집 제안이에요.
- 첫 번째: 캐릭터 설정 이미지. 프롬프트에 캐릭터의 외형(머리 색, 의상, 상징적인 액세서리)을 명확히 적고, 같은 캐릭터의 정면·측면·후면 모습을 나란히 배치해 달라고 요청하세요. 배경은 단색으로 지정하면 돼요. 여러 장을 생성한 다음 가장 마음에 드는 외형을 골라 확정하세요.
- 두 번째: 16:9 그린 스크린 정면 스탠딩 이미지. 설정 이미지를 참조 이미지로 업로드하고 화면 비율은 16:9로 선택하세요. 프롬프트에는 ‘캐릭터 한 명이 정면을 보고 바르게 서 있으며, 두 팔은 자연스럽게 아래로 내린 모습, 배경은 단색 녹색
#00FF00, 그림자·바닥·소품 없음, 캐릭터는 화면 중앙에 배치’라고 요청하세요. - 디자인 참고 사항(권장): 캐릭터 의상에는 녹색을 되도록 사용하지 마세요. 크로마키 작업을 할 때 의상도 배경과 함께 제거될 수 있어요.
1단계 완료 기준:
- 그린 스크린 이미지의 배경이 순수한
#00FF00이어야 해요. 시스템 색상 선택 도구로 배경을 여러 곳 찍어 색상 값이 모두 같고, 그라데이션이나 그림자가 없는지 확인하세요. - 캐릭터 머리 꼭대기는 화면 높이의 약 20%, 발끝은 약 85% 지점에 오도록 하고, 캐릭터의 좌우 끝은 화면 너비의 약 25%와 75% 지점에 오도록 배치하세요.
- 화면에는 정면으로 서 있는 캐릭터 한 명만 있어야 해요. 사방에 최소 10%의 여백을 두고, 삐죽 나온 머리카락이나 꼬리, 치맛자락이 잘리지 않도록 하세요.
모델이 순수한 #00FF00 배경을 생성하지 않으면 이미지 마스터에서 해당 이미지를 바탕으로 추가 편집을 진행하며 ‘배경을 순수한 #00FF00으로 변경해 주세요’라고 요청할 수 있어요. 한 번에 원하는 결과를 얻을 수 있는지는 직접 테스트하지 않았으므로, 완료 기준에 따라 판단하세요.
②단계: Seedance로 그린스크린 동작 영상 만들기
영상은 iCover AI(icover.ai)에서 만들 수 있어요. 브라우저에서 Seedance를 선택하고 이미지를 업로드한 뒤 프롬프트를 붙여넣고 길이와 해상도를 선택하면 돼요. 코드를 작성할 필요는 없어요. Seedance의 핵심 기능은 첫 프레임과 마지막 프레임을 지정하는 거예요. 이미지 2장을 업로드해 각각 첫 프레임과 마지막 프레임으로 설정합니다(role은 first_frame / last_frame). ①단계에서 만든 그린스크린 정면 서 있는 이미지를 첫 프레임과 마지막 프레임에 모두 업로드하면, 영상의 시작과 끝이 같은 자세로 고정돼 애니메이션을 반복 재생할 때 자연스럽게 이어져요. 페이지에 첫 프레임과 마지막 프레임 업로드 칸이 따로 있다면, 두 곳에 모두 같은 정면 서 있는 이미지를 업로드하세요. 버튼 이름은 페이지 표기를 따르면 됩니다.
모델을 선택하고 매개변수를 입력할 때는 다음 사항을 기억하세요.
- 모델: mini는 doubao-seedance-2-0-mini-260615, fast는 doubao-seedance-2-0-fast-260128, 표준 버전은 doubao-seedance-2-0-260128, 차세대 버전은 doubao-seedance-2-5-260628입니다.
- 세 가지 모드는 함께 사용할 수 없어요: 첫 프레임과 마지막 프레임 지정, 첫 프레임만 업로드, 여러 참조 이미지 사용 중 하나만 선택할 수 있어요. 여기서는 첫 프레임과 마지막 프레임을 지정합니다.
- 화면 비율은 첫 프레임 이미지에 맞춰져요: 따라서 ①단계에서 만든 정면 서 있는 이미지는 반드시 16:9여야 해요. 2.5에서 첫 프레임과 마지막 프레임을 지정할 때는 화면 비율을
adaptive로 설정해야 합니다. 비율을 고정하면 400 오류가 발생해요. - 길이: 2.0은 4~15초를 지원하며, 기존 레시피의 10초 설정을 그대로 사용하면 돼요. 길이를 지정하지 않으면 2.0은 기본값인 5초로 생성하고, 2.5는 모델이 길이를 자동으로 선택해 예상보다 두 배 길어질 수도 있어요. 따라서 10초를 명시적으로 선택하세요.
- 해상도: 480p, 720p, 1080p를 선택할 수 있어요. mini와 fast는 최대 720p까지 지원합니다. 데스크톱 펫의 재생 크기는 640×360이므로, 먼저 480p로 테스트하고 최종본은 720p로 만드는 것을 권장해요(편집자 제안).
- 오디오: 기본적으로 오디오가 포함됩니다. 데스크톱 펫에는 필요하지 않으니
generate_audio를false로 설정해 끄세요.
프롬프트는 dsh-pet 저장소의 prompts/桌面宠物 10 秒动作提示词.md에 있는 레시피를 참고해 작성하세요. 각 구간에 공통 프리픽스를 붙인 다음, 동작을 초 단위로 나눠 설명하면 됩니다. 공통 프리픽스의 조건은 아래 표에서 빠르게 확인할 수 있어요.
| 조건 | 레시피 요구사항 | 지키지 않을 경우 |
|---|---|---|
| 위치 | 머리 꼭대기는 약 20%, 발바닥은 약 85%, 좌우 위치는 약 25%와 75%로 설정하고 모든 구간에서 비율을 완전히 동일하게 유지 | 동작이 바뀔 때 펫의 위치가 튀어요 |
| 그린스크린 | 16:9, 단색 #00FF00, 그림자·잡동사니·그라데이션·테두리 없이 구성하고 모든 구간의 색상 값을 동일하게 유지 |
크로마키 가장자리에 잔상이 남거나 잘못 제거돼요 |
| 안전 여백 | 신체 부위와 모든 소품·효과를 화면 네 가장자리에서 10% 이상 떨어뜨려 배치 | 애니메이션 가장자리가 잘려요 |
| 기준점 | 두 발이 화면 정중앙의 같은 지점에 고정되도록 하고, 제자리에서 몸을 돌리거나 점프하는 동작만 허용 | 캐릭터가 떠돌고, 정규화 후 위치가 어긋나요 |
| 첫 프레임과 마지막 프레임 일치 | 첫 프레임과 마지막 프레임에 같은 표준 정면 서 있는 이미지를 사용하고, 마지막 1초 안에 완전히 같은 자세로 돌아오게 설정 | 반복 재생이 매끄럽게 이어지지 않아요 |
| 소품: 없음→등장→없음 | 첫 프레임에는 소품이 없고, 마법 동작으로 소품이 나타난 뒤 끝나기 전에 빛의 점으로 변해 사라지게 설정 | 첫 프레임이나 마지막 프레임에 소품이 남아요 |
| 큰 물체 | 큰 소품은 캐릭터 바로 앞이나 위쪽에 배치하세요. 공간이 부족하면 SD 스타일로 축소하고, 캐릭터 위치는 절대 옮기지 마세요 | 캐릭터가 원래 위치에서 밀려나요 |
기존 레시피의 각 구간은 10초로 구성돼 있어요. Seedance 2.0이 지원하는 4~15초 범위에 들어가므로 초 단위 설명은 원래대로 사용하고, 다시 조정할 필요는 없습니다.

원본 고래 아가씨의 대기 모션이에요. 캐릭터 위치가 표준 설정입니다. 출처: github.com/PC2005-cloud/dsh-pet, 소재의 상업적 이용 금지
위치 설정의 핵심:
- 머리 꼭대기는 화면 높이의 약 20%, 발바닥은 약 85% 지점에 배치해요.
- 좌우 가장자리는 각각 약 25%, 75% 지점에 맞춰요.
- 사방에 10% 정도 여백을 남겨요.
- 배경은 단색
#00FF00으로 설정해요. - 두 발이 닿는 위치는 계속 고정해요.
소품이 ‘없음→있음→없음’으로 바뀌는 장면은 실수하기 쉬워요. 원본에서는 어떻게 처리했는지 확인해 보세요.

루빅스 큐브가 갑자기 나타나고, 가지고 놀다가 사라져요. 시작과 끝은 모두 깔끔한 기본 자세입니다. 출처: github.com/PC2005-cloud/dsh-pet, 소재의 상업적 이용 금지
Seedance를 사용할 때는 몇 가지 실수하기 쉬운 부분이 있어요. 아래 표는 APIYI의 Seedance 문서를 바탕으로 정리했어요.
| 주의할 점 | 문서 내용 | 해결 방법 |
|---|---|---|
| SeeDance2 그룹을 선택하지 않음 | ‘이 모델을 사용할 수 있는 채널이 없습니다’ 오류가 표시돼요. | 토큰에서 기본 그룹과 SeeDance2 그룹을 모두 선택하고, 요금은 종량제 우선으로 설정해요. |
| 길이를 명시적으로 설정하지 않음 | 길이를 지정하지 않으면 2.0은 기본값 5초, 2.5는 길이를 자동으로 선택해 예상보다 두 배 길어질 수 있어요. | 길이를 10초로 직접 설정해요. |
| 2.5에서 시작·끝 프레임 비율을 고정함 | 화면 비율은 반드시 adaptive여야 해요. 그렇지 않으면 400 오류가 발생해요. | 시작·끝 프레임 모드에서는 화면 비율을 adaptive로 설정해요. |
| 직접 다운로드 링크가 24시간 후 만료됨 | 생성 결과의 다운로드 링크는 24시간 동안만 유효해요. | 상태가 succeeded로 바뀌면 바로 다운로드해요. |
| 오디오가 기본으로 포함됨 | 끄지 않으면 사용하지 않을 오디오 트랙이 추가돼요. | 필요하지 않으면 generate_audio를 false로 설정해요. |
| mini / fast에서 1080p를 선택함 | 두 모델의 최대 해상도는 720p예요. 오류가 발생하지만 요금은 청구되지 않아요. | 1080p가 필요하면 표준 버전이나 2.5를 사용해요. |
| 모드를 혼용함 | 시작·끝 프레임, 첫 프레임, 다중 참조 이미지 모드는 서로 함께 사용할 수 없어요. | 한 번에 하나의 모드만 사용해요. 이 글에서는 시작·끝 프레임 모드를 사용합니다. |
그 밖에 알아둘 점은 두 가지예요. 작업이 실패하면 다시 시도할 수 있어요. 2.5에서 출력되는 mov 파일에는 투명 채널이 없으므로, ③ 단계에서 배경을 제거해야 해요.
추천 작업 순서는 다음과 같아요. 먼저 mini, 480p, 10초 설정으로 ‘대기’ 영상을 생성해 시작과 끝의 자세가 같고 캐릭터 위치가 움직이지 않는지 확인해요. 그런 다음 기본 동작 12개를 모두 생성하고, 각 동작은 두 번씩 만들어 가장 좋은 결과를 골라요. 마지막으로 마음에 드는 프롬프트를 720p나 표준 버전으로 설정해 최종 소재를 생성하면 돼요.
② 단계 검수 기준:
- 동영상의 첫 프레임과 마지막 프레임이 모두 정면 기본 자세이고, 전달한 시작·끝 프레임 이미지의 자세와 같아요.
- 배경은 처음부터 끝까지 단색 녹색이고, 캐릭터는 좌우로 움직이지 않으며, 소품은 시작과 끝에 모두 화면에 나타나지 않아요.
- 동작마다 mp4 파일로 저장하고,
待机.mp4처럼 동작 이름으로 파일명을 지정해요.
🚀 빠른 시작 팁: ① 단계와 ② 단계는 토큰 하나로 진행할 수 있어요. 기본 그룹과 SeeDance2 그룹을 함께 선택하면 됩니다. 나중에 그래픽 인터페이스에서 스크립트를 이용한 일괄 생성으로 전환하려면 OpenAI 호환 인터페이스의 base_url에
https://api.apiyi.com/v1을 입력하세요. Seedance 스크립트는 같은 도메인의POST /seedance/api/v3/contents/generations/tasks를 사용해야 해요./v1/videos는 해상도 설정이 모두 전달되지 않으니 사용하지 마세요.
③단계: 투명 webm으로 만들고 dsh-pet에 넣기
준비: 플러그인 설치(그래픽 인터페이스). DSH 데스크톱 앱을 열고 「플러그인 관리」 페이지로 이동해 설치 입력란에 dsh-pet을 입력한 뒤 설치하세요. 설치가 끝나면 데스크톱 앱을 반드시 다시 열어야 적용됩니다. 펫은 기본적으로 브라우저(오른쪽 위)와 데스크톱에 동시에 표시됩니다. 컴퓨터에 Electron이 없으면 플러그인이 백그라운드에서 자동으로 다운로드하며, 수십 초에서 몇 분 정도 걸릴 수 있어요. 화면에 펫이 두 마리 보이는 건 정상입니다. 설정 페이지의 「표시 위치」 드롭다운에서 브라우저만 또는 데스크톱만 표시하도록 선택하면 돼요.

설치가 끝나면 DeepSeek Harness 인터페이스에 고래 아가씨가 나타나요. 출처: github.com/PC2005-cloud/dsh-pet, 소재의 상업적 이용 금지
설치 후 할 수 있는 일: 원본 고래 아가씨는 DSH의 상태에 따라 동작을 바꿔요. 대표적인 장면 네 가지를 살펴볼게요.

작업 상태: 생각 거품. 출처: github.com/PC2005-cloud/dsh-pet, 소재의 상업적 이용 금지

코드 작성. 출처: github.com/PC2005-cloud/dsh-pet, 소재의 상업적 이용 금지

토큰 먹기. 출처: github.com/PC2005-cloud/dsh-pet, 소재의 상업적 이용 금지

마우스로 끌어 올려 공중에 띄우기. 출처: github.com/PC2005-cloud/dsh-pet, 소재의 상업적 이용 금지
직접 만든 캐릭터로 pet pack을 구성해도 대기, 드래그 같은 효과를 똑같이 구현할 수 있어요.
배경 제거 방법 A(기본 방식, 명령줄 필요). 저장소에 있는 명령을 그대로 사용해 순서대로 실행하세요.
- 터미널에서 저장소를 로컬에 복제합니다:
git clone https://github.com/PC2005-cloud/dsh-pet.git - 필요한 의존성을 확인합니다. README에는 Python 3, ffmpeg, numpy, scipy가 필요하다고 안내되어 있어요. Python 패키지는
pip install numpy scipy로 설치할 수 있습니다(편집자 추가). 스크립트는 작업 공간의.tools/에 있는 ffmpeg를 우선 사용합니다. - ②단계에서 선택한 mp4를 소재 파이프라인에서 지정한
video/디렉터리에 넣습니다. 디렉터리 위치는 저장소 README를 참고하세요. - 저장소의 scripts 디렉터리로 이동한 뒤, 1단계인 워터마크 마스크 채우기를 실행해 결과를
step01/에 저장합니다:python watermark_step01.py - 2단계인 그린 스크린 HSV 색상 기반 투명 배경 처리를 실행해 결과를
step02/에 저장합니다:python chroma_step02.py - 3단계인 2160×1215 크기 정규화 및 중앙에 똑바로 서도록 조정을 실행해 결과를
step03/에 저장합니다:python normalize_step03.py - 4단계인 640×360 재생용 변형 파일 인코딩을 실행해 결과를
step04/에 저장합니다:python encode_thumbs.py
macOS에서는 명령어가 python3일 수 있어요. 워터마크 마스크 처리는 원래 프로젝트 소재를 대상으로 만든 단계예요. Seedance 소재에서도 건너뛸 수 있는지는 확인하지 못했으니, 안내된 대로 실행하는 것을 권장해요.
키잉 경로 B(Premiere에서 수동으로 키잉): 원작자는 모든 작업을 이 방식으로 진행했어요. Premiere에서 수동으로 키잉한 뒤, 알파 채널이 포함된 투명 .mov 파일(예: ProRes 4444 with Alpha)로 내보내세요. 파일 이름을 동작명과 똑같이 지정해 pr/에 넣고 python pr_import_step02.py를 실행해 자동 키잉 결과를 덮어쓴 다음, 위의 3번과 4번 단계를 진행하면 돼요. 경로 B는 문제가 생기기 쉬운 키잉 작업을 수동으로 처리하지만, README에 따르면 가져오기, 정규화, 트랜스코딩은 여전히 스크립트로 진행돼요. 명령줄을 전혀 사용하지 않고 작업할 수 있는지는 확인하지 못했어요.
pet pack에 넣기(직접 만든 캐릭터에 해당하는 경로예요). 종류 이름이 xiaoju인 경우를 예로 들어볼게요.
- 폴더 만들기:
$DSH_HOME/dsh-pet/아래에pet폴더를 만들고, 그 안에xiaoju-animation폴더를 만든 다음step04/의 webm 파일을 모두 복사하세요.$DSH_HOME은 DSH 데이터 디렉터리예요. 기본 위치는 확인하지 못했으니 사용 중인 컴퓨터의 DSH 경로를 기준으로 확인하세요. - 파일 만들기:
pet안에xiaoju-config.json을 만드세요. 파일 이름의 접두사는 애니메이션 폴더 이름과 일치해야 해요. pets필드: 배열이며, 각 요소는 펫 인스턴스 하나를 나타내요."id": "xiaoju-1"(메인 펫의main과 중복되면 안 돼요),"size": 462,"balanceEnabled": false,"display": "both","position": { "corner": "top-right", "marginX": 24, "marginY": 100 }을 입력하세요.animations필드:idle,turn,drag,clicks,moves,categories,events를 모두 입력해야 해요. 값은 애니메이션 이름이며, 같은 이름의 파일과 연결돼요. 예를 들어"idle": "待机"로 설정하면待机.webm을 찾아요.animationWeights필드: 이 필드도 빠짐없이 입력해야 해요. 전역 설정으로 대체되지 않아요. 기본값은 idle 10 / turn 5 / move 5에 분류별 가중치를 더한 구성이에요.
설정 구조는 main-config.jsonc와 같아요. 가장 안전한 방법은 패키지 안의 assets/config.jsonc 구조를 복사한 뒤 애니메이션 이름과 id만 바꾸는 거예요. 소재는 해당 펫의 디렉터리에서만 찾으며, 파일이 없으면 404 오류가 발생해요. 메인 펫의 소재를 대신 사용하지는 않아요.
크기와 위치 조정: 메인 펫은 설정 페이지의 「桌宠配置」에서 너비(높이는 너비 × 9/16), 네 모서리 위치, 여백을 변경한 뒤 「保存」을 누르면 즉시 적용돼요. 설정 페이지에는 파일형 펫이 표시되지 않는다는 점에 유의하세요. pet pack의 크기와 위치는 xiaoju-config.json의 size와 position을 수정해야 해요. 저장한 뒤 새로고침하면 변경 사항을 확인할 수 있어요.
3단계 검수 기준:
step04/에 각 동작의 webm 파일이 하나씩 있어야 해요.- Chrome / Edge / Firefox에서 검은 배경이 아닌 투명 배경으로 보여야 해요. 파일을 탭으로 직접 끌어다 놓으면 일부 브라우저에서 재생 페이지 자체가 어두운 배경으로 표시될 수 있어요. 가장 확실한 검수 방법은 데스크톱 펫에 적용해 펫 주변으로 아래의 웹페이지나 바탕 화면이 비쳐 보이는지 확인하는 거예요.
- 동작이 전환될 때 위치가 튀지 않아야 하며, 반복 재생 시 시작과 끝이 끊김 없이 이어져야 해요.
AI 데스크톱 펫 문제 해결: 흔한 오류와 이 방법을 피해야 할 때
AI 데스크톱 펫 문제 해결 표
| 증상 | 원인 | 해결 방법 |
|---|---|---|
| 투명한 부분이 검은색으로 표시됨 | Safari / WKWebView에서 webm 알파 채널을 지원하지 않음 | Chrome / Edge / Firefox를 사용하세요. macOS 기본 펫에서는 Release의 assets-mov에 있는 .mov 파일을 main-animation/mov/에 넣어 사용할 수 있어요. |
| 가장자리에 초록 테두리가 남거나 소품이 지워짐 | 자동 HSV 처리로 복잡한 가장자리를 처리하거나 타사 소품을 분리할 때 흔적이 남거나 잘못 지워질 수 있어요. 캐릭터에 초록색이 포함된 경우도 해당해요. | 해당 동작은 경로 B로 진행하세요. 새로 디자인할 때는 초록색을 피하세요. |
| 동작을 전환할 때 펫의 위치가 튐 | 각 구간의 위치나 크기가 일치하지 않음 | 차이가 큰 구간을 다시 생성하고, normalize_step03을 실행했는지 확인하세요. 접두사는 한 글자도 다르게 쓰지 마세요. |
| ‘이 모델에 사용 가능한 채널이 없습니다’라는 메시지가 표시됨 | 토큰 설정에서 SeeDance2 그룹을 선택하지 않음 | 토큰 설정에서 기본 그룹과 SeeDance2 그룹을 모두 선택하세요. |
| 동영상이 5초만 나오거나 길이가 두 배로 늘어남 | 길이를 명시적으로 설정하지 않음. 2.0은 기본값이 5초이고, 2.5는 길이를 자동으로 선택함 | 길이를 10초로 직접 선택하세요. |
| 2.5에서 첫 프레임과 마지막 프레임을 지정하면 400 오류가 발생함 | 화면 비율이 고정값으로 설정됨 | 화면 비율을 adaptive로 변경하세요. |
| 첫 프레임과 마지막 프레임이 맞지 않아 반복 재생이 끊김 | 서로 다른 이미지를 첫 프레임과 마지막 프레임으로 업로드했거나, 첫 프레임·마지막 프레임 모드를 사용하지 않음 | 두 업로드 영역에 같은 정지 이미지를 넣으세요. 그래도 맞지 않으면 다시 생성하세요. 실패해도 다시 생성하세요. |
| 다운로드 링크가 열리지 않음 | 직접 다운로드 링크가 24시간 후 만료됨 | 상태가 succeeded로 바뀌면 바로 다운로드해 저장하세요. |
| mini / fast에서 1080p를 선택하면 오류가 발생함 | 이 두 모델은 최대 720p까지 지원함 | 720p로 변경하세요. 오류가 발생해도 비용은 청구되지 않아요. |
| 펫이 표시되지 않거나 소재에서 404 오류가 발생함 | 잘못된 설정, -animation 디렉터리 누락, id가 기본 펫과 충돌, 애니메이션 이름과 파일 이름이 일치하지 않음 | 각 항목을 확인하고 DSH 콘솔에 표시된 오류를 살펴보세요. |
| 잔액 말풍선에 ‘현재 서비스 제공업체는 잔액 조회를 지원하지 않습니다’라고 표시됨 | APIYI가 dsh-pet에 등록된 잔액 조회 서비스 제공업체에 포함되지 않음 | 정상적인 현상이며 APIYI 잔액은 표시되지 않아요. 보고 싶지 않다면 잔액 표시를 끄세요. |
이 방법을 피해야 할 때
캐릭터를 직접 생성하는 방법이 항상 최선은 아니에요. 다음과 같은 경우에는 다른 방법을 고려해 보세요.
- 기성 메이드 데스크톱 펫만 있으면 되는 경우: 플러그인 관리에서
dsh-pet을 설치하면 돼요. 소재를 직접 생성할 필요는 없어요. - 상업적으로 이용하려는 경우: 원작자의 소재, 프롬프트, 원본 동영상은 상업적으로 이용할 수 없으며 판매에도 사용할 수 없어요. 직접 만든 캐릭터도 저작권을 직접 확인해야 해요. 특히 기존 IP를 참고해 디자인했다면 더욱 주의하세요.
- 2차 창작물을 공개하려는 경우: 파생 작품, 개조 버전, 스킨 변경본을 소개하거나 전시·배포할 때는 원작자의 GitHub 주소
github.com/PC2005-cloud/dsh-pet를 함께 표기해야 해요.
AI 데스크톱 펫 FAQ
Q1: dsh-pet 원작자는 Nano Banana와 Seedance를 사용했나요?
아니요. README에는 원본 프로젝트의 소재를 더우바오로 생성했고, 모든 동작은 Premiere에서 수동으로 크로마키 처리했다고 나와 있어요. Nano Banana는 언급되지 않았고, 구체적인 동영상 모델 버전도 적혀 있지 않아요. Seedance와 더우바오는 모두 바이트댄스 제품이라 원작자의 방식과 더 가까울 수 있지만, README에 구체적인 버전이 명시되어 있지 않으므로 원작자가 Seedance를 사용했다고 단정할 수는 없어요. Nano Banana와 Seedance는 이 글에서 제안하는 대체 방안이며, 프롬프트 레시피와 소재 제작 과정은 저장소의 원본을 그대로 따라요.
Q2: 첫 프레임과 마지막 프레임에는 어떤 이미지를 넣어야 하나요?
1단계에서 만든 16:9 비율의 그린 스크린 정면 기립 이미지를 첫 프레임과 마지막 프레임에 모두 넣으세요. 그러면 영상의 시작과 끝이 같은 자세로 고정되어 애니메이션을 자연스럽게 이어 붙일 수 있어요. 첫 프레임과 마지막 프레임, 첫 프레임만 사용, 여러 참조 이미지 사용은 서로 함께 쓸 수 없으므로 한 번에 하나만 선택해야 해요. 화면비는 첫 프레임 이미지에 맞춰 설정하세요. 2.5에서 첫 프레임과 마지막 프레임을 사용할 때는 화면비를 반드시 adaptive로 설정해야 해요. 그렇지 않으면 400 오류가 발생해요. 세 방향 뷰를 한 이미지로 합친 그림은 첫 프레임에 캐릭터가 세 명 나타날 수 있으므로 권장하지 않아요.
Q3: Seedance에서 영상 길이는 어떻게 설정하나요?
원본 레시피의 각 구간은 10초예요. Seedance 2.0은 4~15초를 지원하므로 10초를 선택하면 돼요. 영상 길이는 반드시 명시적으로 설정하세요. 길이를 지정하지 않으면 2.0은 기본값인 5초를 사용하고, 2.5는 모델이 영상 길이를 자동으로 정하므로 길이가 두 배로 늘어날 수도 있어요. 먼저 테스트할 때는 mini 480p를 사용해도 괜찮아요.
Q4: API 키 하나로 Nano Banana와 Seedance를 모두 호출할 수 있나요?
네. APIYI apiyi.com에서 토큰을 하나 만들고, 결제 방식을 ‘사용량 우선’으로 선택한 다음 그룹에서 기본과 SeeDance2를 모두 체크하면 돼요. 그러면 이미지 마스터와 iCover AI에서도 같은 토큰을 사용할 수 있어요. SeeDance2를 체크하지 않으면 ‘사용 가능한 채널이 없는 모델’이라는 오류가 발생해요. 먼저 nano-banana-2와 mini 480p로 전체 과정을 확인한 다음, 어떤 동작에 720p나 표준 버전이 필요한지 결정하는 걸 권장해요.
Q5: 명령줄을 전혀 몰라도 완성할 수 있나요?
이미지 생성, 영상 생성, 플러그인 설치, 크기 조정은 모두 그래픽 인터페이스만으로 할 수 있어요. 크로마키 작업은 Premiere에서 수동으로 할 수 있지만(경로 B), README에 따르면 이후 가져오기, 정규화, 트랜스코딩 작업은 여전히 스크립트로 진행해야 해요. 환경 설정에서 막히면 APIYI의 그래픽 도구로 앞의 두 단계를 먼저 완료한 뒤, 명령줄에 익숙한 지인에게 마지막 네 개 명령을 실행해 달라고 부탁해 보세요.
Q6: 완성한 데스크톱 펫을 상업적으로 이용할 수 있나요?
dsh-pet 코드는 MIT 라이선스를 따르지만, 원작자의 애니메이션, 프롬프트, 원본 영상은 상업적 이용이 금지되어 있어요. Nano Banana와 Seedance로 직접 만든 캐릭터를 상업적으로 이용할 수 있는지는 캐릭터 디자인과 모델 서비스 약관에 따라 달라요. 이용 가능 여부는 직접 확인해야 하며, 저희가 대신 판단해 드릴 수는 없어요.
AI 데스크톱 펫 요약: 핵심 요점과 참고 자료
AI 데스크톱 펫 핵심 요점
- 작업 방식: Nano Banana와 Seedance를 대체 도구로 사용해요. 원작자는 Doubao와 Premiere를 사용했고, Seedance와 Doubao는 모두 ByteDance 제품이에요.
- 1단계 핵심: 16:9 비율의 단색
#00FF00정면 전신 이미지를 준비하세요. 머리 위쪽은 화면의 약 20%, 발바닥은 약 85% 지점에 오도록 배치하면 돼요. - 2단계 핵심: 같은 정면 전신 이미지를 첫 프레임과 마지막 프레임으로 모두 업로드하고, 10초 설정을 그대로 사용하세요. 영상의 시작과 끝이 모두 표준 정면 전신 자세여야 해요.
- 가장 흔한 실수: 토큰 설정에서 SeeDance2 그룹을 선택하지 않거나, 영상 길이를 10초로 직접 지정하지 않는 경우예요.
- 3단계 핵심: 스크립트 네 개를 순서대로 실행하세요.
pet pack의animations와 가중치도 빠짐없이 작성해야 해요. - 테스트 방법: 먼저 mini 480p로 테스트하고, 결과가 만족스러우면 720p나 표준 버전을 사용하세요.
- 시작 방법: 사용량 기반 토큰 하나를 준비한 다음, 기본 그룹과 SeeDance2 그룹을 모두 선택하면 이미지와 영상을 생성할 수 있어요.
요약
나만의 AI 데스크톱 펫을 만드는 일은 기본적으로 dsh-pet의 ‘프롬프트 → 소재 생성 파이프라인 → 플러그인’ 구성에서 생성 도구를 바꾸는 작업이에요. Nano Banana로 캐릭터와 위치를 고정하고, Seedance로 레시피에 맞춰 그린스크린 동작을 생성한 뒤, 저장소의 소재 생성 파이프라인으로 배경을 제거하고 규격을 맞추면 돼요. 전체 과정에서 가장 신경 써야 할 부분은 캐릭터 위치와 영상의 시작·끝 프레임을 일치시키는 거예요. 이 두 가지를 잘 맞추면 이후 배경 제거와 조립은 대부분 반복 작업이에요.
먼저 ‘대기’ 동작 하나로 전체 과정을 진행해 보세요. 배경이 투명한지, 위치가 흔들리지 않는지, 시작과 끝이 자연스럽게 연결되는지 확인한 다음 나머지 동작을 한꺼번에 만들면 돼요. APIYI apiyi.com에서 mini 480p로 먼저 테스트해 보고, 결과를 확인한 뒤 최종 결과물의 품질을 결정하는 방법을 추천해요.
참고 자료
- dsh-pet 저장소: 프로젝트 README, 프롬프트 레시피, 소재 생성 파이프라인 스크립트
- 링크:
github.com/PC2005-cloud/dsh-pet -
안내: 설치 방법, pet pack 설정, 라이선스 조건은 README를 기준으로 확인하세요. 2차 창작물에는 이 주소를 반드시 포함해야 해요.
-
DeepSeek Harness: dsh-pet의 호스트 애플리케이션
- 링크:
github.com/deepseek-ai/deepseek-harness -
안내: 데스크톱 앱과 dsh 웹, 두 가지 형태로 제공돼요.
-
APIYI Seedance 2 문서: 모델, 첫 프레임과 마지막 프레임, 영상 길이, 해상도 및 매개변수 규칙
- 링크:
docs.apiyi.com(Seedance 2 페이지) - 안내: 이 글에서 다룬 Seedance 관련 주의 사항은 해당 문서를 참고했어요.
작성자: APIYI 기술팀
기술 문의: 데스크톱 펫 소재를 생성하는 중 API 문제가 발생하면 APIYI apiyi.com 홈페이지에서 문의해 주세요.
