xAI가 safety_identifier로 Grok API 정책 위반을 사용자 단위로 구분하고, 11월 2일에는 이미지 모델이 바뀝니다 | DAKER 커뮤니티
Grok API를 붙인 서비스를 운영하거나 해커톤 데모를 공개해 둔 팀이라면, 11월 2일이 오기 전에 확인할 변경이 두 가지 있습니다. 하나는 요청마다 최종 사용자를 가리키는 safety_identifier 필드가 생겼다는 점이고, 다른 하나는 그날 이미지 모델 슬러그 grok-imagine-image-quality가 은퇴한다는 점입니다. 결론부터 말하면, 사용자 여러 명이 API 키 하나를 함께 쓰는 구조라면 safety_identifier를 지금 넣어 두는 편이 안전하고, 이미지 생성 코드는 11월 전에 모델 이름을 직접 바꿔 두는 편이 비용 관리에 유리합니다.

safety_identifier는 무엇을 바꾸나
xAI 개발자 문서의 릴리스 노트 9월 항목에 따르면, 이제 애플리케이션이 부여한 불투명한 최종 사용자 식별자인 safety_identifier를 요청에 함께 보낼 수 있습니다. 적용 범위는 Chat Completions, Responses API(스트리밍과 WebSocket 모드 포함), 지연 처리(deferred) 채팅 완성, Batch API, gRPC GetCompletionsRequest까지입니다. 문서는 이 필드가 있으면 정책 위반을 API 키 전체가 아니라 특정 최종 사용자에게 귀속할 수 있다고 설명합니다.
그동안 서비스 하나가 키 하나로 수많은 사용자의 요청을 대신 보내는 구조에서는, 한 사용자의 위반 요청이 곧 키 전체의 문제로 보일 위험이 있었습니다. safety_identifier는 이 책임 범위를 사용자 단위로 좁히는 장치입니다. 기존 user 필드도 호환을 위해 계속 받지만, 앞으로 문서화된 필드는 safety_identifier라고 명시되어 있습니다.
정책 위반이 생겼을 때 키 전체가 아니라 그 요청을 보낸 사용자 한 명으로 범위를 좁히는 것, 이것이 safety_identifier의 목적입니다.
값은 어떻게 만들어야 하나
보안 FAQ는 값을 만드는 기준을 구체적으로 적어 두었습니다. 식별자는 애플리케이션이 최종 사용자에게 부여하는 안정적이고 불투명한 문자열이어야 하며, 사용자가 직접 고르는 값이 아닙니다. 내부 사용자 ID를 해시한 값처럼 의미를 알 수 없는 문자열을 보내고, 이메일 주소나 전화번호, 표시 이름은 절대 넣지 말라고 안내합니다. 형식 검증은 하지 않으므로 규칙은 개발팀이 스스로 정해야 합니다.
이 필드는 OpenAI의 safety_identifier와 같은 이름과 역할을 갖습니다. 그래서 OpenAI 호환 코드를 그대로 쓰는 팀이라면 같은 자리에 같은 값을 넣는 것으로 정리할 수 있습니다. 문서는 또 OpenRouter나 Vercel AI Gateway처럼 한 키로 많은 사용자를 중계하는 게이트웨이와 플랫폼은 최종 사용자마다 이 값을 설정해야 신고 범위를 그 사용자로 한정할 수 있다고 덧붙였습니다.
실무에서는 다음 순서로 적용하면 무리가 없습니다.
- 로그인 사용자의 내부 ID에 서비스 고유의 솔트를 붙여 해시하고, 같은 사용자에게는 항상 같은 값이 나오게 합니다.
- 비로그인 데모라면 세션 단위 난수를 쓰되, 개인정보가 들어가지 않도록 합니다.
- 해시 값과 실제 사용자를 잇는 대응표는 서비스 내부에만 보관해, 연락을 받았을 때 해당 사용자를 찾아 조치할 수 있게 합니다.
11월 2일, 이미지 모델 슬러그가 바뀝니다
두 번째 변경은 이미지 생성입니다. 마이그레이션 가이드에 따르면 2026년 11월 2일부터 grok-imagine-image-quality 슬러그가 xAI API에서 은퇴하며, 60일 예고 기간은 9월 2일에 시작했습니다. 이후 이 이름으로 들어온 /v1/images/generations와 /v1/images/edits 요청은 grok-imagine-image-2.0이 quality 값 low로 처리합니다. 요청과 응답 형식은 그대로이고, 응답의 model 필드에 실제 처리한 모델이 찍히므로 로그로 전환 여부를 확인할 수 있습니다. grok-imagine-image-pro로 보내던 요청도 같은 경로를 따르며, grok-imagine-image(1.0)는 영향을 받지 않습니다.
| 항목 | 11월 2일 이후 동작 |
|---|---|
| grok-imagine-image-quality 요청 | grok-imagine-image-2.0, quality low로 처리 |
| 가격 | low 기준 모든 해상도에서 장당 0.01달러 저렴 |
| 코드 수정 | 필수는 아니지만 model 값을 직접 바꾸도록 권장 |
| 추가 기능 | 편집 원본 최대 5장, 21:9·5:2 비율 지원 |
가이드가 직접 전환을 권하는 이유는 품질 선택권입니다. 리다이렉트에 맡기면 low가 자동 적용되지만, 직접 바꾸면 세밀한 결과가 필요한 곳에는 medium을 고를 수 있습니다. quality를 생략하면 기본값 auto가 적용되는데, 현재 생성에는 low, 편집에는 medium을 쓰고 실제 처리된 품질로 과금됩니다. 비용을 예측해야 하는 서비스라면 auto보다 low나 medium을 명시하는 편이 계산이 쉽습니다.
한국 팀이 지금 점검할 것
해커톤 결과물을 공개 데모로 열어 두면, 심사가 끝난 뒤에도 불특정 다수가 같은 키로 요청을 보내게 됩니다. 이런 데모일수록 safety_identifier를 넣어 두어야 한 사람의 오용이 팀 전체 키의 문제로 번지지 않습니다. 이미지 생성 기능이 있는 서비스라면 코드 검색으로 grok-imagine-image-quality와 grok-imagine-image-pro 문자열을 찾아 grok-imagine-image-2.0으로 바꾸고, 원하는 quality 값을 함께 적어 두는 작업을 11월 2일 전에 끝내는 것이 좋습니다.
두 변경 모두 기능을 새로 배우는 일보다는 운영 습관을 바꾸는 일에 가깝습니다. 여러분의 서비스는 지금 사용자 식별을 어떤 방식으로 하고 계십니까? 해시 규칙이나 게이트웨이 설정 경험이 있다면 댓글로 나눠 주시면 좋겠습니다.
출처: xAI Release Notes · xAI Security FAQ · grok-imagine-image-quality Retirement on November 2, 2026