Steam 창작마당에서 공식 Mod를 설치하면 외부 API를 이용할 수 있습니다. API 키 등의 인증 정보는 직접 취득해 주세요.
기본 지원 API (1.0.1):
- Google Cloud Vision (DOCUMENT_TEXT_DETECTION)
- Microsoft Azure AI Vision (Read API)
- *OpenAI Vision Sample (gpt4o-mini)
* 사용자 확장의 예시로 동봉
기본 지원 API (1.0.1):
- DeepL API
- Microsoft Azure AI Translator
- *Google App Script Sample (VRHandsFrame v1 호환)
- *LibreTranslate
* 사용자 확장의 예시로 동봉
Mod를 설치하면 설정 화면 사이드바 하단에 항목이 표시됩니다. 슬라이드 바를 ON으로 하면 내장 기능 대신 Mod가 사용됩니다. Mods 항목이 표시되지 않는 경우 VRHandsFrame 또는 Steam 클라이언트를 재시작해 주세요.

공식 Mod가 지원하지 않는 API를 이용하고 싶은 경우, 다음 두 가지 방법이 있습니다:
Extension Object를 기술한 새 json 파일을 추가한다 (권장)user_extension.json 파일을 편집한다Extension Object는 사용자 확장의 API 엔드포인트 URL, 요청/응답 파라미터 등의 정보를 정의하기 위한 객체입니다.
user_extension.json은 몇 가지 Extension Object 예시를 포함하는 파일입니다.
Steam 창작마당에서 Mod를 설치하면, 앱 시작 시 아래 디렉터리에 필요한 user_extension.json과 manifest.json 파일이 생성됩니다:
../SteamLibrary/steamapp/common/VRHandsFrame/Mods/VisionBaseMod/
../SteamLibrary/steamapp/common/VRHandsFrame/Mods/TranslationBaseMod/
이 위치에 Extension Object를 기술한 json 파일을 추가해 주세요.
파일 이름은 자유롭게 지정할 수 있지만, Extension Object의 "name" 키 값은 각 Mod 내에서 고유해야 합니다.
** 원본 user_extension.json과 manifest.json 파일은 삭제하지 마세요! 이 파일들은 필수입니다. **
| name required | string 확장의 이름
|
| url required | string API 요청을 보낼 대상 URL |
required | Key (object) API 요청의 키가 되는 인증 정보입니다.
|
object API 요청의 선택적 HTTP 헤더 | |
required | Array of APIRequestObject (object) non-empty API 요청에 필요한 파라미터
|
required | APIResponseObject (object) API 응답으로 기대하는 파라미터 |
{- "name": "OpenAI Vision Sample (gpt-4o-mini)",
- "key": {
- "type": "bearer",
- "value": ""
}, - "headers": {
- "Content-Type": "application/json"
}, - "request": [
- {
- "type": "json",
- "params": {
- "model": "gpt-4o-mini",
- "messages": [
- {
- "role": "user",
- "content": [
- {
- "type": "text",
- "text": "What is in this image?"
}, - {
- "type": "image_url",
- "image_url": {
- "url": "data:image/png;base64,$image_data"
}
}
]
}
], - "max_tokens": 1024
}
}
], - "response": {
- "type": "json",
- "jsonKey": "choices[0].message.content"
}
}| type required | string Enum: "json" "form" "query" 파라미터 종류
query 파라미터 객체는 JSON 또는 폼 데이터와 조합할 수 있습니다. 그 경우 배열 요소로 나누어 정의해 주세요. |
| params required | object API 요청 파라미터 이용하려는 API의 사양에 맞춰 파라미터를 설정해 주세요. 다음 문자열은 플레이스홀더로 사용됩니다:
|
{- "type": "json",
- "params": {
- "image": "$image_png"
}
}| type required | string Value: "json" |
| jsonKey required | string 받고자 하는 텍스트 정보가 저장된 Json 키
|
{- "type": "json",
- "jsonKey": "choices[0].message.content"
}| description required | string Mod 이름 |
| version required | string Mod 버전 |
required | Array of ExtensionObject (object) >= 0 items 사용자 확장 정의 |
{- "description": "Vision User Extension",
- "version": "1.0.1",
- "extensions": [
- {
- "name": "OpenAI Vision Sample (gpt-4o-mini)",
- "key": {
- "type": "bearer",
- "value": ""
}, - "headers": {
- "Content-Type": "application/json"
}, - "request": [
- {
- "type": "json",
- "params": {
- "model": "gpt-4o-mini",
- "messages": [
- {
- "role": "user",
- "content": [
- {
- "type": "text",
- "text": "What is in this image?"
}, - {
- "type": "image_url",
- "image_url": {
- "url": "data:image/png;base64,$image_data"
}
}
]
}
], - "max_tokens": 1024
}
}
], - "response": {
- "type": "json",
- "jsonKey": "choices[0].message.content"
}
}
]
}