API Hop

문서

API Hop 문서

공통 채팅 완성

`model` 매개변수로 텍스트 모델을 전환하는 통합 채팅 API입니다. 요청 형식은 OpenAI Chat Completions와 호환됩니다.

POSThttps://api.apihop.ai/v1/chat-completions

model 매개변수로 텍스트 모델을 전환하는 통합 채팅 API입니다. 요청 형식은 OpenAI Chat Completions와 호환됩니다.

상위 공급자는 Claude Sonnet 4.6(claude-sonnet-4-6)을 지원하지만 RequestBeam에는 현재 공개되지 않았습니다. 활성 연동의 기본 모델이 아닙니다. 모델을 호출하기 전에 자신의 GET https://api.apihop.ai/v1/models 응답으로 접근 가능 여부를 확인하세요.

이 엔드포인트는 기본적으로 완전한 JSON 응답 하나를 반환합니다. SSE 스트리밍이 필요하면 stream: true를 명시하세요.

text
POST https://api.apihop.ai/v1/chat-completions

인증

모든 요청에는 Bearer 토큰 인증이 필요합니다.

http
Authorization: Bearer YOUR_API_KEY

인증에 실패하면 다음을 확인하세요:

  • API 키가 올바른지
  • 키가 이 API 기본 URL에서 유효한지
  • 요청 헤더의 철자가 올바른지
  • 프록시가 인증 헤더를 다시 쓰는지

요청 본문

modelstring필수기본값: gpt-5.4

