Skills Agentes

Dashscope

Integración con DashScope (Alibaba Cloud Bailian / 阿里云百炼): generación de imágenes (qwen-image-2.0-pro), texto a voz (qwen3-tts-flash) y ASR con marcas de tiempo por palabra (qwen3-asr-flash-filetrans).

Estrellas
49.5k

en todo el repo

Actividad
52

0–100, la ruta de este skill

Actualizado
el mes pasado

último commit aquí

Commits
1

últimos 90 días

Contexto
1.5k tok

82 tok en reposo

Paquete
1 archivo

6 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add calesthio/OpenMontage --skill dashscope --agent claude-code

Se instala solo en este repositorio.

Este skill makes network requests.

Qué hace

  • Integra DashScope (Alibaba Cloud Bailian / 阿里云百炼) en OpenMontage
  • Genera imágenes con qwen-image-2.0-pro, por selector o directamente
  • Sintetiza narración con qwen3-tts-flash
  • Transcribe con qwen3-asr-flash-filetrans y devuelve marcas de tiempo por palabra, útiles para subtítulos

Úsalo cuando

  • Generar imágenes con Qwen-Image
  • Narrar con Qwen-TTS
  • Transcribir con marcas de tiempo por palabra usando Qwen-ASR

No lo uses cuando

    Qué lo activa

    Di cualquiera de estas frases y el agente debería cargar este skill.

    • Genera esta imagen con Qwen-Image
    • Transcribe este audio con marcas por palabra
    • Ponle narración a este guion con Qwen-TTS

    SKILL.md

    En inglés

    DashScope

    Requires DASHSCOPE_API_KEY in .env. Get one at https://dashscope.aliyun.com/.

    Current API

    CRITICAL: DashScope's /compatible-mode/v1/ only supports /chat/completions and /embeddings. Image generation, TTS, and ASR all use DashScope-native endpoints — not OpenAI-compatible paths.

    All three tools use Authorization: Bearer $DASHSCOPE_API_KEY.

    Image Generation

    POST https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
    
    • Model: qwen-image-2.0-pro (default), qwen-image-max, wan2.7-image, z-image-turbo
    • Body: {model, input: {messages: [{role: "user", content: [{text: "prompt"}]}]}, parameters: {size: "W*H", n, prompt_extend, watermark}}
    • Size format uses asterisk: "1024*1024" not "1024x1024"
    • Response: output.choices[0].message.content[0].image (URL, valid ~24h) — must download separately

    Text-to-Speech

    POST https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
    

    Same endpoint as image gen, different body.

    • Model: qwen3-tts-flash (default), qwen3-tts-instruct-flash, qwen-tts-2025-05-22
    • Body: {model, input: {text, voice: "Cherry", language_type: "Auto"}}
    • Response: output.audio.url (WAV, valid ~24h) — must download separately

    ASR with Word-Level Timestamps

    POST https://dashscope.aliyuncs.com/api/v1/services/audio/asr/transcription
    Header: X-DashScope-Async: enable
    
    • Model: qwen3-asr-flash-filetrans (NOT qwen3-asr-flash — the sync version has no word timestamps)
    • Body: {model, input: {file_url: "https://public-url/audio.mp3"}, parameters: {enable_words: true, language_hints: ["zh","en"]}}
    • Returns task_id → poll GET /api/v1/tasks/{task_id} until SUCCEEDED → download output.result.transcription_url → JSON with transcripts[].sentences[].words[]
    • Timestamps in begin_time/end_time are in milliseconds — the tool normalizes to seconds

    OpenMontage Usage

    Image via selector

    from tools.graphics.image_selector import ImageSelector
    
    result = ImageSelector().execute({
        "preferred_provider": "dashscope",
        "prompt": "一只猫坐在沙发上",
        "output_path": "projects/my-video/assets/images/cat.png",
    })
    

    TTS via selector

    from tools.audio.tts_selector import TTSSelector
    
    result = TTSSelector().execute({
        "preferred_provider": "dashscope",
        "text": "如果 AI 真的会改变未来,普通人到底该怎么参与?",
        "voice": "Cherry",
        "output_path": "projects/my-video/assets/audio/narration.wav",
    })
    

    ASR directly (word timestamps for subtitles)

    from tools.analysis.dashscope_asr import DashscopeAsr
    
    result = DashscopeAsr().execute({
        "audio_url": "https://example.com/narration.wav",
        "output_path": "projects/my-video/assets/audio/transcription.json",
    })
    
    # result.data["words"] is a flat list of {text, begin_time_seconds, end_time_seconds}
    

    Recommended Workflow

    1. Image: Generate a sample first. Check prompt_extend: true (default) — DashScope rewrites your prompt for better results. Disable if you need literal prompt adherence.
    2. TTS: Generate a 10-15 second sample before full narration. Approve voice and pacing before committing to full generation.
    3. ASR: Audio must be at a publicly accessible URL. Upload to any public host (S3, etc.) first. Local paths are rejected with a clear error.
    4. Subtitles: Build from result.data["words"] — each word has begin_time_seconds and end_time_seconds. Group words into caption phrases by language semantics, not fixed character count.

    Parameters

    Image (dashscope_image)

    • prompt (required): text prompt
    • model: default qwen-image-2.0-pro
    • size: default "1024*1024"asterisk separator, not "x"
    • n: 1-6 images
    • negative_prompt: things to avoid (max 500 chars)
    • prompt_extend: default true — auto-rewrite prompt for better results
    • watermark: default false
    • seed: for reproducibility

    TTS (dashscope_tts)

    • text (required): text to synthesize (max 600 chars for qwen3-tts-flash)
    • model: default qwen3-tts-flash
    • voice: default "Cherry" — other voices: "Ethan", "Chelsie", etc.
    • language_type: default "Auto""Chinese", "English", "Japanese", "Korean"
    • instructions: natural language delivery instructions (only for qwen3-tts-instruct-flash)

    ASR (dashscope_asr)

    • audio_url (required): must be publicly accessible URL
    • model: qwen3-asr-flash-filetrans (only model that supports word timestamps)
    • language_hints: default ["zh", "en"]
    • enable_words: default true — required for word-level timestamps
    • poll_interval_seconds: default 5.0
    • timeout_seconds: default 300

    Troubleshooting

    • Image size error: Use "W*H" with asterisk, not "WxH". Example: "2048*2048".
    • TTS no audio URL: Check output.audio.url — if empty, the model name or voice may be wrong.
    • ASR "file not accessible": audio_url must be publicly reachable. DashScope servers fetch the file; local paths and auth-gated URLs don't work.
    • ASR poll timeout: Increase timeout_seconds (default 300). Long audio files take longer to transcribe.
    • ASR no word timestamps: Ensure enable_words: true and model is qwen3-asr-flash-filetrans (not the sync qwen3-asr-flash).
    • Auth error (401): Verify DASHSCOPE_API_KEY is set. Use Authorization: Bearer $KEY header.

    Safety

    Never print or write the API key to logs, metadata, patches, or project artifacts. .env.example should contain only empty variable names. The tool's _safe_error() method redacts the key from error messages.

    Reproducido de calesthio/OpenMontage bajo licencia AGPL-3.0. Leer esta página en markdown.

    Archivos

    1 archivo en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

    Antes de instalar

    Necesita credenciales de DashScope (Alibaba Cloud Bailian).

    Detalles

    Creador
    calesthio
    Licencia
    AGPL-3.0
    Recursos incluidos
    Solo SKILL.md
    Código fuente
    Ver SKILL.md

    Etiquetas

    Más de calesthio/OpenMontage

    Este repo incluye 89 skills. Si instalas uno, normalmente ya tienes los demás.

    Comfyui

    49.5k

    Úsalo al trabajar con workflows de ComfyUI en OpenMontage: comfyui_image/video/music, workflows propios, selección de output_node, modelos que faltan, LoRAs, poca VRAM e importación de workflows de la comunidad.

    Costo de contexto al activarse
    1.9k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 9 días
    diseno ui

    Genera vídeo cinematográfico de 4-30 s con ByteDance Seedance 2.5 por fal.ai, Volcengine Ark, Runway o ComfyUI. Cubre el contrato de prompt 2.5, cortes duros, locks de continuidad y voz.

    Costo de contexto al activarse
    3.2k tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 4 días
    diseno ui

    Genera narración expresiva y multilingüe con fish.audio (modelos S1 / S2) y reutiliza voces clonadas mediante reference_id.

    Costo de contexto al activarse
    1.4k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 9 días
    diseno ui

    Genera y edita conversacionalmente vídeos cortos con Google Gemini Omni Flash: itera con ediciones en lenguaje natural, clips de 3-10s a 720p con audio y texto en pantalla, e imágenes de referencia por etiquetas.

    Costo de contexto al activarse
    2.1k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 9 días
    Permisos
    diseno ui

    Genera vídeo con MiniMax H3 (Hailuo 3.0) por la API oficial v2, fal.ai, Runway, nodos partner de ComfyUI o pesos abiertos locales. Clips de 4-15s a 2K con animación de primer/último fotograma.

    Costo de contexto al activarse
    582 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 9 días
    diseno ui

    Genera, reconstruye, inspecciona y enruta activos 3D de producción para mundos de OpenMontage con Atlas Cloud, fal.ai, catálogos con licencia y Blender.

    Costo de contexto al activarse
    1.2k tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 9 días
    diseno ui

    Skills relacionados

    Agents

    49.5k

    Construye agentes de voz con ElevenLabs. Úsalo al crear asistentes de voz, bots de atención al cliente, personajes de voz interactivos o cualquier conversación de voz en tiempo real.

    Costo de contexto al activarse
    2.5k tok
    Tamaño del paquete
    6 archivos
    Última actualización
    hace 4 meses
    desarrollo apis

    Bfl Api

    49.5k

    Guía de integración de la API BFL FLUX: endpoints, polling asíncrono, límites de tasa, manejo de errores, webhooks y endpoints regionales, con ejemplos en Python y TypeScript.

    Costo de contexto al activarse
    2.5k tok
    Tamaño del paquete
    10 archivos
    Última actualización
    hace 4 meses
    desarrollo apis

    Guía oficial de la API directa de Kling para los proveedores de OpenMontage. Úsala antes de llamar a kling_official_video, kling_official_image, kling_tts, kling_avatar o kling_lip_sync.

    Costo de contexto al activarse
    2.4k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    el mes pasado
    desarrollo apis