카드뉴스 렌더링 API
카드뉴스를 사람이 만들지 않게
템플릿을 한 번 등록하면, 이후 카드는 API 호출로 나옵니다. 디자이너를 기다리지 않고 매번 같은 품질로.
카드 등록 없이 · 월 100장 무료
{ "template": "listicle", "format": "instagram", "slides": [{ "type": "cover", "slots": { "count": "5", "headline": "카드뉴스를 코드로 만든다", "subheadline": "디자이너 없이, 매번 같은 품질로" } }]}
슬롯 이름에 마우스를 올려보세요왼쪽 JSON 이 오른쪽 카드의 어디로 가는지 보여줍니다
오른쪽 카드는 목업이 아니라 이 API 가 왼쪽 JSON 으로 그린 결과입니다
cardnews 로 만들 수 있는 것
아래는 전부 이 API 가 그린 실제 카드입니다. 용도마다 어울리는 템플릿이 다릅니다.
만드는 일과 그리는 일을 나눕니다
무엇을 쓸지는 사람이나 LLM 이 정하고, 어떻게 보일지는 서버가 책임집니다. 이 경계 하나로 결과가 흔들리지 않게 됩니다.
- 01
템플릿을 한 번 등록한다
디자인에서 바뀔 자리만 슬롯으로 열어 둡니다. 로고와 강조색은 프로젝트 프로필에서 오므로, 같은 템플릿을 여러 브랜드가 각자의 얼굴로 씁니다.
template.json등록 시 검증"slide_types": [{ "name": "cover", "min": 1, "max": 1, "slots": [ { "name": "count", "type": "text", "required": true }, { "name": "headline", "type": "text", "required": true }, { "name": "subheadline", "type": "text" }, { "name": "accent_color", "type": "color" }, { "name": "brand_logo_url", "type": "brand_asset", "asset": "logo_horizontal" } ]}] - 02
LLM 은 내용만 쓴다
템플릿마다 llms.txt 가 붙습니다. 어떤 슬롯이 있고 몇 글자까지 되는지 기계가 읽는 형식이라, 에이전트가 가이드만 보고 첫 시도에 성공합니다. 글자 수는 손으로 적지 않고 manifest 에서 생성하므로 가이드와 실제 한계가 어긋날 수 없습니다.
가이드 전문 보기 →GET /v1/templates/listicle/llms.txt200 · 공개## 3. 슬라이드 흐름 권장 cover → item(1~10장) → cta- 항목이 7장을 넘으면 저장률이 떨어진다. 5~7장을 권장한다. ### `cover` (min 1, max 1) | 슬롯 | 필수 | 형식·한계 || --- | --- | --- || `count` | 예 | 텍스트 || `headline` | 예 | 텍스트 | - 03
서버가 그린다
폰트·이미지를 서버에서 준비해 헤드리스 브라우저로 렌더합니다. 같은 입력이면 언제나 같은 그림이 나옵니다.
request.sh# 슬라이드 내용만 만들고 나머지는 맡깁니다curl -X POST https://api.cardnews.dev/v1/renders \ -H "Authorization: Bearer $CARDNEWS_API_KEY" \ -d '{ "template": "listicle", "format": "instagram", "slides": [ { "type": "cover", "slots": { … } }, { "type": "item", "slots": { … } } ] }'▌
같은 글, 다른 템플릿
형식을 바꾸면 전혀 다른 카드가 됩니다
아래 넷은 완전히 같은 글입니다. 글을 다시 쓰지 않고 요청의 template 한 줄만 바꿨습니다.
지금 바로 쓸 수 있는 여섯 종
저장이 잘 되는 리스트형, 공유가 잘 되는 통계형, 격을 만드는 매거진형. 등록만 하면 바로 호출할 수 있고, 직접 만들어 올릴 수도 있습니다.
GET /v1/templates →쓴 만큼 냅니다
이미지 장수로만 셉니다. 실패한 렌더는 세지 않습니다. 지금 바로 쓸 수 있는 것은 Free 이고, 유료 플랜은 준비 중입니다.
자주 묻는 것
템플릿을 직접 만들 수 있나요+
네. 패키지 형식(manifest + 슬라이드 HTML + 폰트 + llms.txt)에 맞춰 올리면 등록 게이트가 검증합니다. 슬롯 불일치·폰트 정책 위반·글리프 누락은 등록 단계에서 거부되므로, 통과한 템플릿은 최소한 그려집니다.
글자가 넘치면 어떻게 되나요+
렌더는 성공하고 이미지와 함께 경고가 옵니다. 실패로 처리해 아무것도 안 주는 것보다, 결과를 보고 문구를 줄이는 쪽이 빠르기 때문입니다. 사전 검증(글자수)과 렌더 경고(실제 넘침)를 두 층으로 나눠 둡니다.
로고와 브랜드 색은 어떻게 넣나요+
콘솔 프로젝트 설정에서 한 번 등록하면 그 프로젝트의 모든 렌더가 씁니다. 요청마다 로고 URL 을 실어 보낼 필요가 없습니다. 특정 요청에서만 바꾸고 싶으면 brand 필드로 덮어씁니다.
사진은 어떻게 전달하나요+
공개 HTTPS URL 과 data URI 를 모두 받습니다. 실사진은 URL 을 쓰세요 — 전체 요청 본문 상한이 1MB 라 실사진을 base64 로 넣으면 두 장에서 넘어갑니다.
실패한 렌더도 과금되나요+
아니요. 성공한 렌더의 이미지 장수만 셉니다.
















