트렌드 가이드라인 생성 (Step 2)
선택한 트렌드 컨셉을 촬영 가이드 전체에 반영해 가이드라인을 생성합니다.
트렌드 가이드라인 생성
트렌드 컨셉 Top 3 에서 선택한 컨셉을 기반으로 가이드라인 본문을 생성합니다. 선택 컨셉의 근거 릴스 분석이 촬영 프롬프트에 주입되어, 장면별 reference_url 까지 채워집니다. 세션 status 가 GUIDELINE_GENERATED 로 전이됩니다.
HTTP 요청
POST /ai/guideline/v5/{collabNo}/generate
Authorization: Bearer {access_token}
Content-Type: application/jsonRequest Body
{
"conceptIndex": 0
}| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
conceptIndex | Integer | 예 | concepts 배열에서 선택한 컨셉 인덱스 (0, 1, 2) |
Spring 이 세션에 저장된 해당 인덱스의 컨셉 전체(trend_context 포함)를 selected_concept 로 Python 에 전달합니다. 클라이언트가 컨셉 본문을 직접 보낼 필요는 없습니다.
부가 처리
selected_concept와 함께gemini_file_ids,pdf_metadata,reference_metadata, 촬영 옵션 payload 를 Python 에 전달합니다.- 촬영 옵션 구성 규칙(HOOK 1 / middle 3 / CTA 1,
BASIC·ADDITIONAL후보 등)은 V4 와 동일합니다. V4 전체 가이드라인 생성 참고 - Python 응답에서
trend_application_summary를 뺀 값이 세션data에 저장되고, 선택 컨셉이selectedConcept에 저장됩니다. selected_concept.recommendation_id와generation_id가 있으면 추천 이력 상태를SELECTED→APPLIED로 갱신합니다. 두 ID 가 없는 기존 V4 컨셉은 상태 갱신을 건너뜁니다.
응답
성공 응답 (200 OK)
V4 생성 응답과 동일한 구조이며, 장면별 reference_url 이 트렌드 근거 릴스로 채워집니다.
{
"status": 200,
"code": null,
"message": "트렌드 가이드라인 생성 완료",
"data": {
"concept_one_liner": "선택 트렌드를 한 줄로 요약",
"shots": {
"beginning": [
{
"code": "HOOK",
"scene": "트렌드 훅 방식을 적용한 도입 장면",
"example_comment": "요즘 이거 다들 하던데요.",
"reference_url": "https://www.instagram.com/reel/abc123/",
"optionType": "BASIC"
}
],
"middle": [ { "...": "..." } ],
"ending": [ { "...": "..." } ]
},
"used_shot_codes": ["MATERIAL_SHOT", "LOOKBOOK_SHOT"],
"remaining_shot_codes": ["UNBOXING_SHOT", "STYLING_TIP_SHOT"],
"required_appeal_points": ["#광고 표기 필수"],
"optional_appeal_points": ["착용감 언급"],
"hashtags": ["브랜드명", "제품명", "광고"],
"upload_requirements": { "...": "..." }
}
}V4 대비 추가 필드
| 필드 | 타입 | 설명 |
|---|---|---|
shots.*[].reference_url | String | null | 해당 장면에 직접 반영된 근거 릴스 URL. V4 에서는 대부분 null |
그 외 shots, used_shot_codes, required_appeal_points, upload_requirements 등 나머지 필드는 V4 전체 가이드라인 생성 과 동일합니다.
Python 이 내려주는 trend_application_summary 는 응답에서 제외됩니다. Mongo 세션 data 에도 저장하지 않으며, 세션 조회 의 data 에서도 제거되어 내려갑니다(이전에 저장된 세션 포함). 선택한 트렌드 정보는 세션 조회의 selectedConcept(trend_name · why_selected · application_points · reference_reels) 으로 확인하세요.
근거 릴스의 제품명·가격·효능은 캠페인 사실로 사용되지 않습니다. 훅·전개·촬영·편집·자막·사운드 활용 방식만 가이드에 반영됩니다.
이후 단계
저장 / 재생성 / 항목 추가는 V4 API 를 그대로 사용합니다.
PUT /ai/guideline/v4/{collabNo}— 저장POST /ai/guideline/v4/{collabNo}/regenerate— 항목 재생성POST /ai/guideline/v4/{collabNo}/add-item— 항목 추가
에러
IllegalArgumentException: 유효하지 않은 컨셉 인덱스 ("유효하지 않은 컨셉 인덱스: ...") — 세션에 컨셉이 없거나 범위를 벗어난 경우- 세션 미존재 시
"V4 세션이 없습니다. 컨셉 생성부터 시작하세요."