2026년 4월 12일작성자 Yosuke Sakurai3분 읽기

Anki API의 한계, 그리고 API 없이 플래시카드 생성을 자동화하는 방법

Anki에는 공식 공개 API가 없습니다. 대신 Anki가 제공하는 것들(AnkiConnect, genanki, AnkiWeb)과 각 접근 방식이 어디서 무너지는지, 그리고 Anki의 한계와 씨름하지 않고 플래시카드 생성을 자동화하는 방법을 정리했습니다.

AnkiDeckbase

anki api를 검색해 봤다면 이미 답을 알고 있을 거예요. Anki에는 공식적으로 문서화된 공개 API가 없어요. 대신 있는 것은 커뮤니티 도구들의 파편적인 조합이에요. 각 도구가 자동화 문제의 일부를 해결하지만, 저마다 실패하는 지점이 있죠. 이 글에서는 실제로 존재하는 것들이 무엇인지, 각 접근 방식이 어디서 깨지는지, 그리고 더 깔끔한 자동화 경로는 어떤 모습인지 살펴봐요.

Anki가 API 대신 제공하는 것들

AnkiConnect

AnkiConnect는 Anki 데스크톱이 실행 중일 때 로컬 HTTP API(기본값: http://localhost:8765)를 노출하는 서드파티 애드온이에요. 노트 생성, 덱 조회, 동기화 트리거 등을 지원해요.

잘 작동하는 경우: 로컬 자동화 스크립트, n8n/Zapier 스타일의 로컬 워크플로, 카드를 프로그래밍 방식으로 생성하는 Python 스크립트.

무너지는 지점:

  • Anki 데스크톱이 열려 실행 중이어야 해요. 백그라운드 데몬도, 헤드리스 모드도 없어요.

  • Anki 버전이 업데이트되면 애드온이 깨져요. 유지관리자가 패치를 내놓을 때까지 기다려야 하는 경우가 많아요.

  • 원격 접근이 안 돼요. 서버, CI 파이프라인, 모바일 앱에서는 호출할 수 없어요.

  • 공식 지원이 없어요. 작동이 멈추면 결국 남의 코드를 디버깅하는 셈이에요.

genanki (Python)

genanki는 Anki가 덱을 가져올 때 쓰는 패키지 형식인 .apkg 파일을 생성하는 Python 라이브러리예요. Python 코드를 작성해 apkg를 만들고, 수동으로 또는 AnkiConnect를 통해 가져오면 돼요.

잘 작동하는 경우: 구조화된 데이터 소스(CSV, API, 데이터베이스)에서 덱을 프로그래밍 방식으로 생성하는 작업. 일회성 가져오기나 배치 가져오기에 적합해요.

무너지는 지점:

  • AnkiConnect와 결합하지 않으면 가져오기는 여전히 수동 단계예요.

  • 양방향 동기화가 안 돼요. 카드를 밀어 넣을 수는 있지만, AnkiConnect 없이는 스케줄링 상태를 다시 읽어올 수 없어요.

  • Anki 핵심 팀이 관리하지 않아요. 자체적인 호환성 범위를 가진 서드파티 라이브러리예요.

AnkiWeb (API 없음)

AnkiWeb은 Anki의 동기화 서버예요. AnkiWeb용 공개 API는 없어요. 외부 도구에서 AnkiWeb을 프로그래밍 방식으로 읽거나 쓸 수 없어요. 어떤 자동화든 데스크톱 앱을 거쳐야 해요.

근본적인 한계

모든 Anki 자동화 경로에는 똑같은 근본 제약이 따라붙어요: 데스크톱 앱이 권위 있는 데이터 저장소라는 점이에요. 호출할 수 있는 클라우드 네이티브 백엔드가 없어요. 그래서 이런 제약이 생겨요:

  • 자동화하려면 데스크톱 인스턴스가 실행 중이어야 해요

  • 모바일 워크플로는 자동화할 수 없어요

  • 서버 측이나 CI 기반 카드 생성은 안정적으로 불가능해요

  • 체인에 있는 서드파티 도구는 Anki가 업데이트될 때마다 깨질 수 있어요

Anki가 열려 있는 동안 내 컴퓨터에서 돌아가는 개인 스크립트라면 이 정도는 감당할 만해요. 하지만 팀 워크플로, AI 지원 생성 파이프라인, 모바일 우선 학습 환경이라면 이건 실질적인 제약이에요.

더 깔끔한 자동화 경로: Deckbase MCP

플래시카드 생성을 자동화하려는 경우, 특히 AI 도구나 코드 에디터, 문서 파이프라인에서 자동화하려는 경우라면 Deckbase는 실행 중인 데스크톱 앱이 필요 없는 실제 HTTP MCP 엔드포인트를 제공해요(opens in a new tab).

실제로 이것이 의미하는 바는 이래요:

  • 어디서든 호출: Cursor, VS Code, Claude Code, n8n 또는 직접 만든 스크립트에서 호출할 수 있어요. 로컬 데몬이 필요 없어요

  • 카드가 즉시 모바일로 동기화: 에디터에서 만들면 휴대폰에서 바로 복습할 수 있어요

  • 애드온 유지보수 없음: API가 커뮤니티 애드온이 아니라 제품의 일부로 유지 관리돼요

  • AI 생성 내장: 별도 파이프라인 없이 텍스트, PDF, 문서에서 카드를 생성할 수 있어요

학습 자동화를 위한 MCP와 직접 API 접근 방식을 비교한 내용은 학습 자동화를 위한 MCP vs API(opens in a new tab)에서 확인할 수 있어요.

AnkiConnect를 계속 써야 할 때

다음 중 하나에 해당하면 AnkiConnect가 여전히 정답이에요:

  • 이미 잘 작동하는 Python/자동화 환경이 있는 경우

  • 내 컴퓨터에서 로컬로만 자동화를 실행하면 되는 경우

  • Anki 버전 전반에서 애드온 호환성을 유지하는 게 부담스럽지 않은 경우

  • Anki 고유 기능(사용자 정의 노트 타입, 미디어 처리, 특정 스케줄링 알고리즘)이 필요한 경우

이 조건 중 하나라도 해당하지 않는다면, 특히 원격 자동화나 모바일 동기화, AI 지원 생성을 원한다면 AnkiConnect와 데스크톱 필수 모델은 마찰을 일으킬 거예요.

정리

Anki의 "API"는 사실 세 가지 커뮤니티 도구(AnkiConnect, genanki, AnkiWeb 동기화)를 이어 붙인 것으로, 각각 Anki 데스크톱을 의존성으로 요구해요. 로컬 개인 자동화에는 통하지만 서버 측, 모바일, AI 지원 워크플로로 확장되지는 않아요. 모바일로 동기화되는 플래시카드 생성용 실제 HTTP API가 필요하다면 Deckbase 같은 Anki 대안(opens in a new tab)을 검토해 볼 만해요. 특히 MCP로 연결할 수 있는 AI 코딩 도구를 쓴다면 더욱 그렇죠.

이런 글을 플래시카드로 바꿔보세요

링크, PDF 또는 노트를 붙여넣기만 하면 Deckbase가 덱을 만들고 FSRS로 복습 일정을 잡아드려요.