Integracja redakcyjna to coś więcej niż nazwa modelu: może zależeć od ustawienia próbkowania, wymuszonego wywołania funkcji albo parsera odpowiedzi. Zmiana wersji potrafi zmienić wszystkie trzy, zanim zmieni jakość samej redakcji.
Wybierz Sonnet 5 do nowego projektu, Sonnet 5.5, gdy potrzebujesz odpowiedzi dłuższych niż 64 000 tokenów, fikcji bez cenzury albo najszerszego zakresu effort, a Sonnet 4.6 dla sterowania temperature, top_p lub top_k. Sonnet 5 obsługuje też wymuszone wywołania narzędzi; 5.5 nie. Sama zmiana ID modelu psuje żądanie: Sonnet 5 i 5.5 zwracają błąd 400 dla pól próbkowania, a 5.5 odrzuca także wymuszony wybór narzędzia. Usuń te pola osobno dla każdej wersji, zanim zaczniesz porównywać odpowiedzi.
Tabela opisuje kontrakty hostowane przez SpicyAPI. Przewodnik migracji do Sonnet 5.5 firmy Anthropic wyjaśnia natywne zmiany wersji; jego nazwy pól i wartości domyślne nie są zamienne z tym interfejsem. Ceny poniżej podano w USD za milion tokenów.
Co akceptuje każda wersja
| Kontrakt | Sonnet 4.5 | Sonnet 4.6 | Sonnet 5 | Sonnet 5.5 |
|---|---|---|---|---|
| Limit wejścia | 198 000 tokenów | 1 000 000 | 1 000 000 | 1 000 000 |
| Pułap wyjścia | 64 000 | 64 000 | 64 000 | 128 000 |
Domyślne max_tokens | 4096 | 4096 | 4096 | 4096 |
reasoning_effort | Nieudostępnione | low, medium, high, max | low, medium, high | none, low, medium, high, xhigh, max |
| Domyślny effort | — | medium | medium | medium |
temperature, top_p, top_k | Dostępne | Dostępne | Odrzucane | Odrzucane |
tool_choice | auto, none, required lub funkcja z nazwą | tak samo | tak samo | tylko auto lub none |
response_format | Nieakceptowane | Nieakceptowane | Nieakceptowane | Nieakceptowane |
| Poziom treści | Złagodzony | Bez cenzury | Filtrowany | Bez cenzury |
ID to anthropic/claude-sonnet-4.5/chat, anthropic/claude-sonnet-5/chat, anthropic/claude-sonnet-5.5/chat i anthropic/claude-sonnet-4.6/chat; strony modeli to 4.5, 5, 5.5 i 4.6. Wszystkie cztery używają tego samego kształtu żądania /v1/chat/completions i akceptują też stop, tools oraz parallel_tool_calls.
Sonnet 4.6 to pośrednia opcja migracji. Ma już okno 1M i reasoning_effort, a mimo to nadal przyjmuje temperature. Przejście z 4.5 na 4.6 zachowuje kształt żądania, podnosi stawkę za wejście o 11 %, zmienia poziom ze Złagodzonego na Bez cenzury i domyślnie ustawia średni effort rozumowania; dopiero krok z 4.6 na 5 usuwa próbkowanie.
Poziom treści ma znaczenie dla fikcji i odgrywania ról. Sonnet 5 jest Filtrowany; Sonnet 4.5 i 4.6 w naszych testach często łagodziły lub odrzucały żądania intensywniejszej fikcji dla dorosłych. Sonnet 5.5 dostarczył te testowane sceny bez łagodzenia i odmów, więc jest tu mocniejszym wyborem do pracy nad fikcją dla dorosłych. Złagodzona odpowiedź nadal może zostać rozliczona. SpicyAPI nie dodaje filtra treści na poziomie platformy; opisz fikcyjną scenę i ograniczenia redakcyjne w wiadomości systemowej.
Który wybrać
- Nowa integracja tekstowa, bez treści dla dorosłych: Sonnet 5. Ma najniższe stawki, okno 1M i trzy poziomy effort.
- Długie teksty lub fikcja dla dorosłych: Sonnet 5.5. Tylko on potrafi napisać w jednej odpowiedzi więcej niż 64 000 tokenów, tylko on ma
none(bez myślenia) i jest Bez cenzury. - Sterowanie próbkowaniem: zostań przy przypiętej integracji 4.5 albo przejdź na 4.6 dla okna 1M. Wymuszone wywołania funkcji bez próbkowania: Sonnet 5 akceptuje je przy niższych stawkach; używaj go zamiast 5.5, gdy wywołanie musi być wymuszone.
- Cały manuskrypt na 300 000 tokenów w jednym wywołaniu: to kwestia kontekstu i kosztów, omówiona w przewodniku po długim manuskrypcie w Sonnet 4.6.
Cena: uwzględnij tokenizer i rozliczane wyjście
| USD za milion tokenów | 4.5 | 4.6 | 5 | 5.5 |
|---|---|---|---|---|
| Wejście | 2,70 $ | 3 $ | 1,90 $ | 2 $ |
| Wejście z pamięci podręcznej | 0,27 $ | 0,30 $ | 0,19 $ | 0,20 $ |
| Wyjście | 13,50 $ | 15 $ | 9,50 $ | 10 $ |
| Zapisy do pamięci podręcznej | 3,30 $ | 3,75 $ | 2,375 $ | 2,50 $ |
Sonnet 5 i 5.5 używają nowszego tokenizera. Przewodnik migracji Anthropic podaje, że ten sam tekst daje około 30 % więcej tokenów niż w 4.x, zależnie od zawartości, więc porównuj koszt zadania, a nie tokenu. Dla przykładowego zadania mierzącego na 4.5 20 000 tokenów wejścia i 2 000 wyjścia załóż 30-procentowy wzrost obu liczb na 5 i 5.5:
| Model | Rozliczane tokeny | Koszt |
|---|---|---|
| 4.5 | 20 000 wejścia, 2 000 wyjścia | 0,081 $ |
| 4.6 | 20 000 wejścia, 2 000 wyjścia | 0,090 $ |
| 5 | około 26 000 wejścia, 2 600 wyjścia | około 0,074 $ |
| 5.5 | około 26 000 wejścia, 2 600 wyjścia | około 0,078 $ |
W tym scenariuszu Sonnet 5 jest o około 9 % tańszy od 4.5; oszczędność nie jest stała dla każdego dokumentu. Liczby wyjścia muszą obejmować rozliczane rozumowanie. Ustawienie effort na low może ograniczyć myślenie, ale go nie wyłącza; tutaj tylko 5.5 udostępnia none. Odczytaj zużycie ze swojego rzeczywistego zadania, zanim potraktujesz szacunek jak budżet.
Stawki Sonnet 5.5 są o około 5,3 % wyższe niż Sonnet 5 i taka jest różnica przy identycznych rozliczanych liczbach i kategoriach pamięci podręcznej. Przelicz długie prompty po zmianie tokenizera: hipotetyczny wzrost o 30 % zamieniłby prompt na 190 000 tokenów w 247 000, wciąż poniżej limitu wejścia 1M, ale z innym rachunkiem.
Wypróbuj redakcję w Playground
Użyj tej małej redakcji z weryfikacją faktów, zanim przeniesiesz większy workflow:
Source A: the gallery reopened to staff in April. Source B: the public launch event was in June. Draft: "The gallery reopened to the public in April." Preserve the distinction between staff access and the public event. Return the corrected sentence and one sentence explaining the change.
- Otwórz stronę modelu Sonnet 5.5, do której prowadzi link wyżej, i wybierz Playground. Wstaw oba źródła i szkic do wiadomości użytkownika, a "Edit from the supplied sources only" jako instrukcję systemową.
- Użyj effort
lowdo tej redakcji jednego zdania. Uruchom ją po sprawdzeniu kosztu, a potem upewnij się, że odpowiedź zachowuje kwiecień dla dostępu pracowników i czerwiec dla wydarzenia publicznego, bez wymyślania dokładnej daty. - Wypróbuj ten sam tekst na Sonnet 5 w tańszym workflow redakcyjnym bez treści dla dorosłych. Zostaw tekst źródłowy bez zmian, żeby ocenić samą redakcję.
Wybierz wersję do redakcji, którą naprawdę dostarczasz
Przy porządkowaniu rozdziału na 700 słów z pakietem źródeł na 20 000 tokenów żadna z tych wersji nie potrzebuje maksymalnego kontekstu ani maksymalnej odpowiedzi. Liczy się to, czy pasują sterowanie żądaniem i przydatność treści. Sonnet 5 to tańszy punkt wyjścia dla zwykłej redakcji. Redaktor fikcji dla dorosłych powinien też rozważyć jego poziom Filtrowany, zanim zrobi z niego domyślny wybór dla całego manuskryptu. Ta sama aplikacja może więc wymagać różnych modeli dla niegraficznego streszczenia i dla przeglądu sceny o dojrzałej tematyce.
Jeśli chcesz trzy alternatywne sformułowania na 4.5 lub 4.6, ich sterowanie próbkowaniem daje akceptowany sposób zróżnicowania generowania. Nie znaczy to, że podniesienie temperatury naprawi wadliwą logikę fabuły. Akapit, w którym postać zna informację, której jeszcze nie może znać, potrzebuje reguły wiedzy i fragmentu źródła, a nie większej losowości. Na 5 lub 5.5 nie wymyślaj równoważnego pola próbkowania. Poproś o trzy alternatywy o różnych, jawnie określonych podejściach: krótszy dialog, mniej ekspozycji albo późniejsze ujawnienie.
Dla redakcji wspomaganej narzędziem wyobraź sobie, że szkic wymienia pracodawcę postaci, a wiarygodna baza serii ma aktualny wpis. Na 4.5, 4.6 lub 5 dostępny wybór narzędzia może wymusić sprawdzenie. Na 5.5 auto może wygenerować odpowiedź bez sprawdzenia. Jeśli Twoja aplikacja musi zweryfikować pracodawcę, wykonaj odczyt przed prośbą o redakcję albo nie przyjmuj odpowiedzi bez wymaganego wyniku sprawdzenia. Zdanie w prompcie nie daje auto takiej samej gwarancji jak wymuszone wywołanie. Natywnych przykładów thinking lub output_config z przewodnika migracji Anthropic nie należy wklejać do tego żądania bez zmian.
Istotnym wynikiem przykładu jest zdanie, które zachowuje zarówno dostęp pracowników w kwietniu, jak i publiczny start w czerwcu. "The gallery reopened in June" jest zbyt ogólne, jeśli pracownicy mogli wejść już w kwietniu. "The gallery held its public launch in June, after reopening to staff in April" to akceptowalna poprawka napisana przez człowieka. Nowa wersja, która daje ładniejsze sformułowanie, ale gubi to rozróżnienie, nie poprawiła pracy redakcyjnej.
Przenieś żądanie
Integracja 4.5 może używać temperature: 0.2, top_p: 0.9 i wymuszonej funkcji submit_edit. Przejście na 5 odrzuca pola próbkowania; przejście na 5.5 odrzuca zarówno próbkowanie, jak i wymuszony wybór narzędzia.
- Usuń próbkowanie na 5 i 5.5. Skasuj
temperature,top_pitop_kz tych żądań. Nieobsługiwane pola zwracają400 unsupported_parameter, zanim zadanie zostanie utworzone lub obciążone opłatą; utrzymuj listę dozwolonych pól dla każdego modelu zamiast wysyłać jeden wspólny obiekt parametrów. - Użyj automatycznego narzędzia na 5.5. Zachowaj funkcję
submit_editi poproś o nią w prompcie systemowym, ale ustawtool_choicenaauto. Nie ma turesponse_format, a 5.5 może pominąć funkcję, więc waliduj zwrócone argumenty. Jeśli Twój workflow wymaga wymuszonego wywołania, Sonnet 5 obsługuje je przy niższych stawkach. - Zostaw miejsce na odpowiedź. Rozumowanie zużywa część
max_tokens: limit 1 024 tokenów może się wyczerpać, zanim pojawi się widoczny tekst. Użyj effortlowdo redakcji jednego zdania, ahighprzy sprzecznych źródłach. Sonnet 5 kończy się nahigh; nie przyjmujexhighanimaxz 5.5. - Strumieniuj dłuższe redakcje. Krótki przykład poniżej używa zwykłej odpowiedzi JSON. Duże wywołania mogą przekroczyć limit około 100 sekund na brzegu sieci; dla nich użyj streamingu i składaj tekst oraz argumenty narzędzi osobno. Przewodnik po tekście i streamingu opisuje zdarzenia zakończenia i zużycie.
- Zakończ rozmowę wiadomością użytkownika. Przy odejściu od 4.5 przenieś zamierzony początek odpowiedzi lub wskazówkę formatu do instrukcji systemowej, zamiast kończyć prefillem asystenta.
Nazwy effort też zmieniają znaczenie. Anthropic przekalibrował poziomy 5.5, więc high nie jest równoważne między wersjami. SpicyAPI ustawia domyślnie medium zarówno dla 5, jak i 5.5, podczas gdy natywne API 5.5 firmy Anthropic domyślnie używa high. Dla czystych, krótkich odpowiedzi wybieraj low zamiast none: przy none model 5.5 może rozwiązywać pytanie w widocznym tekście. none pozostaje przydatne w szybkich kwestiach w roli.
Uruchom i zwaliduj redakcję
Zapisz to jako sonnet_edit.py, ustaw SPICY_API_KEY z API Keys, a potem uruchom python3 sonnet_edit.py. Używa biblioteki standardowej Pythona. Sonnet 5.5 wybrano tu, by pokazać migrację do automatycznego narzędzia; zmiana samego modelu na Sonnet 5 również akceptuje te pola. To płatne wywołanie tekstowe, a nie zadanie generowania mediów. Przepisy na czat opisują integracje wieloturowe i ze streamingiem.
import json
import os
import sys
import uuid
from urllib.error import HTTPError
from urllib.request import Request, urlopen
def read_reply(resp: dict, *, require_edit_tool: bool = False) -> dict:
if resp.get("error"):
raise RuntimeError("API error")
choices = resp.get("choices") or []
if not choices:
raise RuntimeError("no choices in response")
choice = choices[0]
finish = choice.get("finish_reason")
if finish not in {"stop", "tool_calls"}:
raise RuntimeError(f"incomplete or rejected reply: {finish}")
msg = choice.get("message") or {}
calls = msg.get("tool_calls") or []
if calls:
if len(calls) != 1:
raise RuntimeError("expected one submit_edit call")
call = calls[0]
if call.get("type") != "function" or not isinstance(call.get("id"), str) or not call["id"]:
raise RuntimeError("missing function type or call ID")
fn = call.get("function") or {}
if fn.get("name") != "submit_edit":
raise RuntimeError("unexpected function")
args = json.loads(fn.get("arguments") or "")
if not isinstance(args, dict) or any(
not isinstance(args.get(key), str) or not args[key].strip()
for key in ("sentence", "reason")
):
raise RuntimeError("sentence and reason must be nonempty strings")
return {"kind": "tool", "call": calls[0], "edit": args}
if require_edit_tool:
raise RuntimeError("model skipped submit_edit")
text = msg.get("content")
if finish != "stop" or not isinstance(text, str) or not text.strip():
raise RuntimeError("empty or unfinished text")
return {"kind": "text", "text": text}
def main() -> None:
body = {
"model": "anthropic/claude-sonnet-5.5/chat",
"reasoning_effort": "low",
"max_tokens": 8192,
"messages": [
{"role": "system", "content": "Edit from the supplied sources only. Reply by calling submit_edit."},
{"role": "user", "content": 'Source A: the gallery reopened to staff in April. Source B: the public launch event was in June. Draft: "The gallery reopened to the public in April." Keep the staff/public distinction.'},
],
"tools": [{"type": "function", "function": {
"name": "submit_edit",
"description": "Return the corrected sentence and the reason.",
"parameters": {
"type": "object",
"properties": {"sentence": {"type": "string"}, "reason": {"type": "string"}},
"required": ["sentence", "reason"],
},
}}],
"tool_choice": "auto",
}
request = Request(
"https://api.spicyapi.ai/v1/chat/completions",
data=json.dumps(body).encode(),
headers={
"Authorization": f"Bearer {os.environ['SPICY_API_KEY']}",
"Content-Type": "application/json",
"Idempotency-Key": str(uuid.uuid4()),
"User-Agent": "sonnet-edit-example/1.0",
},
)
try:
with urlopen(request, timeout=80) as response:
task_id = response.headers.get("X-Spicy-Task-Id")
if task_id:
print(f"Task ID: {task_id}", file=sys.stderr)
result = read_reply(json.load(response), require_edit_tool=True)
except HTTPError as error:
task_id = error.headers.get("X-Spicy-Task-Id")
print(f"HTTP {error.code}; task ID: {task_id or 'not returned'}", file=sys.stderr)
raise
print(json.dumps(result["edit"], indent=2))
if __name__ == "__main__":
main()Poprawna redakcja zachowuje kwiecień dla dostępu pracowników i czerwiec dla wydarzenia publicznego. Parser odrzuca pustą odpowiedź, ucięcie oraz pominięte lub źle sformowane wywołanie funkcji; poprawne argumenty nadal wymagają tego sprawdzenia faktów. Raport z migracji Sonnet opisuje pustą odpowiedź zastępczą, która dotarła do użytkowników jako udany wynik.
Jeśli finish_reason ma wartość length, w nowym wywołaniu daj więcej miejsca na wyjście albo mniejsze zadanie. Zachowaj każdy częściowy wynik i ID zadania, zanim znów poniesiesz koszt. W wieloturowym workflow z narzędziami zwróć wynik narzędzia z pasującym tool_call_id przed kolejną turą. Uwzględnij w testach migracji jedną sprzeczność, jeden niezmieniony fakt, jedną odpowiedź "unknown" i jeden wynik narzędzia "no match"; przy dłuższych ekstrakcjach sprawdź, czy obecne są wymagane sekcje, a nie tylko czy JSON jest poprawny.
Pozwól Agentowi przygotować integrację
Użyj Agenta, gdy chcesz, żeby dostosował istniejący edytor, zamiast samodzielnie wklejać żądanie. Zachowaj w jego zleceniu te same źródła galerii i ten sam szkic.
- CLI: po ustawieniu
SPICY_API_KEYpozwól mu sprawdzić wybrany kontrakt poleceniemnpx @spicyapi/cli models get anthropic/claude-sonnet-5.5/chat --json. Przewodnik po CLI opisuje to polecenie tylko do odczytu. - MCP: po połączeniu serwera MCP SpicyAPI poproś: "Use
spicyapi_model_getforanthropic/claude-sonnet-5.5/chat, then adapt my gallery edit to its accepted effort and tool-choice settings. Prepare the request without running it." - Skill: zainstaluj oficjalny Skill SpicyAPI poleceniem
npx skills add spicyapi-ai/spicy-skill, rozpocznij nową sesję Agenta, a potem poproś: "Use the SpicyAPI Skill to migrate my gallery editor from Sonnet 4.5 to 5.5. Keep the source facts and validatesubmit_edit; show me the request before calling it."
CLI i MCP zapewniają wykrywanie modeli dla tego workflow tekstowego; sama redakcja korzysta z /v1/chat/completions przez program powyżej lub klienta HTTP Twojego Agenta. Ustaw limit wydatków na kluczu API, zanim zlecisz powtarzane redakcje.
FAQ
Czy Sonnet 5.5 jest tańszy niż Sonnet 5?
Nie. Kosztuje około 5,3 % więcej za token (2 $ i 10 $ wobec 1,90 $ i 9,50 $). Zadanie kosztuje tyle więcej tylko wtedy, gdy rozliczane liczby tokenów i kategorie pamięci podręcznej są identyczne. Ta dopłata kupuje pułap odpowiedzi 128 000 tokenów, effort none i xhigh oraz poziom Bez cenzury.
Czy Sonnet 5.5 jest lepszy niż Opus 5.5?
Nie z zasady. Opus 5.5 kosztuje w SpicyAPI 3,60 $ za wejście i 18 $ za wyjście, czyli około 1,8 raza więcej niż Sonnet 5.5, przy tym samym oknie 1M i pułapie wyjścia 128 000. Zacznij od Sonnet 5.5 i przejdź wyżej tylko wtedy, gdy Twoje najtrudniejsze fragmenty wychodzą źle; ta ścieżka jest opisana w przewodniku „Claude Opus 5.5 do roleplayu NSFW”.
Czy mogę zachować temperature w Sonnet 5.5?
Nie. Użyj effort rozumowania dla głębokości, a zasady tonu umieść w prompcie systemowym. Jeśli potrzebujesz sterowania próbkowaniem, do wyboru są 4.5 i 4.6.









