Qwen: Qwen3.5-122B-A10B
Qwen3.5-122B-A10B는 총 파라미터 122B 중 10B를 활성화하는 Qwen의 비전 언어 전문가 혼합 모델입니다. 추론, 코딩, 에이전트 작업에 텍스트, 이미지, 동영상을 받아 텍스트를 반환하며, 선택 가능한 사고와 기본 262,144토큰 컨텍스트를 제공합니다.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsqwen/qwen3.5-122b-a10b - Ailoot Ultra · Anthropic Messages
POST /v1/messagesqwen/qwen3.5-122b-a10b
모델 소개
이 설명은 모델의 기능을 다룹니다. Ailoot에서 사용할 수 있는 입력, 출력 및 옵션은 아래에 선택한 메서드별로 표시됩니다.
Qwen3.5의 주요 특징: 122B-A10B 전문가 모델
Qwen3.5-122B-A10B는 텍스트와 시각 통합 작업을 위한 사후 학습 비전 언어 모델입니다. 텍스트, 이미지, 동영상을 받아 설명, 코드 제안, 요청 문서 산출물 등의 텍스트를 반환합니다. 제품군은 초기 텍스트·시각 융합과 점차 복잡해지는 작업의 강화학습을 통해 구축되어 추론, 코딩, 에이전트, 시각 이해를 발전시킵니다. 201개 언어와 방언을 다룬다고 설명하지만 모든 언어나 영역에서 신뢰성이 같다는 뜻은 아닙니다.
유용한 작업은 기술 사양, 다이어그램, 관련 코드를 결합하고 모델에 구성요소를 설명한 뒤 구현안을 반환하도록 요청할 수 있습니다. 문서 분석 작업은 근거 절 또는 페이지 참조가 있는 비교를 요청할 수 있습니다.
모델 개요
희소 전문가 혼합 체크포인트는 총 122B 파라미터를 가지며 10B를 활성화합니다. 언어 모델 레이어는 48개이며 Gated DeltaNet 전문가 레이어 3개 뒤에 게이트 어텐션 전문가 레이어 1개를 묶습니다. 제작사는 라우팅 전문가 256개가 있으며 그중 8개를 공유 전문가 1개와 함께 선택한다고 명시합니다. 비전 인코더와 다중 토큰 예측이 모델에 포함됩니다. 총 수치와 활성화 수치는 의미가 다르며 활성화 수치가 전체 체크포인트 크기는 아닙니다.
이는 밀집 Qwen3.5-27B, 희소 Qwen3.5-35B-A3B, 이후 모델 세대와 구분되는 에디션입니다. 크기만으로 일반적인 성능이나 지연 시간 순위를 추론하면 안 됩니다. 기본 컨텍스트는 262,144토큰이며 문서화된 확장은 구성에 따라 1,010,000토큰에 도달합니다. Qwen은 메모리 부담 때문에 더 작은 창이 필요할 수 있음을 인정하면서도, 복잡한 사고에 가능하면 최소 128K 컨텍스트를 유지하도록 권고합니다.
텍스트 및 시각 통합 증거 준비하기
다이어그램 레이블, 차트 축, 표 머리글, 단위를 보존하세요. 결과가 관계 설명, 명명된 필드 추출, 코드 제안 중 무엇이어야 하는지 명시하세요. 여러 원본이 중요하면 레이블을 붙이고 동일한 식별자별로 구성된 출력을 요청하세요. 검토자가 추론을 제공 자료로 추적할 수 있도록 보이는 사실과 가정을 분리하세요.
코딩 요청에서는 의도한 동작, 관련 소스, 문제를 보여 주는 입력을 식별하세요. 영향을 받는 조건과 검사 설명이 붙은 편집 가능한 패치를 요청하세요. 동영상에서는 이벤트 순서와 시간을 보존하고 구분 없는 요약 대신 질문을 지정하세요. 모델의 텍스트 결과는 점검할 초안 산출물입니다. 시각 입력 기능이 이미지, 동영상, 음성 생성을 뜻하지는 않습니다.
사고와 기록
사고는 기본적으로 활성화되며 최종 답변 전에 추론이 나옵니다. 제작사의 enable_thinking 설정으로 직접 응답을 위해 비활성화할 수 있습니다. 이전 /think 및 /nothink 소프트 전환은 공식 지원되지 않습니다. Qwen3.5는 과거 어시스턴트 메시지에 사고 내용을 제외한 최종 답변을 유지하도록 권장합니다. 같은 제품군 이름을 공유한다는 이유만으로 이를 이후 Qwen 세대의 과거 보존 옵션으로 대체하면 안 됩니다.
정의된 답변 필드, 구분자로 표시한 값, 별도 코드 산출물처럼 최종 결과를 쉽게 찾을 수 있게 하세요. 직접 답변에도 검사가 필요하며 긴 추론은 그 단계들이 검증 가능한 결론을 뒷받침할 때만 유용합니다.
에이전트 활용
Qwen은 도구 호출을 문서화하고, 설정된 도구 또는 MCP 연결 도구를 사용하는 Qwen-Agent와 코딩 에이전트 작업용 Qwen Code를 권장합니다. 허용 작업, 가용 증거, 완료 기준을 정의하세요. 연결된 도구가 작업을 실행하고 결과를 반환하면 모델은 그 피드백을 분석에 사용합니다. 제안 명령, 검색 질의, 패치는 애플리케이션이 실제 완료한 작업과 구분되어야 합니다.
초장문 컨텍스트와 동영상
제작사의 확장은 체크포인트의 교차 배치 위치 설정과 함께 YaRN을 사용합니다. 계수 4는 약 100만 토큰 워크플로를 대상으로 하고, 524,288토큰 작업량에는 2가 제안됩니다. 정적 스케일링은 더 짧은 텍스트 성능에 영향을 줄 수 있으므로 더 큰 컨텍스트가 실제로 필요할 때 적용해야 합니다. 입력, 표현된 시각 자료, 기록, 추론, 최종 응답은 모두 설정된 시퀀스 예산을 사용합니다.
지원 동영상 예시는 기본적으로 초당 2프레임을 사용합니다. 시간 단위 자료에는 제작사가 더 높은 샘플링 속도를 위해 프로세서 예산을 약 224K 동영상 토큰으로 늘릴 것을 권장합니다. 이는 구성에 따라 달라지는 레시피이며 보편적인 미디어 길이, 완전한 기억, 타임스탬프 정밀도 보장이 아닙니다.
생성 지침과 실질적인 한계
Best Practices는 일반 사고에 temperature 1.0, top_p 0.95, top_k 20, min_p 0, presence penalty 1.5, repetition penalty 1.0을 권장합니다. 정밀 코딩은 temperature 0.6, presence penalty 0을 사용합니다. 일반 직접 응답은 temperature 0.7, top_p 0.8, presence penalty 1.5를 사용하며, top_k는 20, min_p는 0, repetition penalty는 1.0입니다. 직접 응답 추론에는 temperature 1.0, top_p 1.0, top_k 40, presence penalty 2.0의 별도 프리셋이 있습니다. 높은 presence penalty는 언어를 섞거나 품질을 다소 낮출 수 있습니다.
권장 생성 허용량은 대부분의 질의에 32,768토큰, 유난히 복잡한 수학 또는 프로그래밍 작업에 81,920토큰이며 별도로 확립된 엄격한 출력 상한이 아닙니다. 요청 형식을 정의하고 원본 식별자를 유지하며 계산, 추출 값, 제안 코드를 원래 증거와 대조하세요. 유용한 결과는 가정과 근거 자료가 드러나는 완전한 텍스트 산출물입니다.
실제 활용 과제
실제 활용 과제
영어 기술 예제
Check a process graph against its rule
A process specification says validation must complete before persistence. Textual graph G1 is receive -> persist -> validate -> acknowledge. Code excerpt: save(record); validate(record); return "accepted". Propose an implementation correction and update the graph in text. Include a test showing that an invalid record never reaches save.예상 결과
A corrected sequence diagram in text, a focused code proposal and a test using an invalid record.결과 확인
Check that the graph and code agree on validate-before-save and that acknowledgment follows successful persistence.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions qwen/qwen3.5-122b-a10b
qwen/qwen3.5-122b-a10b시작하기
Qwen3.5-122B-A10B는 총 파라미터 122B 중 10B를 활성화하는 Qwen의 비전 언어 전문가 혼합 모델입니다. 추론, 코딩, 에이전트 작업에 텍스트, 이미지, 동영상을 받아 텍스트를 반환하며, 선택 가능한 사고와 기본 262,144토큰 컨텍스트를 제공합니다.
- 허용 입력
- 텍스트
- 결과
- 텍스트
Ailoot에서 사용 가능 · 입력 및 메서드
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- 입력
text- 출력
text- 출력 형식
- json 또는 SSE
| 필드 | 유형 | 요건 | 값과 한도 | 기본값 |
|---|---|---|---|---|
필드model | 유형string | 요건필수 | 값과 한도 qwen/qwen3.5-122b-a10b | 기본값— |
필드messages | 유형message[] | 요건필수 | 값과 한도 최소 항목 수: 1 | 기본값— |
필드messages[].role | 유형string | 요건필수 | 값과 한도 예시: system, user, assistant, tool, function 조건: 이 역할들은 소스 코드의 호환 타입에 명시적으로 표현됩니다. 정확한 모델 역할 집합은 모델별로 다릅니다. 모델에 따라 다름 | 기본값— |
필드messages[].content | 유형string|content_part[]|null | 요건선택 사항 | 값과 한도 | 기본값— |
필드messages[].tool_calls | 유형tool_call[] | 요건선택 사항 | 값과 한도 | 기본값— |
필드messages[].tool_call_id | 유형string | 요건선택 사항 | 값과 한도 적용 조건: role=tool. 실제 반환된 ID를 사용하세요 | 기본값— |
필드messages[].name | 유형string | 요건선택 사항 | 값과 한도 | 기본값— |
필드messages[].reasoning_content | 유형string | 요건선택 사항 | 값과 한도 적용 조건: 이 모델이 추론을 사용하는 경우 실제 반환된 추론을 그대로 다음 요청에 다시 전달하세요 | 기본값— |
필드messages[].reasoning_details | 유형object|array | 요건선택 사항 | 값과 한도 모델에 따라 다름 | 기본값— |
필드max_tokens | 유형integer | 요건선택 사항 | 값과 한도 최솟값: 1 모델에 따라 다름 | 기본값— |
필드max_completion_tokens | 유형integer | 요건선택 사항 | 값과 한도 최솟값: 1 모델에 따라 다름 | 기본값— |
필드stream | 유형boolean | 요건선택 사항 | 값과 한도 | 기본값false |
필드stream_options.include_usage | 유형boolean | 요건선택 사항 | 값과 한도 모델에 따라 다름 | 기본값— |
필드temperature | 유형number | 요건선택 사항 | 값과 한도 모델에 따라 다름 | 기본값— |
필드top_p | 유형number | 요건선택 사항 | 값과 한도 모델에 따라 다름 | 기본값— |
필드stop | 유형string|string[] | 요건선택 사항 | 값과 한도 모델에 따라 다름 | 기본값— |
필드tools | 유형function_tool[] | 요건선택 사항 | 값과 한도 모델에 따라 다름 | 기본값— |
필드tools[].type | 유형string | 요건선택 사항 | 값과 한도 function 모델에 따라 다름 | 기본값— |
필드tools[].function.name | 유형string | 요건필수 | 값과 한도 적용 조건: 함수 도구 지정됨 | 기본값— |
필드tools[].function.description | 유형string | 요건선택 사항 | 값과 한도 | 기본값— |
필드tools[].function.parameters | 유형JSON_schema | 요건선택 사항 | 값과 한도 | 기본값— |
필드tool_choice | 유형string|object | 요건선택 사항 | 값과 한도 모델에 따라 다름 | 기본값— |
필드parallel_tool_calls | 유형boolean | 요건선택 사항 | 값과 한도 모델에 따라 다름 | 기본값— |
필드response_format | 유형object | 요건선택 사항 | 값과 한도 모델에 따라 다름 | 기본값— |
필드reasoning_effort | 유형string | 요건선택 사항 | 값과 한도 모델에 따라 다름 | 기본값— |
필드reasoning | 유형object | 요건선택 사항 | 값과 한도 모델에 따라 다름 | 기본값— |
필드service_tier | 유형string | 요건선택 사항 | 값과 한도 모델에 따라 다름 | 기본값— |
필드instructions | 유형string | 요건선택 사항 | 값과 한도 호환성 필드 | 기본값— |
필드functions | 유형function[] | 요건선택 사항 | 값과 한도 모델에 따라 다름 | 기본값— |
필드function_call | 유형string|object | 요건선택 사항 | 값과 한도 모델에 따라 다름 | 기본값— |
필드prompt_cache_options | 유형object | 요건선택 사항 | 값과 한도 모델에 따라 다름 | 기본값— |
필드modalities | 유형string[] | 요건선택 사항 | 값과 한도 text | 기본값— |
필드provider | 유형object | 요건선택 사항 | 값과 한도 조건: 이 Ultra 텍스트 경로에서는 provider.options가 거부됩니다 | 기본값— |
필드cache_control.ttl | 유형string | 요건선택 사항 | 값과 한도 조건: 실제 프롬프트 캐시 지정 위치에서는 1h가 거부됩니다 | 기본값— |
입력 자료 조합
텍스트 · UTF8 텍스트
messages[].content
메서드 매개변수와 수명 주기
| 매개변수 | 명세 |
|---|---|
매개변수content_type | 명세application/json |
매개변수required | 명세model, messages |
매개변수material_types | 명세text |
매개변수messages | 명세role/content 형식의 메시지 배열 |
매개변수file_material | 명세실제 UTF-8 문서를 텍스트로 그대로 삽입합니다. 파일 ID는 추정하지 않습니다 |
매개변수optional_controls | 명세stream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
매개변수control_scope | 명세모델별로 다름. 사용자 함수 도구와 호스팅 도구는 서로 다릅니다 |
매개변수output_modalities | 명세text |
매개변수hosted_operations | 명세false |
매개변수multimodal_input_binding | 명세null |
수명 주기: synchronous_or_streamed
정확한 모델 ID를 messages와 함께 보내세요.
컨텍스트 길이는 출력 상한이 아닙니다.
텍스트 파일은 텍스트를 그대로 제공할 수 있습니다. 이미지/오디오/파일 객체 입력에는 정확한 바인딩이 필요합니다.
요금
요금 정보는 요청 옵션을 추가하지 않습니다. 지원되는 매개변수는 선택한 메서드에 표시됩니다.
- 빠른 모드
- 표준 요금 빠른 모드를 선택한 경우
- Flex 모드
- 표준 요금 flex 모드를 선택한 경우
- 최대 추론 수준
- 표준 요금 최대 추론 수준에 default 조정값을 적용하는 경우
Ailoot 요금
설정별 가격
각 요금을 표시된 조건과 대조하세요. 서로 대체되는 설정 묶음마다 하나의 요금만 적용하세요.
| 설정 | 요금표 | 컨텍스트 토큰 수 초과 기준 | 컨텍스트 토큰 수 이하 기준 | 요금 |
|---|---|---|---|---|
| 설정토큰의 기본 단가 | 요금표기본 요금 | 컨텍스트 토큰 수 초과 기준— | 컨텍스트 토큰 수 이하 기준상한 없음 | 요금 입력 · 입력 토큰 $0.00058 / 1K 토큰 출력 · 출력 토큰 $0.00458 / 1K 토큰 입력 · 캐시 읽기 $0 / 1K 토큰 입력 · 캐시 쓰기 $0 / 1K 토큰 입력 · 캐시 쓰기, 1시간 — / 1K 토큰 |
| 설정요청 길이 구간 1 | 요금표— | 컨텍스트 토큰 수 초과 기준0 | 컨텍스트 토큰 수 이하 기준상한 없음 | 요금 입력 · 입력 토큰 $0.00058 / 1K 토큰 출력 · 출력 토큰 $0.00458 / 1K 토큰 입력 · 캐시 읽기 $0 / 1K 토큰 입력 · 캐시 쓰기 $0 / 1K 토큰 입력 · 캐시 쓰기, 1시간 — / 1K 토큰 |
Ailoot는 요청 전에 예상 금액을 미리 확보합니다. 결과를 받은 뒤 측정된 사용량을 기준으로 최종 요금을 정산합니다. 스트리밍 정산에는 최종 사용량 기록을 사용합니다. 금액 확보와 정산 방식 →
요청 예제
Ailoot Ultra · OpenAI Chat
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "qwen/qwen3.5-122b-a10b", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='qwen/qwen3.5-122b-a10b',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
save_result(result.to_dict(mode="json"))
from openai import OpenAI
import os
from pathlib import Path
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
with client.chat.completions.stream(model='qwen/qwen3.5-122b-a10b',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
for event in stream:
payload=event.to_dict(mode="json")
log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
print(json.dumps(payload,ensure_ascii=False))
final=stream.get_final_completion()
save_result(final.to_dict(mode="json"),"stream-result")
결과 수신 및 저장
Ailoot Ultra · OpenAI Chat
json 또는 SSE
완료된 결과 모두 보관
반환된 완전한 응답, 파일, 콘텐츠 부분을 모두 보관하세요.
각 선택지와 그 콘텐츠·도구 호출·추론을 모두 보존하세요. SSE에서는 선택지/도구 인덱스별로 증분을 조합하고 최종 종료 사유와 사용량을 유지하세요.
원래 응답을 확인해야 할 경우
요청/응답 ID와 헤더를 보존하세요. 텍스트 작업을 조회하는 범용 URL은 제공되지 않습니다.
응답 필드
| 필드 | 유형 |
|---|---|
필드choices[].index | 유형integer |
필드choices[].message.content | 유형string|null |
필드choices[].message.tool_calls | 유형tool_call[] |
필드choices[].message.reasoning_content | 유형string |
필드choices[].message.reasoning_details | 유형object|array |
필드choices[].finish_reason | 유형string|null |
필드usage | 유형object |
오류와 다음 단계
| 응답 | 조건 | 다음 단계 |
|---|---|---|
응답400 · invalid_request_error | 조건필수 필드, 자료 표현 방식 또는 파라미터 값이 올바르지 않음 | 다음 단계새 생성 요청 전에 표시된 필드를 수정하세요. |
별칭
모델 별칭
Ailoot Ultra qwen/qwen3.5-122b-a10b
메서드 경로 별칭
위에 표시된 메서드 경로를 사용하세요.
관련 호출용 ID
Ailoot Ultra · Anthropic Messages POST /v1/messages qwen/qwen3.5-122b-a10b
qwen/qwen3.5-122b-a10b시작하기
Qwen3.5-122B-A10B는 총 파라미터 122B 중 10B를 활성화하는 Qwen의 비전 언어 전문가 혼합 모델입니다. 추론, 코딩, 에이전트 작업에 텍스트, 이미지, 동영상을 받아 텍스트를 반환하며, 선택 가능한 사고와 기본 262,144토큰 컨텍스트를 제공합니다.
- 허용 입력
- 텍스트
- 결과
- json · sse
Ailoot에서 사용 가능 · 입력 및 메서드
Ailoot Ultra · Anthropic Messages POST /v1/messages
- 입력
text- 출력
json,sse- 출력 형식
- JSON 또는 SSE
| 필드 | 유형 | 요건 | 값과 한도 | 기본값 |
|---|---|---|---|---|
필드model | 유형string | 요건필수 | 값과 한도 qwen/qwen3.5-122b-a10b | 기본값— |
필드messages | 유형message[] | 요건필수 | 값과 한도 | 기본값— |
필드messages[].role | 유형string | 요건필수 | 값과 한도 user, assistant | 기본값— |
필드messages[].content | 유형string | 요건필수 | 값과 한도 | 기본값— |
필드max_tokens | 유형integer | 요건필수 | 값과 한도 | 기본값— |
필드stream | 유형boolean | 요건선택 사항 | 값과 한도 | 기본값false |
입력 자료 조합
텍스트 · UTF-8 텍스트
messages[].content 문자열
메서드 매개변수와 수명 주기
| 매개변수 | 명세 |
|---|---|
매개변수content_type | 명세application/json |
매개변수required | 명세model, messages, max_tokens |
매개변수optional_controls | 명세stream |
매개변수material_types | 명세text |
매개변수text_file_material | 명세실제 UTF-8 문서를 읽고 그 텍스트를 지정된 입력 또는 메시지 콘텐츠 문자열에 넣으세요. |
수명 주기: synchronous_or_streamed
요금
요금 정보는 요청 옵션을 추가하지 않습니다. 지원되는 매개변수는 선택한 메서드에 표시됩니다.
- 빠른 모드
- 표준 요금 빠른 모드를 선택한 경우
- Flex 모드
- 표준 요금 flex 모드를 선택한 경우
- 최대 추론 수준
- 표준 요금 최대 추론 수준에 default 조정값을 적용하는 경우
Ailoot 요금
설정별 가격
각 요금을 표시된 조건과 대조하세요. 서로 대체되는 설정 묶음마다 하나의 요금만 적용하세요.
| 설정 | 요금표 | 컨텍스트 토큰 수 초과 기준 | 컨텍스트 토큰 수 이하 기준 | 요금 |
|---|---|---|---|---|
| 설정토큰의 기본 단가 | 요금표기본 요금 | 컨텍스트 토큰 수 초과 기준— | 컨텍스트 토큰 수 이하 기준상한 없음 | 요금 입력 · 입력 토큰 $0.00058 / 1K 토큰 출력 · 출력 토큰 $0.00458 / 1K 토큰 입력 · 캐시 읽기 $0 / 1K 토큰 입력 · 캐시 쓰기 $0 / 1K 토큰 입력 · 캐시 쓰기, 1시간 — / 1K 토큰 |
| 설정요청 길이 구간 1 | 요금표— | 컨텍스트 토큰 수 초과 기준0 | 컨텍스트 토큰 수 이하 기준상한 없음 | 요금 입력 · 입력 토큰 $0.00058 / 1K 토큰 출력 · 출력 토큰 $0.00458 / 1K 토큰 입력 · 캐시 읽기 $0 / 1K 토큰 입력 · 캐시 쓰기 $0 / 1K 토큰 입력 · 캐시 쓰기, 1시간 — / 1K 토큰 |
Ailoot는 요청 전에 예상 금액을 미리 확보합니다. 결과를 받은 뒤 측정된 사용량을 기준으로 최종 요금을 정산합니다. 스트리밍 정산에는 최종 사용량 기록을 사용합니다. 금액 확보와 정산 방식 →
요청 예제
Ailoot Ultra · Anthropic Messages
{
"model": "qwen/qwen3.5-122b-a10b",
"max_tokens": 128,
"messages": [
{
"role": "user",
"content": "Summarize the incident report."
}
],
"stream": false
}set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'qwen/qwen3.5-122b-a10b', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
-H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'qwen/qwen3.5-122b-a10b', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError
api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
with urlopen(request, timeout=120) as response:
raw = response.read()
Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
Path('result.json').write_bytes(error.read())
Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
결과 수신 및 저장
Ailoot Ultra · Anthropic Messages
JSON 또는 SSE
완료된 결과 모두 보관
반환된 완전한 응답, 파일, 콘텐츠 부분을 모두 보관하세요.
모든 콘텐츠 블록, 사고 서명, 실제 도구 사용 ID를 보존하세요. 모든 SSE 블록 증분을 조합하세요. 첫 텍스트 블록이 전체 출력은 아닙니다.
원래 응답을 확인해야 할 경우
요청/응답 ID와 헤더를 보존하세요. 텍스트 작업을 조회하는 범용 URL은 제공되지 않습니다.
응답 필드
| 필드 | 유형 |
|---|---|
필드id | 유형string |
필드model | 유형string |
필드content[] | 유형text|thinking|tool_use|other content block |
필드stop_reason | 유형string|null |
필드usage | 유형object |
오류와 다음 단계
| 응답 | 조건 | 다음 단계 |
|---|---|---|
응답400 · invalid_request_error | 조건필수 필드, 자료 표현 방식 또는 파라미터 값이 올바르지 않음 | 다음 단계새 생성 요청 전에 표시된 필드를 수정하세요. |
별칭
모델 별칭
Ailoot Ultra qwen/qwen3.5-122b-a10b
메서드 경로 별칭
위에 표시된 메서드 경로를 사용하세요.
관련 호출용 ID
FAQ · Qwen: Qwen3.5-122B-A10B
- 어떤 입력과 결과를 사용할 수 있나요?
POST /v1/chat/completions·qwen/qwen3.5-122b-a10b:text→textPOST /v1/messages·qwen/qwen3.5-122b-a10b:text→json,sse- 요청은 어떤 필드를 사용하나요?
POST /v1/chat/completions·qwen/qwen3.5-122b-a10b:model,messages,stream,modalities,providerPOST /v1/messages·qwen/qwen3.5-122b-a10b:model,messages,max_tokens,stream- 어떤 제한이 적용되나요?
POST /v1/chat/completions·qwen/qwen3.5-122b-a10b:messages.min_items:1