Codex GIF Video
용도 및 출력 선택
이 Skill은 후속 편집에 사용할 시각 素材만을 전문적으로 제작하며, 자막, 제목, 텍스트 레이블, 워터마크, 배경음악, 음성 또는 음향 효과를 추가하지 않습니다. 나레이션 텍스트는 동작 이해와 장면 분할에만 사용되며, 자막이나 음성으로 변환되지 않습니다. 상위 스타일 자료에 포함된 사운드, 자막 및 장편 영화 제작 요구사항은 이 Skill의 실행 지침이 아닙니다.
사용자는 다음 중에서 선택할 수 있습니다:
- 원본 짧은 GIF: 각 장면에 대해 서비스에서 반환된 원본 바이트와 목록을 유지합니다.
- 하나의 긴 GIF: 여러 개의 적격 장면을 순서대로 단일
.gif파일로 연결합니다. 루프를 채우지 않고 한 번만 재생됩니다. - 비디오 형식:
.mp4(H.264/yuv420p)로 저장되며, 비디오 스트림만 포함하고 무음이며 자막이 없습니다. - 둘 다: 동일한 장면을 재사용하여 긴 GIF와 MP4를 각각 내보내며, 장면을 중복 생성하지 않습니다.
사용자의 명확한 선택을 따릅니다. "GIF 만들어"라고만 하면 GIF를 제공하고, "비디오 형식"이라고 하면 MP4를 제공합니다. 지정되지 않은 경우 기본적으로 GIF 素材를 제공하고 MP4 옵션이 있음을 설명합니다. 목표 길이가 단일 장면 생성 능력을 초과하는 경우 먼저 여러 장면으로 분할한 다음 하나의 긴 파일로 내보내야 하며, 단편적인 조각만 제공할 수 없습니다. 호출은 내보내기 워크플로우를 참조하십시오.
생성 경계 및 진입점
동적 이미지 소스는 모델이 원래 반환하도록 허용된 GIF만 허용합니다. Codex 현재 세션의 네이티브 도구 또는 사용자가 이미 선택한 공식 OpenAI Image API를 사용합니다. 타사 프록시, 다른 이미지/비디오 모델, 정적 프레임 연결, 코드 애니메이션, I2V 또는 프레임 보간을 사용하여 네이티브 애니메이션을 가장하지 않습니다. 원본 GIF와 각 요청 증거를 보존하며, 속도를 변경하거나 반복 재생하거나 프레임을 정지시켜 길이를 채우지 않습니다.
긴 GIF 연결, MP4 인코딩 및 비율에 맞춘 크기 조정은 파생 내보내기이며, 모델이 한 번에 네이티브 생성한 것으로 간주되지 않으며 실제 모션 프레임을 추가하지 않습니다. GIF 재인코딩 시 팔레트 변경이 발생할 수 있으므로 가능하면 원본 크기를 우선 사용합니다. 긴 콘텐츠의 경우 MP4를 선택하여 용량을 줄일 수 있습니다.
진입점 우선순위: 이번 라운드의 명확한 지침 → 프로젝트 전용 codex-gif-video.config.json의 preferred_entry → Codex 세션. 저장된 선택을 유지합니다. 네이티브 진입점이 실패해도 자동으로 유료 API로 전환하지 않습니다. credential_file 및 budget_file은 프로젝트 루트 디렉터리에 대해 상대 경로이며, 키는 Skill, 프롬프트 또는 로그에 포함되지 않습니다.
공식 API는 먼저 official-api.md를 읽고 official_api.py를 사용합니다. Codex gif 스위치 검사를 건너뜁니다. Codex 모드는 먼저 native_gif.py doctor를 실행하고 이 세션의 실제 도구 스키마를 확인합니다. gif 필드가 있어야 하며, prompt-only 정적 프로브를 보내거나 매개변수를 임의로 가정하지 않습니다. 진단 내용은 native-entry.md를 참조하십시오. 모델 및 GIF 기능은 계정 및 서버측 개방 범위에 따라 제한됩니다.
동일한 인증 배치는 예산을 공유하며, 기본적으로 최대 8회의 GIF 생성, 3회의 참조 요청이 허용되며, 실패 및 시간 초과도 포함됩니다. 새 작업 또는 명시적 재제작 시 독립적인 원장을 생성하고 계획된 수량을 기록하며 이전 원장을 유지할 수 있습니다. 실패를 우회하기 위해 할당량을 초기화할 수 없습니다. 새 시도는 명시적으로 재시도해야 하며, 프롬프트, 매개변수, 참조 변경 시 새 번들을 생성해야 합니다.
요구사항에서 장면까지
- 호출 프로토콜을 읽고 목표를
shots로 분할합니다. 각 장면은 "초기 상태 → 동작 → 완료 상태"를 명확히 합니다. 나레이션은 원본 텍스트를 유지하며 오디오 타임스탬프를 조작하지 않습니다. 반복 구간은 문자 위치를 제공합니다. - 출력 형식, 화면 비율 및 총 길이를 결정합니다.
prepare는 비율을 픽셀로 구체화합니다. 기본값: 9:16→288×512, 16:9→512×288, 1:1→512×512. 이는 로컬 보수적 기본값이며 서비스 상한이 아닙니다. 16의 배수 및 서비스 픽셀 제한을 충족하는 크기를 명시적으로 지정할 수 있습니다. - 기본적으로 정확한 길이를 사용합니다.
frame_count를 생략하면 2–16 프레임 내에서 목표 길이를 나눌 수 있는 방안을 자동으로 선택합니다. 명시적인 프레임 수와 호환되지 않으면 생성 전에 오류를 보고합니다. 근사치가 명시적으로 허용되는 경우에만duration_policy:quantize를 설정하고 오차를 공개합니다. 15초는 5개 구간×3초×15프레임, 각 프레임 200ms로 계획할 수 있습니다. 16프레임×310ms를 5초라고 말할 수 없습니다. 낮은 프레임 속도는 단순한 동작에 적합하며 영화 수준의 부드러움을 보장하지 않습니다. - 스타일을 추천한 후 후보를 비교하고
style_router.py guide --style ID를 실행하여 선택한 스타일의 전체 원문을 읽습니다. 재질, 캐릭터, 색상, 동작, 카메라 움직임 및 시각적 금기 사항을 확인합니다. 상위 레벨의 자막, 사운드, 코드 엔진 요구사항은 무시합니다. styles.md를 참조하십시오. - 장면 간 캐릭터 일관성이 필요하지만 사용자 주 참조가 없는 경우
style_router.py reference-prompt --style ID --subject-file FILE을 사용하여 주 참조 프롬프트 계획을 생성한 다음 모델을 호출합니다. 먼저 실제 주 참조를 확인하고 각 장면에서 캐릭터 특징 및style_lock을 재사용하여 고정합니다. 드리프트 결과를 주 참조로 교체하지 않습니다. - 요청 JSON을 작성하고
prepare는 프롬프트, 크기, 시간 계획, 스타일 원문 해시 및 참조를 고정합니다. 생성 전에 매개변수 및 총 길이를 확인합니다. 요청 변경 시 새 디렉터리를 사용하며 이전 결과를 덮어쓰지 않습니다.
생성 및 출처 증거
공식 모드: prepare → official_api.py generate, native-request를 호출하여 예약을 중복하지 않습니다. 첫 번째 장면에서 실제 다중 프레임 GIF, 기술 매개변수 일치, 충분한 출처 증거를 수신한 후 계속 진행합니다. 크기, 프레임 수 또는 형식 오류는 먼저 위치를 파악하고 전체 세트를 무분별하게 재시도하지 않습니다.
Codex 모드: prepare → native-request → 실제 스키마에 따라 네이티브 도구 호출(gif 보존) → import-native. 파일이 없으면 finish-attempt로 실패 또는 알 수 없음을 기록합니다. 노출되지 않은 model/size/output_format을 도구 필드로 사용할 수 없습니다.
model_evidence.reported_model은 서비스가 실제로 반환한 것만 기록하며, 누락 시 null을 유지하고 모델을 추측하지 않습니다.- 공식 요청은 고정된 공식 HTTPS 엔드포인트, 명시적으로 허용된 모델, 리디렉션 없음, 200 응답, request ID 및 요청 해시로 구성된
official_request_evidence를 사용할 수 있습니다. 이는 공식 요청 출처를 증명하지만 서비스가 자체적으로 보고한 실행 모델과 동일하지는 않습니다. - Codex 출처를 알 수 없거나, 공식 영수증이 불완전하거나, 모델 보고가 충돌하는 경우에도 통과할 수 없습니다. 역사적으로 unknown/unverified인 항목을 자동으로 덮어쓰지 않습니다.
검사 및 전달
quality.md를 읽습니다. 기술 검사는 형식, 크기, 프레임 수, 지연 시간, 디코딩 및 픽셀 변화만 증명합니다. 동작의 자연스러움을 증명하지는 않습니다. 실제 검사는 전체 프레임과 정상 속도로 전체 재생을 수행하며, 각각 정체성, 스타일, 구조, 움직임, 의미, 루프, clean_visual(자막 및 텍스트 오버레이 없음)을 기록합니다. Jev를 사용할 수 있는 경우 실제 프레임 추출과 주 참조를 사용합니다. 정적 프레임 추출과 전체 재생 범위는 별도로 기록됩니다.
review는 원본 파일 해시에 바인딩됩니다. 모든 품질 요구사항이 통과된 후에만 export하여 ready_gif_assets로 만듭니다. 파생 내보내기는 기본적으로 ready 패키지만 사용합니다. 기술 및 출처가 적격하지만 전체 재생 검사가 누락된 경우 명시적으로 --review-copy를 사용하여 검토 대기 파일을 만들고 rendered_pending_review 및 누락 항목을 유지할 수 있습니다. 명백한 시각적 실패는 검토 대기 모드를 통해 통과시킬 수 없습니다.
사용자 선택에 따라 compose_movie.py --out assets.gif 또는 --out assets.mp4를 호출하며, 단일 번들 또는 여러 번들의 장면 목록을 지원합니다. 각 장면에 대해 한 주기만 사용하고 원래 속도를 유지하며 자막과 사운드를 추가하지 않습니다. MP4 내보내기는 비디오 스트림 하나만 강제로 포함합니다. 긴 GIF는 실제 총 지연 시간, 크기, 순서 및 단일 재생을 확인합니다. 둘 다 실제 화면을 확인해야 하며, 스트림 검사만으로는 화면에 새겨진 텍스트를 발견할 수 없습니다.
선택한 파일, 원본 GIF, 목록, 렌더링 영수증 및 나머지 검증 범위를 전달합니다. 기록 결과와 수정 버전을 추적 가능하게 유지합니다. 설치 경로가 심볼릭 링크인 경우 소스 디렉터리를 업데이트하고, 패키징 시 키와 실행 산출물을 제외합니다.