문서화된 텍스트 모델 ID(GET https://api.apihop.ai/v1/models로 접근 권한 확인):

  • OpenAI: gpt-5.4, gpt-5.5, gpt-5.6-sol, gpt-5.6-terra, gpt-6-astra
  • Anthropic: claude-fable-5, claude-fable-5-1, claude-opus-4-6, claude-opus-4-7, claude-opus-4-8, claude-opus-5, claude-opus-5-5, claude-sonnet-5, claude-sonnet-5-5
  • DeepSeek: deepseek-v4-flash, deepseek-v4-pro, deepseek-v4.1-flash

(V4.1 Flash는 별도 모델 ID이며 배포 및 활성화 후에만 사용할 수 있습니다. 확인: GET https://api.apihop.ai/v1/models).

  • Gemini: gemini-3.6-flash, gemini-3.7-flash, gemini-3.8-flash, gemini-3.5-flash-lite, gemini-4-argon (배포 및 활성화 후)
  • Kimi: kimi-k3
  • MiniMax: minimax-m3

전체 목록과 현재 API 키에 표시되는 모델은 모델 카탈로그를 확인하세요. 현재 가용성은 자신의 GET https://api.apihop.ai/v1/models 응답을 기준으로 하세요. 계열별 선택 참고 사항과 예제는 DeepSeek, Gemini, Kimi, MiniMax 가이드를 참조하세요.

messagesobject[]필수

채팅 메시지입니다. 각 메시지에는 다음이 포함되어야 합니다:

  • role: system, user 또는 assistant
  • content: 메시지 내용

예제:

json
  [
    {"role": "system", "content": "You are a helpful Python tutor."},
    {"role": "user", "content": "How should I learn programming?"}
  ]

모델별 샘플링 제한: gpt-6-astra는 기존 temperature, top_p, top_logprobs를 받지 않습니다. 이전 클라이언트가 포함해도 생략하세요. RequestBeam의 GPT-6 Astra Playground도 기존 샘플링 및 페널티 제어를 숨깁니다. 문서화된 연동 재검증에서 claude-sonnet-5가 top_p를 거부했으므로 해당 모델에서도 생략하세요. 프록시가 선택적 필드를 전달한다고 선택한 상위 모델의 지원이 입증되는 것은 아닙니다.

temperaturenumber기본값: 1.0

샘플링 온도입니다. OpenAI 호환 클라이언트는 일반적으로 0부터 2까지 사용하지만 최종 유효성 검사는 선택한 모델이 결정합니다.

max_tokensinteger

선택적 최대 출력 토큰으로 양의 정수입니다. 생략하면 선택한 모델의 공급자 기본값을 사용합니다. 기본값과 최대 한도는 모델 및 공급자 설정에 따라 다릅니다.

모델에 따라 예산에 추론 토큰과 최종 텍스트가 모두 포함될 수 있습니다. 작은 예산은 finish_reason: "length"를 유발하거나 답변을 잘라내거나 최종 텍스트 전에 소진될 수 있습니다. 늘리면 비용이 증가할 수 있습니다.

max_completion_tokensinteger

max_tokens의 선택적 호환 대안으로 같은 예산 고려 사항이 적용됩니다. 모델이 둘 중 하나만 받을 수 있으므로 모델 전환 시 최소 본문으로 시작하세요. 둘 다 생략하면 공급자 기본값을 사용합니다.

streamboolean기본값: false

응답 스트리밍 여부입니다.

  • true: Server-Sent Events 반환
  • false: 완전한 응답 하나 반환
top_pnumber기본값: 1.0

뉴클리어스 샘플링 매개변수입니다. OpenAI 호환 클라이언트는 일반적으로 0부터 1까지 사용하며 최종 유효성 검사는 선택한 모델이 수행합니다.

frequency_penaltynumber기본값: 0

빈도 페널티입니다. OpenAI 호환 클라이언트는 일반적으로 -2.0부터 2.0까지 사용하며 최종 유효성 검사는 선택한 모델이 수행합니다.

presence_penaltynumber기본값: 0

존재 페널티입니다. OpenAI 호환 클라이언트는 일반적으로 -2.0부터 2.0까지 사용하며 최종 유효성 검사는 선택한 모델이 수행합니다.

stopstring | array

중지 시퀀스 또는 중지 시퀀스 배열입니다. 허용 개수와 동작은 선택한 모델이 결정합니다.

ninteger기본값: 1

생성할 응답 개수입니다. 따옴표로 묶은 문자열 대신 1 같은 숫자를 사용하세요.

모델 매개변수 차이

현재 텍스트 모델은 최소 스트리밍 및 비스트리밍 Chat 요청을 지원하지만 선택적 매개변수의 수락 여부와 효과는 선택한 모델 및 호환 구현에 따라 다릅니다.

2026-09-26의 최신 재검증은 claude-fable-5의 temperature: 0을 수락하고 텍스트를 반환했습니다. 같은 검증에서 claude-sonnet-5의 top_p: 0.9는 HTTP 400 및 top_p is deprecated로 거부되었습니다. 해당 모델에서는 top_p를 생략하세요. 수락은 샘플링 효과를 입증하지 않으며 다른 모델이나 이후 요청도 보장하지 않습니다. 모든 샘플링 매개변수가 지원된다고 가정하지 마세요.

2026-09-26의 OpenAI 검증은 gpt-5.6-sol과 gpt-5.6-terra의 stop을 수락했습니다. 공급자에 따라 매개변수 수락 여부는 바뀔 수 있으며 중지 시퀀스의 효과를 입증하지 않습니다.

기본 OpenAI 호환 Chat 전달은 공급자 요청에 top_p와 stop을 유지합니다. Chat을 Responses로 변환하는 경로는 top_p를 유지하지만 stop은 전달하지 않습니다. 필드 전달은 공급자 지원이나 효과를 입증하지 않으며 두 필드 모두 모든 경로에 걸친 플랫폼 전체 보장이 없습니다.

모델을 바꿀 때 최소 요청으로 시작한 다음 샘플링, 중지 시퀀스 및 고급 도구 매개변수를 각각 확인하세요. 중지 시퀀스는 HTTP 상태뿐 아니라 실제 텍스트와 중지 사유를 확인하세요. HTTP 200은 샘플링 효과를 입증하지 않습니다. 출력 예산은 모델의 사고 과정과 최종 텍스트를 모두 수용해야 합니다.

요청 예제

json
{
  "model": "gpt-5.4",
  "messages": [
    {
      "role": "user",
      "content": "Hello, introduce yourself briefly."
    }
  ],
  "stream": false
}

응답

idstring

고유한 응답 식별자입니다.

objectstring

객체 유형으로, 일반적으로 chat.completion이며 스트리밍은 chat.completion.chunk입니다.

createdinteger

Unix 생성 타임스탬프입니다.

modelstring

응답에서 반환된 모델 식별자입니다.

choicesarray

메시지 내용, 인덱스 및 완료 사유를 포함하는 생성된 선택 항목입니다.

usageobject

토큰 사용량 통계입니다.

성공 예제

json
{
  "id": "chatcmpl-9876543210",
  "object": "chat.completion",
  "created": 1677652288,
  "model": "gpt-5.4",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "I am an AI assistant that can help with writing, coding, and analysis."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 28,
    "completion_tokens": 42,
    "total_tokens": 70
  }
}

오류 응답

전체 코드 참조, 프로토콜 차이 및 진단 절차는 오류 코드 및 문제 해결을 참조하세요.

Chat Completions HTTP 오류는 평면 JSON 본문을 사용하며 SSE 시작 전에 반환되는 공급자 HTTP 오류도 포함합니다. 예를 들어 HTTP 402는 다음을 반환합니다:

json
{
  "code": 40000,
  "message": "Insufficient credit. Required: 30000, Available: 20000",
  "type": "api_error"
}
  • code: HTTP 상태와 별개인 숫자 플랫폼 오류 코드이며 문자열이 아님
  • message: 사람이 읽을 수 있는 오류 설명
  • type: api_error
  • requestId: 문제 해결용 선택적 요청 식별자
HTTP 상태code의미
40010000잘못된 요청
40120000누락되거나 잘못된 인증
40240000잔액 부족
40320001접근 거부 또는 이 키에서 모델 사용 불가
40430000모델 또는 리소스를 찾을 수 없음
40930001요청 충돌
42210001유효성 검사 오류
42940001속도 제한 초과
50050003내부 오류
50250000상위 공급자 오류
50350001서비스 사용 불가
50450002게이트웨이 시간 초과

먼저 HTTP 상태로 요청 성공 여부를 확인한 뒤 숫자 code를 비교해 애플리케이션별 처리를 수행하세요. code를 "400" 같은 문자열과 비교하거나 HTTP 상태와 같다고 가정하거나 message를 안정적인 오류 식별자로 파싱하지 마세요. 누락되거나 타입이 잘못된 messages는 공급자 호출 전에 HTTP 400과 code: 10000으로 거부됩니다.

이 오류 형식은 Chat Completions HTTP 응답에 적용되며 이미 시작된 SSE 스트림 내부 오류나 다른 API 프로토콜에는 적용되지 않습니다. 모델 카탈로그와 기본 프로토콜 엔드포인트에는 각각 문서화된 오류 형식이 있습니다.