PL ▾
NSFW Video Generator

API bez cenzury dla potoków wideo dla dorosłych

LLM API do scenariuszy NSFW: Workflow tylko tekstowy

API LLM do scenariuszy NSFW pisze stronę tekstową projektu: zarysy, listy scen, dialogi i prompty dla innych narzędzi. Nie tworzy wideo, a ta strona pokazuje, gdzie pasuje do procesu.

Zaktualizowano

Ilustracja przepływu stron scenariusza z terminala do pustych klatek filmu, pokazująca workflow wideo z LLM tylko tekstowym

Kluczowe punkty

  1. API jest tylko tekstowe. Produkuje scenariusze, listy ujęć i prompty, nigdy obrazy, dźwięk ani wideo.
  2. Użyj trybu JSON, aby uzyskać listę scen, którą Twój pipeline może sparsować, z systemowym promptem ustawiającym ton i zasady.
  3. Okno kontekstu 100 000 tokenów pozwala trzymać całą biblijkę historii w każdym zapytaniu.
  4. Postacie muszą być dorosłe, a treści seksualne z udziałem nieletnich są zawsze zabronione.

Co robi LLM w pipeline wideo

Jeśli tworzysz przepływ pracy LLM API do scenariuszy wideo NSFW, pierwszym krokiem jest ustalenie podziału zadań. Model językowy pisze. Osobny model wideo, edytor lub realizator przygotowuje materiały. Ta usługa oferuje tylko pierwszą część: jeden model tekstowy o otwartych wagach, dostrojony do odpowiadania bez odrzucania treści dla prawnego użytku dorosłych, za pośrednictwem endpointa kompatybilnego z OpenAI. Nie wyrenderuje żadnej klatki, nie zsyntetyzuje głosu ani nie stworzy obrazu, a także nie oferuje embeddingów ani dostrajania.

To nadal pokrywa dużą część pracy wokół projektu przeznaczanego dla odbiorców dorosłych, takiego jak fikcja, roleplay i storytelling w stylu towarzyskim. Model może przygotować wstępny zarys, podzielić go na sceny, napisać dialogi i narrację, przygotować listę ujęć oraz sformułować prompty dla dowolnego narzędzia wideo, którego użyjesz w dalszej części. Strona potoków NSFW opisuje, jak ten etap tekstowy łączy się z resztą stosu technologicznego.

Jedna zasada jest stała i dotyczy każdego zapytania: brak treści seksualnych z udziałem nieletnich. Zbuduj swój system prompt tak, aby każda postać była dorosła, i traktuj to jako wymóg projektu, a nie dodatek.

Pipeline w czterech etapach

Workflow scenariuszowy działa najlepiej, gdy każde wywołanie robi jedną rzecz i przekazuje strukturyzowany wynik do kolejnego. Praktyczny układ wygląda tak:

  1. Biblijka historii. Jeden dokument z postaciami (wszystkie dorosłe), ustawieniem, tonem i powracającymi szczegółami. Piszesz go raz i wysyłasz z każdym wywołaniem.
  2. Zarys. Jedno wywołanie zamienia premise w 8 do 15 streszczeń beatów.
  3. Scenariusze scen. Jedno zapytanie na moment akcji generuje dialogi, opisy akcji i narrację, wykorzystując encyklopedię świata i poprzednią scenę dla zachowania ciągłości.
  4. Lista ujęć i prompty. Końcowe wywołanie na scenę zwraca JSON: ujęcia, czasy trwania, notatki kamery i string prompta dla Twojego narzędzia wideo.

Podział w ten sposób utrzymuje wyjścia krótkimi, co sprawia, że każdy wynik jest łatwiejszy do przeglądu i tańszy do wygenerowania ponownie, jeśli Ci się nie podoba. Oznacza to też, że nieudane wywołanie kosztuje jedną scenę, a nie cały scenariusz.

System prompt, który ustawia zasady

System prompt jest miejscem, w którym znajdują się ton, format i ograniczenia. Model bez zachowania odmowy nadal wykonuje instrukcje, więc jakość twojego promptu decyduje o jakości scenariusza. Bądź konkretny co do gatunku, punktu widzenia i tego, co pominąć. Oto punkt wyjścia dla fikcji skierowanej do widzów dorosłych, napisany tak, aby pozostać po profesjonalnej stronie granicy:

SYSTEM = '''You are a screenwriter for adult-audience fiction videos.
All characters are adults aged 25 or older, and you state each age in the character sheet.
Write in present tense, third person, with short visual action lines.
Keep dialogue natural and under 25 words per line.
Build tension and character through setting, glances and subtext.
Never include minors in any role or reference.
Follow the story bible exactly; do not change names, ages or relationships.
When asked for JSON, return only the JSON object.'''

