ワンクリックで
openrouter-text2video
Generate videos via OpenRouter using ByteDance Seedance 2.0.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Generate videos via OpenRouter using ByteDance Seedance 2.0.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Exhaustively profile a dataset and list ALL possible analyses — distributions, correlations, rankings, trends, group comparisons, anomalies. Reads detective.json for context. Runs after the Detective/Scout, before the Editor. Outputs analyst.json with ana_xx IDs and chart-ready data_tables.
Audit a generated Data2Story blog for build correctness across ALL modalities by ACTUALLY RENDERING it in a real headless browser (when available) — catching blank/0-width charts, broken/oversized media, desktop+mobile overflow, and dead interactions that source inspection cannot see — then having vision agents review the screenshots, playtesting every interactive, and walking the flagship capability contract. Plus VIEW every image for a wrong/AI-faked subject. Fixes layout in place; sends content-correctness problems back to the owning role. Use at Stage 6 after the Programmer assembles index.html and before the Critic; re-runs each revision round. Triggers: a built index.html exists, or you need to confirm charts/media/interactions actually render.
Design the MANDATORY cinematic scroll experience (every blog ships one): a full-bleed, scroll-driven background — primarily from the Scout's verified real imagery — plus the global motion choreography, so the narrative unfolds like a film as the reader scrolls. Owns the BACKGROUND layer + page-level motion (not the Designer's per-section visuals, not the Interaction centerpiece — it stages them inside the scroll). Outputs cinematographer.json (cin_xx scenes). There is no off path: a topic with no sourceable real imagery falls back to a generative-atmosphere or data-driven-spine background, never to a bare column.
Name the piece — re-write the masthead (headline + standfirst + kicker), every section title, and every figure/photo/table caption to a research-driven titling standard, killing the AI-tell patterns (the 'flat statement. flat counter-statement.' two-beat above all) a competent default falls into. Reads editor.md/json + analyst.json + the resolved topic_profile; writes copywriter.json — STRINGS ONLY (masthead{headline,standfirst,kicker}, items{edt_xx:{title}, des_xx:{caption}}), each backed by a real ana_*. Names, never edits: it touches no finding, no number, no data-* id, no layout — so the Verify layer is untouched and the Programmer renders the masthead + figcaptions from copywriter.json verbatim. Runs at Stage 3.5, after the Editor, before the Designer.
Review a finished Data2Story blog against the 5 quality rubric dimensions (visual_design, narrative_pacing, data_method_transparency, claim_data_alignment, insight_value), score each 1-7 with on-page evidence, and emit critic.json with pass/fail + targeted, surgical send-back instructions. Verifies every load-bearing claim/asset against its traceability chain before scoring; applies the caveat-survival, honest-accuracy, and third-party-attribution caps. Does NOT rewrite content — scores and sends back. Use at Stage 6.5 after the Auditor and after verify.py has produced verifier.json; re-runs each revision round. Triggers: a built index.html plus verifier.json exist, or you need to judge whether the article is actually good.
Generate text embeddings via OpenRouter using Qwen3-Embedding-8B.
| name | openrouter-text2video |
| description | Generate videos via OpenRouter using ByteDance Seedance 2.0. |
Text → video via OpenRouter. Default model: bytedance/seedance-2.0.
Uses the async video-generation endpoint: submit job → poll → download.
Resolve TOOL_DIR = the directory containing this SKILL.md. Commands below use TOOL_DIR as a symbolic placeholder; replace it with the resolved, quoted path before running Bash.
export OPENROUTER_API_KEY=sk-or-v1-...
python3 TOOL_DIR/scripts/generate_video.py \
--prompt "A slow dolly push through a retro-futuristic arcade, neon signs reflecting in a puddle" \
--duration 5 \
--aspect-ratio 16:9 \
--resolution 720p \
--download PROJECT_DIR/assets/hero.mp4
| Flag | Default | Description |
|---|---|---|
--prompt | required | Text prompt |
--download | required | Output MP4 path |
--model | bytedance/seedance-2.0 | Any OpenRouter video model |
--duration | 5 | Seconds |
--aspect-ratio | 16:9 | 16:9, 9:16, 1:1, 4:3, 3:4, 21:9, 9:21 |
--resolution | 720p | Model-dependent (e.g. 480p, 720p, 1080p) |
--generate-audio | off | Generate audio with video (if model supports) |
--poll-interval | 5 | Seconds between polls |
--max-wait | 600 | Max total wait time |
POST /api/v1/videos → returns {id, polling_url, status: "pending"}GET /api/v1/videos/{id} every 5s until status == "completed"GET /api/v1/videos/{id}/content → raw MP4 bytesSeedance 2.0: ~$7/M tokens with (height × width × duration × 24) / 1024 token formula. A 5-second 720p 16:9 clip ≈ 145k tokens ≈ $1.
frame_images), and reference-to-video.frame_images or input_references for advanced modes.