o2o-ado2-short-form/docs/pipeline-integration.md

80 lines
2.4 KiB
Markdown

# Pipeline Integration
ADO2 Agent 파이프라인에 본 엔진을 통합하는 인터페이스 스펙.
## 입력 인터페이스
```python
# agents/src/integrations/higgsfield_shorts.py 에서 호출
from engine.higgsfield_shorts import generate_short
result = await generate_short(
tenant_id="acme-pension",
shoot_id="2026-06-15_summer-shoot",
photos=[
"s3://ado2/media/acme/p1.jpg", # 3~5장
"s3://ado2/media/acme/p2.jpg",
"s3://ado2/media/acme/p3.jpg",
],
concept_id="cinematic-trailer", # concepts/ 라이브러리에서 선택
brand={
"name": "○○펜션",
"location": "강원 양양",
"cta_url": "https://booking.example.com/acme",
},
options={
"aspect_ratio": "9:16",
"duration": 8,
"caption_lang": "ko",
},
)
# result.video_url, result.thumbnail_url, result.cost_usd, result.metrics
```
## 출력 메타데이터
```json
{
"video_url": "s3://ado2/output/acme/2026-06-15/cinematic-trailer.mp4",
"thumbnail_url": "s3://ado2/output/acme/2026-06-15/cinematic-trailer.jpg",
"trust_track_link": "s3://ado2/output/acme/2026-06-15/trust-slideshow.mp4",
"concept_id": "cinematic-trailer",
"duration_seconds": 8,
"cost_usd": 1.42,
"quality_score": 0.87,
"render_time_seconds": 240,
"metadata_for_distribution": {
"suggested_caption": "...",
"suggested_hashtags": [...],
"suggested_post_time": "...",
"ai_disclosure_required": true
}
}
```
## MarketingState 통합
`agents/src/common/state.py``MarketingState`에 다음 필드 추가:
```python
class MarketingState(TypedDict):
# ... existing fields
higgsfield_renders: list[HiggsfieldRender] # 어텐션 트랙 결과들
trust_track_renders: list[CreatomateRender] # 트러스트 트랙 결과들
paired_assets: dict[str, str] # shoot_id -> trust_video_id 매핑
```
## Distribution Agent 핸드오프
Distribution Agent는 두 트랙을 **페어 배포** 한다:
1. **Reels/Shorts 피드** ← Higgsfield (어텐션)
2. **프로필 핀 게시물** ← Creatomate (트러스트)
3. **캡션 자동 생성** 시 AI 디스클로저 라인 포함 ("AI로 재해석한 ○○펜션의 무드")
## Phase 2 (자동화 도입 후)
- Content Agent가 사진셋 자동 분석 → 컨셉 자동 선택
- 1개 사진셋 → 2개 컨셉으로 A/B 자동 생성
- 7일 후 Analytics Agent가 컨셉별 성과 학습 → 컨셉 가중치 업데이트