# クイックスタート

このクイックスタートでは、Weydub動画のテキスト除去タスクを送信し、結果の準備が整うまでポーリングします。開発者やAIコーディングツールがこれをバックエンドスクリプトにコピーし、認証情報をすばやく検証できるよう、意図的に最小限の内容にしています。

## 前提条件

- Weydubアカウント。サインインしたユーザーは、「マイアカウント」から無料でAPIアクセスを有効にできます。
- `AppKey`と`AppSecret`。
- 公開アクセス可能な動画URL。サポートされている形式には、`mp4`、`avi`、`mov`、`mkv`、`mpg`、`m3u8`、`m4v`があります。

## 推奨環境変数

```bash
export WEYDUB_APP_KEY="your_app_key"
export WEYDUB_APP_SECRET="your_app_secret"
```

## Pythonの例

```python
import hashlib
import json
import os
import time

import requests

APP_KEY = os.environ["WEYDUB_APP_KEY"]
APP_SECRET = os.environ["WEYDUB_APP_SECRET"]
BASE_URL = "https://api.zhaoli.com"


def api_post(path: str, payload: dict) -> dict:
    body = json.dumps(payload, ensure_ascii=False, separators=(",", ":"))
    body_md5 = hashlib.md5(body.encode("utf-8")).hexdigest()
    app_sign = hashlib.md5((body_md5 + APP_SECRET).encode("utf-8")).hexdigest()
    headers = {
        "Content-Type": "application/json",
        "AppKey": APP_KEY,
        "AppSign": app_sign,
    }
    response = requests.post(f"{BASE_URL}{path}", headers=headers, data=body, timeout=30)
    response.raise_for_status()
    return response.json()


create_res = api_post(
    "/v-w-c/gateway/ve/work/free",
    {
        "urls": ["https://example.com/demo.mp4"],
        "needChineseOcclude": 1,
        "videoInpaintLang": "all",
    },
)

work_id = create_res["body"]["dataList"][0]["id"]
print("Created work:", work_id)

while True:
    status_res = api_post("/v-w-c/gateway/ve/work/status", {"idWorks": [work_id]})
    item = status_res["body"]["content"][0]
    process_status = item["processStatus"]

    if process_status == 1:
        print("Done:", item.get("videoUrl"))
        break
    if process_status > 1:
        raise RuntimeError(item.get("errorDetail") or "Task failed")

    print("Processing...")
    time.sleep(10)
```

## 次のステップ

- 本番環境向けの非同期処理が必要な場合は、`callback` URLを追加してください。
- 返されたメディアURLは速やかに保存してください。生成されたアセットには、プラットフォームの保持ポリシーが適用されます。
- アプリで顧客またはテナントごとにワークスペースを分離する必要がある場合は、`uid`を使用してください。
- 顧客のメディアを処理する前に、[デモシナリオ](./demo-scenarios.md)を実行してください。

## AIコーディングツール向け

アシスタントに以下を指示してください。

- コードを編集する前に、[認証と署名](./auth-and-signing.md)を読んでください。
- 認証情報は`WEYDUB_APP_KEY`と`WEYDUB_APP_SECRET`に保存してください。
- バックエンド専用クライアントを構築し、ブラウザーコードで`AppSecret`を使用してWeydubを呼び出さないでください。
- 実際に送信するコンパクトなJSON本文そのものに署名してください。
- シークレットを出力せずにエンドポイントとペイロードを出力するドライランモードを追加してください。