Dostosuj go do projektu. Tajemnica noir i komedia romantyczna potrzebują różnych instrukcji, a jednozdaniowy przykład stylu wewnątrz prompta często kieruje modelem lepiej niż akapit przymiotników.

Generowanie listy scen w trybie JSON

Na etapie listy ujęć chcesz wyjścia, które kod może odczytać. Tryb JSON wymusza obiekt do parsowania. Przekaż response_format={"type": "json_object"}, nazwij klucze w prompcie i utrzymaj niską temperaturę. Ten przykład używa pakietu Python openai z bazowym URL tej strony i identyfikatorem modelu uncensored.

import json, os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.nsfwvideogenerator.cc/v1",
    api_key=os.environ["NOTRACK_API_KEY"],
)

SYSTEM = open("system_prompt.txt").read()
BIBLE = open("story_bible.txt").read()

def shot_list(scene_text):
    resp = client.chat.completions.create(
        model="uncensored",
        messages=[
            {"role": "system", "content": SYSTEM},
            {"role": "user", "content": (
                "Story bible:\n" + BIBLE +
                "\n\nScene script:\n" + scene_text +
                "\n\nReturn a JSON object with key 'shots': a list of objects with "
                "'number', 'seconds', 'camera', 'action' and 'video_prompt'."
            )},
        ],
        response_format={"type": "json_object"},
        temperature=0.3,
        seed=7,
    )
    data = json.loads(resp.choices[0].message.content)
    return data["shots"]

for shot in shot_list(open("scene_03.txt").read()):
    print(shot["number"], shot["seconds"], shot["video_prompt"])

Zwaliduj wynik, zanim go przekażesz dalej. Sprawdź, czy shots istnieje, czy seconds jest liczbą, i czy stringi promptów nie są puste. Jeśli parsowanie się nie powiedzie, spróbuj ponownie raz. Nieudane lub odrzucone zapytania nie są rozliczane, więc ponowne wywołanie nie kosztuje nic ekstra za błędne wywołanie.

Ustawienia ważne dla tekstu kreatywnego

Różne etapy wymagają różnych ustawień, a API przekazuje standardowe parametry: temperature, top_p, stop, seed oraz kary za częstotliwość i obecność.

  • Zarysy i dialogi: temperatura 0,8 do 1,0 dla różnorodności. Wygeneruj dwa lub trzy warianty i wybierz jeden.
  • Listy ujęć: temperatura 0,2 do 0,3, plus stały seed, aby ponowne uruchomienie tego samego wejścia było porównywalne.
  • Powtórzenia: długie sceny czasem zapętlają się na tej samej frazie. Mała kara za częstotliwość, taka jak 0,3, pomaga.
  • Kontrola długości: max_tokens jest opcjonalny, ale limit 800 dla sceny utrzymuje wyjście zwartym. Sekwencja stop taka jak "END SCENE" pozwala zakończyć na znaczniku, o który prosisz model.
  • Strumieniowanie: włącz stream: true, jeśli pisarz obserwuje wyjście na żywo. Pamiętaj, że strumień rezerwuje slot równoległego zapytania, aż się zakończy.

quickstart wymienia każdy wspierany parametr, a endpointy to POST /v1/chat/completions i GET /v1/models.

Używanie okna kontekstu 100k dla ciągłości

Ciągłość to częsty błąd w generowanych scenariuszach: imię się zmienia, wiek się rozjeżdża, rekwizyt znika. Okno kontekstu ma 100 000 tokenów (prompt plus uzupełnienie), a to wystarczająco dużo, aby umieścić całą bibliję fabularną, zarys i kilka gotowych scen w każdym wywołaniu. Nie potrzebujesz systemu pobierania dla projektu w tej skali. Wklej fakty i pozwól modelowi czytać je za każdym razem.

Kontekst nie jest darmowy, ale jest tani. Załóżmy, że Twoja biblia i zarys mają łącznie 20 000 tokenów, a piszesz 50 scen, każde wywołanie zwracając około 600 tokenów:

  • Wejście: 50 x 20 000 = 1 000 000 tokenów x $0,15 za 1M = $0,15
  • Wyjście: 50 x 600 = 30 000 tokenów x $0,50 za 1M = $0,015
  • Łącznie: $0,165 za wszystkie 50 scen

Dodaj fazę listy ujęć dla tych samych 50 scen z 3 000 tokenami wejściowymi i 500 tokenami wyjściowymi dla każdej: wejście 150 000 tokenów kosztuje $0,0225, a wyjście 25 000 tokenów kosztuje $0,0125, czyli dodatkowe $0,035. Pełny scenariusz i listy ujęń kosztują około $0,20, co jest mniej niż kredyt próbny w wysokości $0,50, który możesz odebrać ze strony klucza API.

