Step 3.7 Flash는 Novita AI에서 Serverless LLM으로 제공되며 모델 ID는 stepfun/step-3.7-flash, OpenAI 호환 chat/completions 엔드포인트, 텍스트, 이미지, 비디오 입력 지원, 텍스트 출력, 함수 호출, 구조화된 출력, 추론 기능이 모델 페이지에 나열되어 있습니다. 이 빠른 시작 가이드는 개발자 워크플로우에 초점을 맞춥니다: API 호출 방법, 지금 안전하게 사용할 수 있는 요청 패턴, 예산을 세울 가격 필드, 그리고 프로덕션에 멀티모달 또는 추론 동작을 연결하기 전에 주의해야 할 사항입니다.
API 호출 전에 필요한 것은 무엇인가요?
세 가지 구성 요소로 시작하세요:
| 항목 | 값 |
|---|---|
| API 키 | Novita AI API 키를 생성하여 환경 변수(예: NOVITA_API_KEY)에 저장합니다. |
| OpenAI 호환 base URL | https://api.novita.ai/openai |
| 채팅 완료 엔드포인트 | POST https://api.novita.ai/openai/v1/chat/completions |
| 모델 ID | stepfun/step-3.7-flash |
Novita AI 문서 인덱스에는 OpenAI 호환 base URL이 나열되어 있으며, 채팅 완료 API 참조에는 POST https://api.novita.ai/openai/v1/chat/completions의 요청 및 응답 필드가 문서화되어 있습니다.
API 키를 소스 코드 저장소에 포함시키지 마세요. 로컬 개발에서는 셸에서 내보내고, 프로덕션에서는 시크릿 매니저에서 불러오세요:
export NOVITA_API_KEY="your_api_key"
애플리케이션에서 이미 OpenAI 호환 채팅 완료를 사용 중이라면 일반적으로 마이그레이션 경로는 간단합니다: 클라이언트를 Novita AI의 base URL로 지정하고, Authorization Bearer 토큰을 설정한 후 Step 3.7 Flash 모델 ID를 사용하면 됩니다.
구현에 중요한 Step 3.7 Flash 정보는 무엇인가요?
코드에는 정확한 모델 ID를 사용하고, 사용자에게 보여주는 UI에는 표시 이름을 사용하세요. 현재 Novita 모델 페이지는 Step 3.7 Flash를 StepFun 시리즈의 채팅 모델로 나열합니다.
| 필드 | 현재 Novita 값 |
|---|---|
| 표시 이름 | Step 3.7 Flash |
| API 모델 ID | stepfun/step-3.7-flash |
| Novita가 표시하는 모델 계열 | StepFun |
| 호스팅 유형 | Serverless LLM |
| 엔드포인트 | chat/completions |
| 입력 모달리티 | 텍스트, 이미지, 비디오 |
| 출력 모달리티 | 텍스트 |
| 컨텍스트 윈도우 | 262,144 토큰 |
| 최대 출력 토큰 | 256,000 |
| 나열된 기능 | Serverless, 함수 호출, 구조화된 출력, 추론 |
| 나열된 레이블 | MoE, >100B, NEW, Featured |
| 기본 T1 속도 제한 | 30 RPM 및 50,000,000 TPM |
2026년 6월 18일 기준, Novita는 stepfun/step-3.7-flash에 대해 다음과 같은 토큰 가격을 명시하고 있습니다:
| 토큰 유형 | 명시된 가격 |
|---|---|
| 입력 토큰 | 1M 토큰당 $0.20 |
| 출력 토큰 | 1M 토큰당 $1.15 |
| 캐시 읽기 입력 토큰 | 1M 토큰당 $0.04 |
가격, 모델 가용성, 속도 제한, 지원되는 요청 매개변수는 변경될 수 있습니다. 구매 검토, 프로덕션 출시 또는 고객 대상 가격 약정 전에 Step 3.7 Flash 모델 페이지와 Novita AI 가격 페이지를 확인하세요.
cURL로 Step 3.7 Flash를 호출하는 방법은?
첫 번째 간단한 테스트는 요청을 텍스트 전용으로 유지하세요. 이렇게 하면 도구, 스키마, 이미지, 비디오를 추가하기 전에 인증, 모델 라우팅, 응답 파싱, 기본 생성이 제대로 되는지 확인할 수 있습니다.
curl "https://api.novita.ai/openai/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${NOVITA_API_KEY}" \
-d '{
"model": "stepfun/step-3.7-flash",
"messages": [
{
"role": "system",
"content": "You are a concise technical assistant."
},
{
"role": "user",
"content": "Create a four-step checklist for testing a multimodal support bot before release."
}
],
"max_tokens": 512,
"temperature": 0.2
}'
성공적인 응답은 Novita AI가 문서화한 채팅 완료 형식과 일치합니다: choices 배열, 생성된 content가 포함된 메시지, created/model 메타데이터, 그리고 사용량이 반환될 때 usage 객체가 포함됩니다. 스트리밍 응답의 경우 API 참조에 사용량이 마지막 응답 청크에 나타난다고 명시되어 있습니다.
이 간단한 테스트를 통해 다음을 확인하세요:
- API 키가 유효한지.
- 모델 ID가 허용되는지.
- 클라이언트가
choices[0].message.content를 파싱할 수 있는지. - 로깅에서 시크릿을 저장하지 않고 프롬프트, 완료, 총 토큰 사용량을 캡처하는지.
- 타임아웃 및 재시도 정책이 프롬프트 크기에 적합한지.
Python에서 Step 3.7 Flash를 호출하는 방법은?
OpenAI Python SDK 패턴은 Novita base URL을 설정하면 Novita AI와 함께 작동합니다. SDK를 설치하고 의존성 정책에 따라 버전을 고정하세요.
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.novita.ai/openai",
api_key=os.environ["NOVITA_API_KEY"],
)
response = client.chat.completions.create(
model="stepfun/step-3.7-flash",
messages=[
{"role": "system", "content": "You are a concise technical assistant."},
{
"role": "user",
"content": "Summarize the release risks for a customer support workflow that accepts screenshots and long text tickets.",
},
],
max_tokens=512,
temperature=0.2,
)
print(response.choices[0].message.content)
애플리케이션 코드에서는 이 호출을 작은 모델 게이트웨이로 감싸서 코드베이스 전역에 원시 API 호출을 분산시키지 않는 것이 좋습니다. 게이트웨이를 사용하면 기본 토큰 제한을 적용하고, 라우트별 타임아웃을 설정하고, 오류를 정규화하고, 비즈니스 로직을 변경하지 않고 평가를 위해 모델을 전환할 수 있습니다.
실용적인 프로덕션 래퍼는 다음을 캡처해야 합니다:
model,prompt_tokens,completion_tokens,total_tokens.- 요청 지연 시간 및 재시도 횟수.
- HTTP 상태 및 API 오류 카테고리.
- 도구, JSON 스키마, 이미지 입력, 또는 비디오 입력이 사용되었는지 여부.
- API 키와 민감한 사용자 콘텐츠를 제외한 수정된 요약 요청.
이 원격 측정 데이터는 Step 3.7 Flash가 큰 컨텍스트 윈도우와 높은 최대 출력 제한을 가지고 있기 때문에 중요합니다. 이러한 제한은 유용하지만, 프로덕션 시스템은 여전히 명시적인 max_tokens를 설정하고, 모델 호출 전에 과도한 사용자 업로드를 거부하며, 출력 길이를 모니터링해야 합니다.
멀티모달 입력은 어떻게 처리해야 하나요?
Novita는 Step 3.7 Flash의 입력 모달리티로 텍스트, 이미지, 비디오를, 출력 모달리티로 텍스트를 명시하고 있습니다. 이를 지원되는 기능 경계로 간주한 후, 현재 Novita 문서나 콘솔에서 정확한 페이로드 형태를 확인한 후에 멀티모달 통합을 배포하세요.
빠른 시작을 위해 다음 순서를 따르세요:
- 텍스트 전용 간단 테스트를 실행합니다.
- 현재 문서화된 Novita 채팅 메시지 형식을 사용하여 이미지 입력 하나를 추가합니다.
- 실제 작업에서 응답 품질과 응답 형태를 검증합니다.
- 요청 형식, 크기 제한, 지연 시간, 비용 동작을 확인한 후에만 더 큰 이미지 배치나 비디오를 추가합니다.
모든 OpenAI 호환 멀티모달 페이로드 형태가 모든 Novita 호스팅 모델에서 수용된다고 가정하지 마세요. Step 3.7 Flash 모델 페이지는 이미지 및 비디오 입력 지원을 확인하지만, 비디오 요청 예제는 파일 처리, URL 접근, 길이, 크기, 모델별 형식에 더 민감합니다. 현재 문서나 콘솔 예제에서 필요한 정확한 비디오 페이로드 형태를 보여주지 않는다면, 다른 제공자의 문서에서 하드코딩하지 마세요.
이미지 사용 사례로 좋은 첫 번째 예는 다음과 같습니다:
- 사용자의 티켓 텍스트와 함께 지원 스크린샷 요약.
- 내부 분류 도우미를 위한 제품 스크린샷에서 UI 상태 추출.
- 시각적 QA 이미지를 검토하고 텍스트 체크리스트 생성.
비디오는 더 보수적으로 테스트해야 합니다. 짧은 클립으로 시작하고, 작동하는 정확한 요청 형태를 기록하고, 지연 시간과 토큰 사용량을 캡처하고, 비디오 입력이 거부되거나 너무 크거나 너무 느린 경우를 대비한 대체 동작을 정의하세요.
함수 호출과 구조화된 출력은 어떻게 사용하나요?
Step 3.7 Flash는 함수 호출 및 구조화된 출력 기능이 나열되어 있습니다. 채팅 완료 API에서 함수 호출은 tools를 통해, 구조화된 출력은 response_format을 통해 제공됩니다.
모델이 사용자에게 직접 응답하는 대신 도구를 선택하고 JSON 인수를 반환해야 할 때 함수 호출을 사용하세요. API 참조에는 type이 function이고, function.name, description, JSON Schema parameters, 선택적 strict 설정이 포함된 함수 도구가 문서화되어 있습니다.
tools = [
{
"type": "function",
"function": {
"name": "create_support_ticket",
"description": "Create an internal support ticket from a user-reported issue.",
"parameters": {
"type": "object",
"properties": {
"summary": {"type": "string"},
"priority": {
"type": "string",
"enum": ["low", "medium", "high"],
},
"needs_human_review": {"type": "boolean"},
},
"required": ["summary", "priority", "needs_human_review"],
},
},
}
]
response = client.chat.completions.create(
model="stepfun/step-3.7-flash",
messages=[
{
"role": "user",
"content": "The payment settings page returns a 500 error after I upload a screenshot.",
}
],
tools=tools,
temperature=0.1,
)
애플리케이션에 검증된 JSON 응답이 필요하고 외부 도구 호출이 필요하지 않은 경우 구조화된 출력을 사용하세요. Novita의 채팅 완료 API 참조는 json_schema와 함께 response_format을 문서화하고, strict 모드가 JSON Schema의 하위 집합을 지원한다고 명시합니다. 초기 스키마는 작게 유지하고, 특이한 스키마 기능을 피하며, 모델 응답이 검증되지 않을 때는 실패(fail closed) 처리하세요.
추론의 경우, 모델 기능과 요청 동작을 구분하세요. Step 3.7 Flash 모델 페이지는 추론을 기능으로 나열하고, 채팅 완료 API 참조는 모델별 지원 참고 사항과 함께 추론 관련 매개변수를 문서화합니다. 프로덕션 파서에서 추론 필드에 의존하기 전에 stepfun/step-3.7-flash로 API 테스트를 실행하고 계정이 수신하는 정확한 응답 형태를 처리하세요.
팀은 프로덕션 전에 어떻게 예산을 세우고 테스트해야 하나요?
명시된 토큰 가격을 사용하여 첫 번째 예산을 추정한 후 실제 사용 로그로 검증하세요. Step 3.7 Flash는 입력, 출력, 캐시 읽기에 대해 다른 가격이 책정되어 있으므로, 긴 프롬프트, 장황한 출력, 반복되는 컨텍스트는 각기 다른 비용 프로필을 가집니다.
예를 들어, 대용량 지원 기록을 보내는 애플리케이션은 입력 토큰에 예산의 대부분을 사용할 수 있습니다. 긴 계획을 요청하는 에이전트는 출력 토큰에 더 많은 비용을 지출할 수 있습니다. 컨텍스트를 재사용하는 검색 또는 메모리 워크플로우는 캐시 동작이 배포된 요청 패턴에 적용되는 경우 캐시 읽기 가격의 혜택을 받을 수 있습니다.
프로덕션 전에 다음과 같은 평가 세트를 실행하세요:
- 지연 시간과 기준 응답 품질을 위한 짧은 텍스트 전용 프롬프트.
- 최대 컨텍스트 윈도우가 아닌 예상 상한에 가까운 긴 컨텍스트 프롬프트.
- 실제 업로드 소스 및 파일 처리와 일치하는 이미지 프롬프트.
- 올바른 동작이 함수를 호출하는 것인 도구 호출 프롬프트.
- 유효하지 않은 필드, 누락된 필드, 경계 사례를 의도적으로 테스트하는 JSON 스키마 프롬프트.
- 과도한 입력, 미디어 누락, 유효하지 않은 API 키, 시간 초과에 대한 실패 사례.
기능 목록만 보고 새 모델에 모든 트래픽을 라우팅하지 마세요. 기능 플래그는 사용 가능한 것을 알려주고, 평가는 모델이 작업 부하에서 지시 사항, 스키마, 안전 규칙, 지연 시간 예산을 따르는지 여부를 알려줍니다.
FAQ
Step 3.7 Flash를 Novita AI를 통해 사용할 수 있나요?
네. Novita는 Step 3.7 Flash를 API 모델 ID stepfun/step-3.7-flash의 Serverless LLM으로 나열하고 있습니다.
Step 3.7 Flash에 어떤 엔드포인트를 사용해야 하나요?
OpenAI 호환 채팅 완료 엔드포인트를 사용하세요: POST https://api.novita.ai/openai/v1/chat/completions.
Step 3.7 Flash는 이미지 및 비디오 입력을 지원하나요?
Novita는 Step 3.7 Flash의 입력 모달리티로 텍스트, 이미지, 비디오를, 출력 모달리티로 텍스트를 나열하고 있습니다. 프로덕션 전에 현재 Novita 문서나 콘솔 예제를 사용하여 정확한 이미지 또는 비디오 페이로드 형태를 확인하세요.
Step 3.7 Flash의 비용은 얼마인가요?
2026년 6월 18일 기준, Novita는 stepfun/step-3.7-flash에 대해 1M 입력 토큰당 $0.20, 1M 출력 토큰당 $1.15, 1M 캐시 읽기 입력 토큰당 $0.04를 명시하고 있습니다.
Step 3.7 Flash는 함수 호출 및 구조화된 출력을 지원하나요?
네. Novita는 함수 호출 및 구조화된 출력을 Step 3.7 Flash의 기능으로 나열하고 있습니다. 함수 호출에는 tools를, 구조화된 출력에는 response_format을 사용하고, 프로덕션 전에 정확한 스키마와 파서를 테스트하세요.
다른 제공자의 비디오 페이로드를 복사해도 되나요?
아니요. API가 OpenAI 호환 가능하더라도 멀티모달 파일 및 URL 처리는 다를 수 있습니다. 현재 Novita 문서, 콘솔 예제 또는 stepfun/step-3.7-flash에 대한 자체 성공적인 API 테스트에서 확인된 페이로드 형태를 사용하세요.
