JA ▾
API キーを取得
  1. NSFW Video API
  2. クイックスタート:動画ワークフローに無検閲テキストを統合

クイックスタート:動画ワークフローに無検閲テキストを統合

このクイックスタートガイドで、NSFW動画パイプラインに当社の無検閲テキストAPIを統合してください。認証、スクリプト生成、標準のOpenAI互換クライアントを使用したレスポンスのストリーミング方法を学びます。

ベースURLと認証

当社のAPIはhttps://api.nsfwvideo.top/v1にホストされています。認証には、アカウントダッシュボードから取得したAPI キーが必要です。Googleまたはメールアドレスでサインアップすると、API キーをすぐに受け取ることができます。このキーをAuthorizationヘッダーにBearerトークンとして渡してください。この設定は、ベースURLとAPI キーを設定することで、OpenAI互換のSDKと互換性があります。クライアントが当社のエンドポイントにリクエストを送信していることを確認し、無検閲モデルにアクセスしてください。

動画スクリプトの生成

モデルIDuncensoredで/v1/chat/completionsにPOSTリクエストを送信します。このモデルは、法的な成人向け利用におけるコンテンツ拒否なしで回答するようにチューニングされており、NSFW動画スクリプトに最適です。詳細なシーン説明やダイアログをリクエストできます。APIはテキストを返すため、一貫した出力を得るために動画生成パイプラインに直接フィードできます。

curl https://api.nsfwvideo.top/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
  }'

JSONモードによるプロンプトエンジニアリング

構造化データには、response_formatパラメータを{"type": "json_object"}に設定して使用します。これにより、モデルが有効なJSONを返すことが保証され、自動化ワークフローでのメタデータや構造化プロンプトのパースに不可欠です。システムプロンプトでスキーマを定義し、scene_descriptionやcamera_anglesなどの特定のキーを強制できます。これにより後処理のオーバーヘッドが削減され、パイプラインがクリーンに保たれます。

from openai import OpenAI

client = OpenAI(base_url="https://api.nsfwvideo.top/v1", api_key="YOUR_KEY")

resp = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)

ストリーミングレスポンス

streamをtrueに設定してストリーミングを有効にします。APIはServer-Sent Events (SSE) を介してチャンクを返します。これにより、進捗状況の表示やトークンのリアルタイム処理が可能です。各チャンクには部分的なテキストが含まれ、最終チャンクにはトークン使用統計が含まれます。ストリーミングは長いスクリプトに効率的で、完全なレスポンスを待たずにコンテンツが生成されるにつれてアプリケーションが反応できます。

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.nsfwvideo.top/v1", apiKey: process.env.API_KEY });

const resp = await client.chat.completions.create({
  model: "uncensored",
  messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);

コンテキストウィンドウの処理

コンテキストウィンドウは100,000トークンで、プロンプトと補完の両方をカバーします。1回あたりの最大出力は32,000トークン、またはmax_tokensが設定されていない場合は2,048トークンです。切り捨てを避けるために入力長を適切に計画してください。長い会話では、古いメッセージをトリミングして履歴を管理してください。これにより、モデルが関連するコンテキストに対して十分なスペースを持ち、動画スクリプト生成の一貫性を維持できます。

レート制限とトークン

1分あたり300リクエスト、キーあたり8つの同時リクエストに制限されます。リクエストボディは8 MBを超えてはいけません。401(無効なキー)や402(クレジットなし)などのエラーは、前払いクレジットを消費しません。レート制限(429)もクレジットを消費しないため、ペナルティなしで再試行できます。クレジットは成功したトークン使用に対してのみ課金され、大量のリクエストパイプラインのコスト管理を保証します。

stream = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Tell the story in second person."}],
    stream=True,
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

API 仕様

購入前に確認できるよう、API の実際の制限と機能をすべてまとめました。

項目内容
形式OpenAI 互換:どの OpenAI SDK でも base URL とキーを変えるだけで動作
モデル IDuncensored
認証Authorization: Bearer YOUR_KEY
エンドポイントPOST /v1/chat/completions · GET /v1/models
Base URLhttps://api.nsfwvideo.top/v1
最大出力100,000 トークンのウィンドウの残りまで。max_tokens は任意(個別の上限なし)
パラメータtemperature、top_p、stop、seed、presence_penalty、frequency_penalty
コンテキスト長100,000 トークン(入力+出力)
JSON モードresponse_format: {"type": "json_object"}
ストリーミング対応 — SSE、最後のチャンクにトークン使用量
関数呼び出し対応 — tools、tool_choice。応答に tool_calls(ストリーミングでも)、結果は role: tool で返送
レート制限キーごとに毎分 300 リクエスト
レスポンスヘッダーX-Request-Id、X-Balance-USD、X-RateLimit-Limit-Requests、X-RateLimit-Limit-Concurrency
同時実行キーごとに同時 8 リクエストまで
リクエストサイズ最大 8 MB
ボーナス$50 以上で +5%、$100 以上で +10%
課金前払いクレジットから実使用量で課金。エラーと拒否は無料
料金入力 100 万トークン $0.25 · 出力 100 万トークン $1.00
有効期限購入クレジットは失効なし、サブスクなし
無料トライアル$0.50、7 日間、カード不要 · トライアルキー: 同時2件、毎分60件。初回チャージ後に上限が8件・300件へ拡大
チャージUSDT(TRC20)または USDC(Base)、$10〜$500 の任意の整数額
キーアカウントごとに有効なキーは 1 つ。新しいキーで旧キーは無効
ログインGoogle またはメール+パスワード
コンテンツ成人向けコンテンツ可。未成年者を含む性的コンテンツは拒否

エラーコード

エラーは固定の type を持つ JSON で返ります。失敗・拒否されたリクエストは課金されません。

コードタイプ意味
400bad_requestJSON 不正、メッセージ空、パラメータ誤り、またはコンテキスト超過
401missing_key · invalid_key · key_revokedキーなし・誤り・新しいキーに置換済み
402no_credit残高ゼロ — チャージすれば即再開
403content_blocked未成年者を含む性的コンテンツ — 拒否、課金なし
404not_found不明なエンドポイント
413request_too_large本文が 8 MB 超
429rate_limited · concurrency毎分 300 回または同時 8 件を超過 — 待って再試行
503upstream_busyモデル混雑 — 数秒後に再試行

質問と回答

クレジットが不足した場合どうなりますか?

APIキーは有効なままですが、リクエストは402エラー(残高不足)を返します。いつでも暗号通貨でチャージして利用を再開できます。エラーと拒否は無料のため、失敗した試行に対しては課金されません。

APIは関数呼び出しに対応していますか?

はい、APIはtoolsおよびtool_choiceパラメータを介して関数呼び出しをサポートしています。リクエストでカスタム関数を定義し、モデルに構造化データを返すことができます。これは動画制作ワークフローの他の部分との統合に役立ちます。

無料プランはありますか?

いいえ、無料プランはありません。ただし、新規アカウントには7日間有効な$0.50の無料トライアルクレジットが付与されます。暗号通貨で$10からチャージできます。クレジットは期限切れにならず、あらゆる種類のリクエストに使用できます。

キーはフォーム 1 つで手に入ります

アカウントを作成し、キーをコピーし、ベースURLを変更します。これがセットアップのすべてです。

API キーを取得