Pamiętaj, że okno musi pomieścić zarówno prompt, jak i odpowiedź. Biblia 20 000 tokenów zostawia dużo miejsca, ale prompt 95 000 tokenów zostawia mało na uzupełnienie.

Przeglądanie i naprawianie wyjścia

Traktuj każdą wygenerowaną scenę jako pierwszy szkic. Trzy sprawdzenia łapią większość problemów, zanim dotrą do narzędzia wideo. Po pierwsze, uruchom fazę spójności: wyślij gotowy scenariusz z powrotem z bibliją fabularną i poproś model o wypisanie każdego miejsca, gdzie imię, wiek, lokalizacja lub oś czasu się różnią. Drugie wywołanie z niską temperaturą jest tanie i często znajduje rozjeżdżanie się, które przeoczyłeś okiem. Po drugie, przeczytaj dialogi na głos. Linii, które wyglądają dobrze na ekranie, mogą być niezręczne przy mówieniu, a aktor dubbingowy lub narzędzie syntezy mowy odsłoni je natychmiast. Po trzecie, sprawdź, czy czasy trwania ujęć sumują się do długości, którą zaplanowałeś. Modele są luźne z arytmetyką, więc dodaj pola seconds w kodzie zamiast ufać sumie, którą napisał model.

Kiedy scena chybia celu, nie przepisuj całego promptu systemowego. Dodaj jedną instrukcję korygującą do wiadomości użytkownika, taką jak "krótsze linie akcji" lub "więcej dialogów, mniej opisu", i wygeneruj ponownie tylko tę scenę. Utrzymanie bibliji i promptu systemowego stałych podczas zmieniania jednej instrukcji na raz sprawia, że jasne jest, która zmiana pomogła. Parametr seed jest przydatny tutaj, ponieważ stałe ziarno z małą edycją prompta izoluje efekt edycji.

Limity, uczciwość i kolejne kroki

Kilka prostych ograniczeń przed rozpoczęciem pracy. Model obsługuje tylko tekst, więc każdy materiał wideo, obraz i ścieżka głosowa muszą pochodzić z innych narzędzi. To jeden model o otwartych wagach uruchamiany przez niezależnego dostawcę i nie jest to oficjalne API żadnego dużego dostawcy. Jakość różni się w zależności od promptu, więc zaplanuj etap przeglądu przez osobę dla każdego scenariusza; traktuj wynik jako szkic.

Jeśli chodzi o przepustowość, pełny klucz pozwala na 8 równoległych zapytań i 300 na minutę, podczas gdy klucz próbny pozwala na 2 i 60. Jeśli piszesz sceny równolegle, dostosuj rozmiar puli workerów do tych limitów. Błąd 429 z rate_limited lub concurrency oznacza, że powinieneś zwolnić tempo; nagłówek Retry-After: 5 oznacza, że usługa jest chwilowo przeciążona, więc poczekaj pięć sekund i spróbuj ponownie. Prompty nie są używane do trenowania.

Płatny kredyt zaczyna się od doładowania $20, dowolna cała kwota do $500, z +5% od $50, +10% od $100 i +15% od $200. Płatność jest tylko kryptowaluty, USDT na TRC20 lub USDC na Base, a kredyt nigdy nie wygasa. Aktualne warunki są na stronie cennika. Dla projektu takiego jak powyżej, $20 pokrywa dziesiątki pełnych scenariuszy.

Pytania i odpowiedzi

Czy API może wygenerować sam film?

Nie. To API LLM obsługujące tylko tekst. Pisze scenariusze, listy scen i prompty, a Ty używasz osobnego narzędzia do wyprodukowania dowolnego filmu.

Czy jakieś treści są niedozwolone?

Tak. Treści seksualne z udziałem nieletnich są zawsze zabronione. Model jest przeznaczony do legalnego użytku przez osoby dorosłe, a wszystkie postacie w Twoich projektach powinny być dorosłe.

Jak uzyskać listę ujęć nadającą się do parsowania?

Ustaw response_format na json_object, nazwij klucze w swoim promptcie, obniż temperaturę do około 0.3 i zwaliduj wynik za pomocą json.loads przed jego użyciem.

Ile kosztuje pełny scenariusz?

Przy użyciu 20 000 tokenów biblijki fabularnej i 50 scen po około 600 tokenów każda, etap pisania kosztuje około $0.165 przy cenie $0.15 za 1M tokenów wejściowych i $0.50 za 1M tokenów wyjściowych.

Twój klucz jest gotowy po wypełnieniu formularza

Utwórz konto, skopiuj klucz, zmień bazowy endpoint. To cała konfiguracja.