{"id":"5100be54-f66a-4bc8-9081-2497ce36eef1","entityType":"agent","slug":"clawhub-oomol-oo-fusion-api","name":"OOMOL Fusion API","canonicalUrl":"https://www.xpersona.co/agent/clawhub-oomol-oo-fusion-api","canonicalPath":"/agent/clawhub-oomol-oo-fusion-api","generatedAt":"2026-10-11T17:42:39.199Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T14:57:53.345Z","emptyReason":null},"description":"OOMOL Fusion API (oomol.com). Use this skill for ANY OOMOL Fusion API request — reading, creating, updating, and deleting data. Whenever a task involves OOMOL Fusion API, use this skill instead of calling the API directly.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s1790xw8jww1c6hgm8aqy9q25187t1rg:oo-fusion-api","sourceUrl":"https://clawhub.ai/oomol/oo-fusion-api","homepage":"https://clawhub.ai/oomol/skills/oo-fusion-api","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/oomol/oo-fusion-api","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/oomol/skills/oo-fusion-api","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"OOMOL Fusion API technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T14:57:53.345Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T14:57:53.345Z","emptyReason":null},"stars":null,"forks":null,"downloads":1045,"packageName":null,"latestVersion":"1.0.8","tractionLabel":"1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T14:57:53.332Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T14:57:53.345Z","lastCrawledAt":"2026-10-11T14:57:53.332Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T14:57:53.332Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.8","createdAt":"2026-09-20T03:12:57.580Z","changelog":"- Provides OOMOL Fusion API access through the `oo` CLI with server-side credential handling. - Includes schema-first guidance for running connector actions safely with JSON payloads. - Supports multimodal generation and editing across images, audio, video, OCR, ASR, TTS, and document conversion. - Adds task submit/state/result workflows for asynchronous providers such as Fal, Doubao, Qwen, Wanxiang, Seedance, and OpenAI images. - Documents safety tags for read, write, and destructive actions, including confirmation requirements before state-changing calls. Source: `oomol-lab/skills@792ad44`","fileCount":3,"zipByteSize":4557},{"version":"1.0.7","createdAt":"2026-09-15T03:55:24.448Z","changelog":"- Provides a schema-first interface to the OOMOL Fusion API through the `oo` CLI. - Supports image, video, audio, OCR, document, and web-content workflows across multiple AI providers. - Includes asynchronous task submission, status, and result actions for long-running operations. - Handles file uploads, multipart uploads, presigned URLs, PDF conversion, and PNG compression. - Applies confirmation requirements for state-changing and destructive actions, with server-side credential handling. Source: `oomol-lab/skills@75bac03`","fileCount":3,"zipByteSize":4570},{"version":"1.0.5","createdAt":"2026-09-07T09:43:08.262Z","changelog":"- OOMOL Fusion API skill for operating `fusion-api` through an OOMOL-connected account via the `oo` CLI. - Supports the full CRUD-style workflow: reading, creating, updating, and deleting data through connector actions. - Requires action-specific schema discovery first, then runs validated JSON payloads against the live connector contract. - Covers content, media, and document workflows, including text-to-speech, speech-to-text, image generation/editing, video generation, OCR, and document conversion. - Includes task polling and result retrieval for async jobs, plus file upload helpers for multipart and presigned uploads. Source: `oomol-lab/skills@14e0b86`","fileCount":3,"zipByteSize":4431},{"version":"1.0.4","createdAt":"2026-08-11T08:06:36.440Z","changelog":"- Provides an OOMOL Fusion API skill for running `fusion-api` connector actions through the `oo` CLI with server-side credentials. - Documents the required workflow: inspect live action schemas before building payloads, then run actions with JSON input and parse execution metadata. - Exposes broad AI media capabilities including TTS, STT/ASR, OCR, image generation/editing, video generation, super-resolution, and background removal. - Adds document and content utilities for PDF-to-EPUB/Markdown conversion, URL reading/search, document analysis, EPUB illustration, and PNG compression. - Marks write and destructive actions clearly, with safety guidance for confirmation before state-changing or data-removing operations. Source: `oomol-lab/skills@46cfb3e`","fileCount":3,"zipByteSize":4551},{"version":"1.0.3","createdAt":"2026-06-09T09:57:29.402Z","changelog":"- Provides OOMOL Fusion API access through the `oo` CLI with server-side credential handling. - Covers multimodal generation and processing across TTS, STT, OCR, image generation/editing, video generation, and document conversion. - Supports async task workflows with submit, state, and result actions for long-running media jobs. - Includes file upload helpers for presigned URLs and multipart upload lifecycle management. - Documents safety labels for read, write, and destructive actions, with schema inspection before payload construction. Source: `oomol-lab/skills@146ef20`","fileCount":3,"zipByteSize":4514},{"version":"1.0.2","createdAt":"2026-06-09T03:51:05.422Z","changelog":"- Provides a unified `oo` CLI workflow for running OOMOL Fusion API connector actions with server-side credentials. - Documents 84 actions across image generation/editing, video generation, TTS/STT, OCR, document conversion, web reading/search, and file uploads. - Includes async submit/state/result patterns for long-running AI media and document tasks. - Adds action reference files plus guidance to fetch live schemas before constructing payloads. - Defines safety rules for read, write, and destructive operations. Source: `oomol-lab/skills@e3717ff`","fileCount":87,"zipByteSize":51331},{"version":"1.0.0","createdAt":"2026-06-03T16:01:22.104Z","changelog":"- Initial release of `oo-fusion-api`, a Codex skill for operating the Oomol Fusion API through the `oo` CLI with server-side credential handling. - Adds references for 83 connector actions across image generation/editing, video generation, speech-to-text, text-to-speech, document analysis, PDF conversion, web reading/search, and file upload workflows. - Provides action-specific guidance for submit/state/result patterns, including asynchronous task polling for media, transcription, translation, and document transformation jobs. - Supports major provider-backed capabilities including Qwen, Wanxiang, Doubao, Seedance, Fal.ai, OpenAI image generation/editing, Jina Reader, Tinify, and OOMOL TTS. - Documents safe usage rules, schema inspection commands, JSON execution format, first-time setup fallback steps, and destructive-action confirmation requirements.","fileCount":86,"zipByteSize":50436}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s1790xw8jww1c6hgm8aqy9q25187t1rg:oo-fusion-api","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s1790xw8jww1c6hgm8aqy9q25187t1rg:oo-fusion-api` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/oomol/oo-fusion-api before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-fusion-api/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-fusion-api/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-fusion-api/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-fusion-api/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-fusion-api/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-fusion-api/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T17:42:39.194Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-fusion-api/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-fusion-api/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-fusion-api/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-fusion-api/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T14:57:53.345Z","emptyReason":null},"readme":"Skill: OOMOL Fusion API\n\nOwner: oomol\n\nSummary: OOMOL Fusion API (oomol.com). Use this skill for ANY OOMOL Fusion API request — reading, creating, updating, and deleting data. Whenever a task involves OOMOL Fusion API, use this skill instead of calling the API directly.\n\nTags: latest:1.0.8\n\nVersion history:\n\nv1.0.8 | 2026-09-20T03:12:57.580Z | user\n\n- Provides OOMOL Fusion API access through the `oo` CLI with server-side credential handling.\n- Includes schema-first guidance for running connector actions safely with JSON payloads.\n- Supports multimodal generation and editing across images, audio, video, OCR, ASR, TTS, and document conversion.\n- Adds task submit/state/result workflows for asynchronous providers such as Fal, Doubao, Qwen, Wanxiang, Seedance, and OpenAI images.\n- Documents safety tags for read, write, and destructive actions, including confirmation requirements before state-changing calls.\n\nSource: `oomol-lab/skills@792ad44`\n\nv1.0.7 | 2026-09-15T03:55:24.448Z | user\n\n- Provides a schema-first interface to the OOMOL Fusion API through the `oo` CLI.\n- Supports image, video, audio, OCR, document, and web-content workflows across multiple AI providers.\n- Includes asynchronous task submission, status, and result actions for long-running operations.\n- Handles file uploads, multipart uploads, presigned URLs, PDF conversion, and PNG compression.\n- Applies confirmation requirements for state-changing and destructive actions, with server-side credential handling.\n\nSource: `oomol-lab/skills@75bac03`\n\nv1.0.5 | 2026-09-07T09:43:08.262Z | user\n\n- OOMOL Fusion API skill for operating `fusion-api` through an OOMOL-connected account via the `oo` CLI.\n- Supports the full CRUD-style workflow: reading, creating, updating, and deleting data through connector actions.\n- Requires action-specific schema discovery first, then runs validated JSON payloads against the live connector contract.\n- Covers content, media, and document workflows, including text-to-speech, speech-to-text, image generation/editing, video generation, OCR, and document conversion.\n- Includes task polling and result retrieval for async jobs, plus file upload helpers for multipart and presigned uploads.\n\nSource: `oomol-lab/skills@14e0b86`\n\nv1.0.4 | 2026-08-11T08:06:36.440Z | user\n\n- Provides an OOMOL Fusion API skill for running `fusion-api` connector actions through the `oo` CLI with server-side credentials.\n- Documents the required workflow: inspect live action schemas before building payloads, then run actions with JSON input and parse execution metadata.\n- Exposes broad AI media capabilities including TTS, STT/ASR, OCR, image generation/editing, video generation, super-resolution, and background removal.\n- Adds document and content utilities for PDF-to-EPUB/Markdown conversion, URL reading/search, document analysis, EPUB illustration, and PNG compression.\n- Marks write and destructive actions clearly, with safety guidance for confirmation before state-changing or data-removing operations.\n\nSource: `oomol-lab/skills@46cfb3e`\n\nv1.0.3 | 2026-06-09T09:57:29.402Z | user\n\n- Provides OOMOL Fusion API access through the `oo` CLI with server-side credential handling.\n- Covers multimodal generation and processing across TTS, STT, OCR, image generation/editing, video generation, and document conversion.\n- Supports async task workflows with submit, state, and result actions for long-running media jobs.\n- Includes file upload helpers for presigned URLs and multipart upload lifecycle management.\n- Documents safety labels for read, write, and destructive actions, with schema inspection before payload construction.\n\nSource: `oomol-lab/skills@146ef20`\n\nv1.0.2 | 2026-06-09T03:51:05.422Z | user\n\n- Provides a unified `oo` CLI workflow for running OOMOL Fusion API connector actions with server-side credentials.\n- Documents 84 actions across image generation/editing, video generation, TTS/STT, OCR, document conversion, web reading/search, and file uploads.\n- Includes async submit/state/result patterns for long-running AI media and document tasks.\n- Adds action reference files plus guidance to fetch live schemas before constructing payloads.\n- Defines safety rules for read, write, and destructive operations.\n\nSource: `oomol-lab/skills@e3717ff`\n\nv1.0.0 | 2026-06-03T16:01:22.104Z | user\n\n- Initial release of `oo-fusion-api`, a Codex skill for operating the Oomol Fusion API through the `oo` CLI with server-side credential handling.\n- Adds references for 83 connector actions across image generation/editing, video generation, speech-to-text, text-to-speech, document analysis, PDF conversion, web reading/search, and file upload workflows.\n- Provides action-specific guidance for submit/state/result patterns, including asynchronous task polling for media, transcription, translation, and document transformation jobs.\n- Supports major provider-backed capabilities including Qwen, Wanxiang, Doubao, Seedance, Fal.ai, OpenAI image generation/editing, Jina Reader, Tinify, and OOMOL TTS.\n- Documents safe usage rules, schema inspection commands, JSON execution format, first-time setup fallback steps, and destructive-action confirmation requirements.\n\nArchive index:\n\nArchive v1.0.8: 3 files, 4557 bytes\n\nFiles: skill-card.md (2473b), SKILL.md (8965b), _meta.json (132b)\n\nFile v1.0.8:SKILL.md\n\n---\nname: oo-fusion-api\ndescription: \"OOMOL Fusion API (oomol.com). Use this skill for ANY OOMOL Fusion API request — reading, creating, updating, and deleting data. Whenever a task involves OOMOL Fusion API, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"OOMOL Fusion API\"\n  author: \"OOMOL\"\n  version: \"1.0.8\"\n  services: [\"fusion-api\"]\n  icon: \"https://static.oomol.com/logo/logo.png\"\n---\n\n# OOMOL Fusion API\n\nOperate **OOMOL Fusion API** through your OOMOL-connected account. This skill calls the `fusion-api` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nOOMOL Fusion API needs no account connection. Assume the oo CLI is installed and signed in. **Do not run `oo auth login` proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"fusion-api\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"fusion-api\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `cosyvoice_tts_generate` — Generate speech audio with CosyVoice TTS.\n- `cphone_nano_banana_result` — Get cphone-nano-banana task result\n- `cphone_nano_banana_state` — Get cphone-nano-banana task state\n- `cphone_nano_banana_submit` — Edit images with Nano Banana [write]\n- `deepseek_ocr_recognize` — Recognize text from a single image.\n- `doubao_stt_result` — Get doubao-stt task result\n- `doubao_stt_state` — Get doubao-stt task state\n- `doubao_stt_submit` — Convert speech to text with Doubao [write]\n- `doubao_text_to_image_seedream_generate` — Generate images from text with Doubao Seedream\n- `doubao_tts_result` — Get doubao-tts task result\n- `doubao_tts_state` — Get doubao-tts task state\n- `doubao_tts_submit` — Convert text to speech with Doubao [write]\n- `fal_aura_sr_result` — Get fal-aura-sr task result\n- `fal_aura_sr_state` — Get fal-aura-sr task state\n- `fal_aura_sr_submit` — Image super-resolution upscaling [write]\n- `fal_nano_banana_2_result` — Get fal-nano-banana-2 task result\n- `fal_nano_banana_2_state` — Get fal-nano-banana-2 task state\n- `fal_nano_banana_2_submit` — Generate or edit images with Nano Banana 2 [write]\n- `fal_nano_banana_pro_result` — Get fal-nano-banana-pro task result\n- `fal_nano_banana_pro_state` — Get fal-nano-banana-pro task state\n- `fal_nano_banana_pro_submit` — Edit images with Nano Banana Pro [write]\n- `fal_nano_banana_result` — Get fal-nano-banana task result\n- `fal_nano_banana_state` — Get fal-nano-banana task state\n- `fal_nano_banana_submit` — Edit images with Nano Banana [write]\n- `fal_qwen_image_layered_result` — Get the Qwen Image Layered task result\n- `fal_qwen_image_layered_state` — Get the Qwen Image Layered task state\n- `fal_qwen_image_layered_submit` — Split an image into multiple layers with Qwen Image Layered [write]\n- `fal_remove_background_result` — Image with background removed\n- `fal_remove_background_state` — Get fal-remove-background task state\n- `fal_remove_background_submit` — Remove image backgrounds with the Fal.ai BRIA model [write]\n- `file_upload_abort_multipart_upload` — Abort multipart upload [destructive]\n- `file_upload_complete_multipart_upload` — Complete multipart upload [write]\n- `file_upload_create_multipart_upload` — Initialize multipart upload [write]\n- `file_upload_generate_presigned_url` — Generate a presigned URL for file upload\n- `file_upload_generate_presigned_urls` — Generate a presigned URL for multipart upload parts\n- `jina_reader_read` — Read and extract URL content\n- `jina_reader_search` — Search web content\n- `openai_image_async_result` — Get asynchronous OpenAI image generation result\n- `openai_image_async_submit` — Submit asynchronous OpenAI image generation requests, including gpt-image-2 image creation. [write]\n- `openai_image_edit_async_result` — Get asynchronous OpenAI image edit result\n- `openai_image_edit_async_submit` — Submit asynchronous OpenAI image edit requests, including gpt-image-2 image editing. [write]\n- `pdf_transform_epub_result` — Get pdf-transform-epub task result\n- `pdf_transform_epub_state` — Get pdf-transform-epub task state\n- `pdf_transform_epub_submit` — Convert a PDF to EPUB format [write]\n- `pdf_transform_markdown_result` — Get pdf-transform-markdown task result\n- `pdf_transform_markdown_state` — Get pdf-transform-markdown task state\n- `pdf_transform_markdown_submit` — Convert a PDF to Markdown format [write]\n- `qwen_asr_filetrans_result` — Get Qwen ASR file transcription task result\n- `qwen_asr_filetrans_state` — Get Qwen ASR file transcription task state\n- `qwen_asr_filetrans_submit` — Submit a long-audio speech recognition task with Qwen ASR file transcription [write]\n- `qwen_doc_turbo_analyze` — Analyze documents with Tongyi Qianwen\n- `qwen_image_edit_plus_edit` — Edit images with Tongyi Wanxiang\n- `qwen_image_generate` — Generate images with Tongyi Qianwen\n- `qwen_mt_image_result` — Get qwen-mt-image task result\n- `qwen_mt_image_state` — Get qwen-mt-image task state\n- `qwen_mt_image_submit` — Image machine translation [write]\n- `qwen_tts_generate` — Generate speech audio\n- `qwen_voice_cloning_create` — Create a Qwen voice cloning voice and return a preview audio URL. [write]\n- `qwen_voice_design_create` — Create a Qwen voice design voice and return preview audio. [write]\n- `qwen_voice_design_delete` — Delete a Qwen voice design voice. [destructive]\n- `qwen_voice_design_generate` — Generate speech audio using a Qwen voice design voice.\n- `qwen_voice_design_list` — List Qwen voice design voices.\n- `qwen_voice_design_query` — Get details for a Qwen voice design voice.\n- `seedance_video_result` — Query a Seedance video generation task result\n- `seedance_video_state` — Get a Seedance video generation task state\n- `seedance_video_submit` — Generate videos with Doubao Seedance [write]\n- `tinify_png_shrink_compress` — Compress PNG images with the Tinify API\n- `wanx_i2v_video_result` — Query first-frame-to-video task result\n- `wanx_i2v_video_state` — Get wanx-i2v-video task state\n- `wanx_i2v_video_submit` — Generate videos from the first frame with Tongyi Wanxiang [write]\n- `wanx_image_result` — Get wanx-image task result\n- `wanx_image_state` — Get wanx-image task state\n- `wanx_image_submit` — Generate and edit images with Tongyi Wanxiang AI [write]\n- `wanx_kf2v_video_result` — Get wanx-kf2v-video task result\n- `wanx_kf2v_video_state` — Get wanx-kf2v-video task state\n- `wanx_kf2v_video_submit` — Generate videos from keyframes with Tongyi Wanxiang [write]\n- `wanx_r2v_video_result` — Query reference-to-video task result\n- `wanx_r2v_video_state` — Get wanx-r2v-video task state\n- `wanx_r2v_video_submit` — Generate videos from reference assets with Tongyi Wanxiang [write]\n- `wanx_t2v_video_result` — Query text-to-video task result\n- `wanx_t2v_video_state` — Get wanx-t2v-video task state\n- `wanx_t2v_video_submit` — Generate text-to-video videos with Tongyi Wanxiang [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change OOMOL Fusion API state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- OOMOL Fusion API homepage: https://www.oomol.com\n\nFile v1.0.8:_meta.json\n\n{\n  \"ownerId\": \"kn7csf1kvg56rx8s952ep216r187zet6\",\n  \"slug\": \"oo-fusion-api\",\n  \"version\": \"1.0.8\",\n  \"publishedAt\": 1789873977580\n}\n\nFile v1.0.8:skill-card.md\n\n## Description:\n\nOOMOL Fusion API helps agents operate the fusion-api connector through the oo CLI for reading, creating, updating, deleting, generating, transforming, and retrieving multimodal content.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and agents use this skill to inspect OOMOL Fusion API action schemas, build JSON payloads, and run connector actions through the oo CLI. It supports multimodal workflows including image, audio, video, OCR, ASR, TTS, document conversion, file upload, web reading, and task result retrieval.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The security review reports unsafe CLI install instructions.\n\nMitigation: Install only when the oo command is missing and only from a trusted OOMOL CLI source; avoid repeating one-time setup steps unnecessarily.\n\nRisk: Some generation or cost-incurring actions may be understated as safe reads.\n\nMitigation: Require explicit user confirmation before write, destructive, upload, generation, transformation, or billing-related actions, including untagged actions that are not passive reads.\n\nRisk: Connector actions can change or delete data when tagged as write or destructive.\n\nMitigation: Fetch the live schema first, confirm the exact payload and effect with the user, and require explicit approval for destructive targets.\n\n## Reference(s):\n\n- [OOMOL Fusion API homepage](https://www.oomol.com)\n- [oo CLI](https://github.com/oomol-lab/oo-cli)\n- [OOMOL CLI install guide](https://cli.oomol.com/install-guide.md)\n- [ClawHub skill page](https://clawhub.ai/oomol/skills/oo-fusion-api)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with inline shell commands and JSON payloads or responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Uses live connector schemas before action execution; may return asynchronous task IDs, state, and result data from provider workflows.]\n\n## Skill Version(s):\n\n1.0.8 (source: server release evidence and skill metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.7: 3 files, 4570 bytes\n\nFiles: skill-card.md (2539b), SKILL.md (9025b), _meta.json (132b)\n\nFile v1.0.7:SKILL.md\n\n---\nname: oo-fusion-api\ndescription: \"OOMOL Fusion API (oomol.com). Use this skill for ANY OOMOL Fusion API request — reading, creating, updating, and deleting data. Whenever a task involves OOMOL Fusion API, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"OOMOL Fusion API\"\n  author: \"OOMOL\"\n  version: \"1.0.7\"\n  services: [\"fusion-api\"]\n  icon: \"https://static.oomol.com/logo/logo.png\"\n---\n\n# OOMOL Fusion API\n\nOperate **OOMOL Fusion API** through your OOMOL-connected account. This skill calls the `fusion-api` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nOOMOL Fusion API needs no account connection. Assume the oo CLI is installed and signed in. **Do not run `oo auth login` proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"fusion-api\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"fusion-api\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `cosyvoice_tts_generate` — Generate speech audio with CosyVoice TTS.\n- `cphone_nano_banana_result` — Get cphone-nano-banana task result\n- `cphone_nano_banana_state` — Get cphone-nano-banana task state\n- `cphone_nano_banana_submit` — Edit images with Nano Banana [write]\n- `deepseek_ocr_recognize` — Recognize text from a single image.\n- `doubao_stt_result` — Get doubao-stt task result\n- `doubao_stt_state` — Get doubao-stt task state\n- `doubao_stt_submit` — Convert speech to text with Doubao [write]\n- `doubao_text_to_image_seedream_generate` — Generate images from text with Doubao Seedream\n- `doubao_tts_result` — Get doubao-tts task result\n- `doubao_tts_state` — Get doubao-tts task state\n- `doubao_tts_submit` — Convert text to speech with Doubao [write]\n- `fal_aura_sr_result` — Get fal-aura-sr task result\n- `fal_aura_sr_state` — Get fal-aura-sr task state\n- `fal_aura_sr_submit` — Image super-resolution upscaling [write]\n- `fal_nano_banana_2_result` — Get fal-nano-banana-2 task result\n- `fal_nano_banana_2_state` — Get fal-nano-banana-2 task state\n- `fal_nano_banana_2_submit` — Generate or edit images with Nano Banana 2 [write]\n- `fal_nano_banana_pro_result` — Get fal-nano-banana-pro task result\n- `fal_nano_banana_pro_state` — Get fal-nano-banana-pro task state\n- `fal_nano_banana_pro_submit` — Edit images with Nano Banana Pro [write]\n- `fal_nano_banana_result` — Get fal-nano-banana task result\n- `fal_nano_banana_state` — Get fal-nano-banana task state\n- `fal_nano_banana_submit` — Edit images with Nano Banana [write]\n- `fal_qwen_image_layered_result` — Get the Qwen Image Layered task result\n- `fal_qwen_image_layered_state` — Get the Qwen Image Layered task state\n- `fal_qwen_image_layered_submit` — Split an image into multiple layers with Qwen Image Layered [write]\n- `fal_remove_background_result` — Image with background removed [destructive]\n- `fal_remove_background_state` — Get fal-remove-background task state [destructive]\n- `fal_remove_background_submit` — Remove image backgrounds with the Fal.ai BRIA model [destructive]\n- `file_upload_abort_multipart_upload` — Abort multipart upload [write]\n- `file_upload_complete_multipart_upload` — Complete multipart upload [write]\n- `file_upload_create_multipart_upload` — Initialize multipart upload [write]\n- `file_upload_generate_presigned_url` — Generate a presigned URL for file upload [write]\n- `file_upload_generate_presigned_urls` — Generate a presigned URL for multipart upload parts [write]\n- `jina_reader_read` — Read and extract URL content\n- `jina_reader_search` — Search web content\n- `openai_image_async_result` — Get asynchronous OpenAI image generation result\n- `openai_image_async_submit` — Submit asynchronous OpenAI image generation requests, including gpt-image-2 image creation. [write]\n- `openai_image_edit_async_result` — Get asynchronous OpenAI image edit result [write]\n- `openai_image_edit_async_submit` — Submit asynchronous OpenAI image edit requests, including gpt-image-2 image editing. [write]\n- `pdf_transform_epub_result` — Get pdf-transform-epub task result\n- `pdf_transform_epub_state` — Get pdf-transform-epub task state\n- `pdf_transform_epub_submit` — Convert a PDF to EPUB format [write]\n- `pdf_transform_markdown_result` — Get pdf-transform-markdown task result\n- `pdf_transform_markdown_state` — Get pdf-transform-markdown task state\n- `pdf_transform_markdown_submit` — Convert a PDF to Markdown format [write]\n- `qwen_asr_filetrans_result` — Get Qwen ASR file transcription task result\n- `qwen_asr_filetrans_state` — Get Qwen ASR file transcription task state\n- `qwen_asr_filetrans_submit` — Submit a long-audio speech recognition task with Qwen ASR file transcription [write]\n- `qwen_doc_turbo_analyze` — Analyze documents with Tongyi Qianwen\n- `qwen_image_edit_plus_edit` — Edit images with Tongyi Wanxiang [write]\n- `qwen_image_generate` — Generate images with Tongyi Qianwen\n- `qwen_mt_image_result` — Get qwen-mt-image task result\n- `qwen_mt_image_state` — Get qwen-mt-image task state\n- `qwen_mt_image_submit` — Image machine translation [write]\n- `qwen_tts_generate` — Generate speech audio\n- `qwen_voice_cloning_create` — Create a Qwen voice cloning voice and return a preview audio URL. [write]\n- `qwen_voice_design_create` — Create a Qwen voice design voice and return preview audio. [write]\n- `qwen_voice_design_delete` — Delete a Qwen voice design voice. [destructive]\n- `qwen_voice_design_generate` — Generate speech audio using a Qwen voice design voice.\n- `qwen_voice_design_list` — List Qwen voice design voices.\n- `qwen_voice_design_query` — Get details for a Qwen voice design voice.\n- `seedance_video_result` — Query a Seedance video generation task result\n- `seedance_video_state` — Get a Seedance video generation task state\n- `seedance_video_submit` — Generate videos with Doubao Seedance [write]\n- `tinify_png_shrink_compress` — Compress PNG images with the Tinify API\n- `wanx_i2v_video_result` — Query first-frame-to-video task result\n- `wanx_i2v_video_state` — Get wanx-i2v-video task state\n- `wanx_i2v_video_submit` — Generate videos from the first frame with Tongyi Wanxiang [write]\n- `wanx_image_result` — Get wanx-image task result\n- `wanx_image_state` — Get wanx-image task state\n- `wanx_image_submit` — Generate and edit images with Tongyi Wanxiang AI [write]\n- `wanx_kf2v_video_result` — Get wanx-kf2v-video task result\n- `wanx_kf2v_video_state` — Get wanx-kf2v-video task state\n- `wanx_kf2v_video_submit` — Generate videos from keyframes with Tongyi Wanxiang [write]\n- `wanx_r2v_video_result` — Query reference-to-video task result\n- `wanx_r2v_video_state` — Get wanx-r2v-video task state\n- `wanx_r2v_video_submit` — Generate videos from reference assets with Tongyi Wanxiang [write]\n- `wanx_t2v_video_result` — Query text-to-video task result\n- `wanx_t2v_video_state` — Get wanx-t2v-video task state\n- `wanx_t2v_video_submit` — Generate text-to-video videos with Tongyi Wanxiang [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change OOMOL Fusion API state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- OOMOL Fusion API homepage: https://www.oomol.com\n\nFile v1.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn7csf1kvg56rx8s952ep216r187zet6\",\n  \"slug\": \"oo-fusion-api\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1789444524448\n}\n\nFile v1.0.7:skill-card.md\n\n## Description:\n\nOOMOL Fusion API lets agents use the OOMOL fusion-api connector through the oo CLI to inspect schemas and run image, audio, video, OCR, document, file-upload, and web-content actions.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers, operators, and agents use this skill to work with OOMOL Fusion API workflows through schema-checked oo CLI calls, including media generation and editing, speech and OCR processing, document conversion, file uploads, and web-content retrieval.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Remote installer commands can execute code that was not reviewed with the skill release.\n\nMitigation: Install the oo CLI only through a trusted, verifiable path and do not let an agent automatically run curl|bash or irm|iex setup commands.\n\nRisk: Some actions upload or process private content, generate media, change OOMOL data, delete data, or consume credits.\n\nMitigation: Review the live action schema before each call and require user confirmation for private-content, upload, generation, state-changing, destructive, or credit-consuming actions.\n\nRisk: Safety labels may understate the effect of some actions that process or generate user content.\n\nMitigation: Base confirmation requirements on the action name, schema, payload, and expected effect rather than relying only on write or destructive tags.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/oomol/skills/oo-fusion-api)\n- [OOMOL Fusion API homepage](https://www.oomol.com)\n- [oo CLI repository](https://github.com/oomol-lab/oo-cli)\n- [oo CLI install guide](https://cli.oomol.com/install-guide.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with inline shell commands, JSON payloads, and JSON responses from the oo CLI.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Actions should inspect the live connector schema before sending payloads and should preserve execution IDs from JSON responses.]\n\n## Skill Version(s):\n\n1.0.7 (source: SKILL.md frontmatter and release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.5: 3 files, 4431 bytes\n\nFiles: skill-card.md (2185b), SKILL.md (9025b), _meta.json (132b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: oo-fusion-api\ndescription: \"OOMOL Fusion API (oomol.com). Use this skill for ANY OOMOL Fusion API request — reading, creating, updating, and deleting data. Whenever a task involves OOMOL Fusion API, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"OOMOL Fusion API\"\n  author: \"OOMOL\"\n  version: \"1.0.5\"\n  services: [\"fusion-api\"]\n  icon: \"https://static.oomol.com/logo/logo.png\"\n---\n\n# OOMOL Fusion API\n\nOperate **OOMOL Fusion API** through your OOMOL-connected account. This skill calls the `fusion-api` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nOOMOL Fusion API needs no account connection. Assume the oo CLI is installed and signed in. **Do not run `oo auth login` proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"fusion-api\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"fusion-api\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `cosyvoice_tts_generate` — Generate speech audio with CosyVoice TTS.\n- `cphone_nano_banana_result` — Get cphone-nano-banana task result\n- `cphone_nano_banana_state` — Get cphone-nano-banana task state\n- `cphone_nano_banana_submit` — Edit images with Nano Banana [write]\n- `deepseek_ocr_recognize` — Recognize text from a single image.\n- `doubao_stt_result` — Get doubao-stt task result\n- `doubao_stt_state` — Get doubao-stt task state\n- `doubao_stt_submit` — Convert speech to text with Doubao [write]\n- `doubao_text_to_image_seedream_generate` — Generate images from text with Doubao Seedream\n- `doubao_tts_result` — Get doubao-tts task result\n- `doubao_tts_state` — Get doubao-tts task state\n- `doubao_tts_submit` — Convert text to speech with Doubao [write]\n- `fal_aura_sr_result` — Get fal-aura-sr task result\n- `fal_aura_sr_state` — Get fal-aura-sr task state\n- `fal_aura_sr_submit` — Image super-resolution upscaling [write]\n- `fal_nano_banana_2_result` — Get fal-nano-banana-2 task result\n- `fal_nano_banana_2_state` — Get fal-nano-banana-2 task state\n- `fal_nano_banana_2_submit` — Generate or edit images with Nano Banana 2 [write]\n- `fal_nano_banana_pro_result` — Get fal-nano-banana-pro task result\n- `fal_nano_banana_pro_state` — Get fal-nano-banana-pro task state\n- `fal_nano_banana_pro_submit` — Edit images with Nano Banana Pro [write]\n- `fal_nano_banana_result` — Get fal-nano-banana task result\n- `fal_nano_banana_state` — Get fal-nano-banana task state\n- `fal_nano_banana_submit` — Edit images with Nano Banana [write]\n- `fal_qwen_image_layered_result` — Get the Qwen Image Layered task result\n- `fal_qwen_image_layered_state` — Get the Qwen Image Layered task state\n- `fal_qwen_image_layered_submit` — Split an image into multiple layers with Qwen Image Layered [write]\n- `fal_remove_background_result` — Image with background removed [destructive]\n- `fal_remove_background_state` — Get fal-remove-background task state [destructive]\n- `fal_remove_background_submit` — Remove image backgrounds with the Fal.ai BRIA model [destructive]\n- `file_upload_abort_multipart_upload` — Abort multipart upload [write]\n- `file_upload_complete_multipart_upload` — Complete multipart upload [write]\n- `file_upload_create_multipart_upload` — Initialize multipart upload [write]\n- `file_upload_generate_presigned_url` — Generate a presigned URL for file upload [write]\n- `file_upload_generate_presigned_urls` — Generate a presigned URL for multipart upload parts [write]\n- `jina_reader_read` — Read and extract URL content\n- `jina_reader_search` — Search web content\n- `openai_image_async_result` — Get asynchronous OpenAI image generation result\n- `openai_image_async_submit` — Submit asynchronous OpenAI image generation requests, including gpt-image-2 image creation. [write]\n- `openai_image_edit_async_result` — Get asynchronous OpenAI image edit result [write]\n- `openai_image_edit_async_submit` — Submit asynchronous OpenAI image edit requests, including gpt-image-2 image editing. [write]\n- `pdf_transform_epub_result` — Get pdf-transform-epub task result\n- `pdf_transform_epub_state` — Get pdf-transform-epub task state\n- `pdf_transform_epub_submit` — Convert a PDF to EPUB format [write]\n- `pdf_transform_markdown_result` — Get pdf-transform-markdown task result\n- `pdf_transform_markdown_state` — Get pdf-transform-markdown task state\n- `pdf_transform_markdown_submit` — Convert a PDF to Markdown format [write]\n- `qwen_asr_filetrans_result` — Get Qwen ASR file transcription task result\n- `qwen_asr_filetrans_state` — Get Qwen ASR file transcription task state\n- `qwen_asr_filetrans_submit` — Submit a long-audio speech recognition task with Qwen ASR file transcription [write]\n- `qwen_doc_turbo_analyze` — Analyze documents with Tongyi Qianwen\n- `qwen_image_edit_plus_edit` — Edit images with Tongyi Wanxiang [write]\n- `qwen_image_generate` — Generate images with Tongyi Qianwen\n- `qwen_mt_image_result` — Get qwen-mt-image task result\n- `qwen_mt_image_state` — Get qwen-mt-image task state\n- `qwen_mt_image_submit` — Image machine translation [write]\n- `qwen_tts_generate` — Generate speech audio\n- `qwen_voice_cloning_create` — Create a Qwen voice cloning voice and return a preview audio URL. [write]\n- `qwen_voice_design_create` — Create a Qwen voice design voice and return preview audio. [write]\n- `qwen_voice_design_delete` — Delete a Qwen voice design voice. [destructive]\n- `qwen_voice_design_generate` — Generate speech audio using a Qwen voice design voice.\n- `qwen_voice_design_list` — List Qwen voice design voices.\n- `qwen_voice_design_query` — Get details for a Qwen voice design voice.\n- `seedance_video_result` — Query a Seedance video generation task result\n- `seedance_video_state` — Get a Seedance video generation task state\n- `seedance_video_submit` — Generate videos with Doubao Seedance [write]\n- `tinify_png_shrink_compress` — Compress PNG images with the Tinify API\n- `wanx_i2v_video_result` — Query first-frame-to-video task result\n- `wanx_i2v_video_state` — Get wanx-i2v-video task state\n- `wanx_i2v_video_submit` — Generate videos from the first frame with Tongyi Wanxiang [write]\n- `wanx_image_result` — Get wanx-image task result\n- `wanx_image_state` — Get wanx-image task state\n- `wanx_image_submit` — Generate and edit images with Tongyi Wanxiang AI [write]\n- `wanx_kf2v_video_result` — Get wanx-kf2v-video task result\n- `wanx_kf2v_video_state` — Get wanx-kf2v-video task state\n- `wanx_kf2v_video_submit` — Generate videos from keyframes with Tongyi Wanxiang [write]\n- `wanx_r2v_video_result` — Query reference-to-video task result\n- `wanx_r2v_video_state` — Get wanx-r2v-video task state\n- `wanx_r2v_video_submit` — Generate videos from reference assets with Tongyi Wanxiang [write]\n- `wanx_t2v_video_result` — Query text-to-video task result\n- `wanx_t2v_video_state` — Get wanx-t2v-video task state\n- `wanx_t2v_video_submit` — Generate text-to-video videos with Tongyi Wanxiang [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change OOMOL Fusion API state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- OOMOL Fusion API homepage: https://www.oomol.com\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn7csf1kvg56rx8s952ep216r187zet6\",\n  \"slug\": \"oo-fusion-api\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1788774188262\n}\n\nFile v1.0.5:skill-card.md\n\n## Description:\n\nOOMOL Fusion API (oomol.com). Use this skill for ANY OOMOL Fusion API request: reading, creating, updating, and deleting data.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and agents use this skill to operate OOMOL Fusion API connector actions through the oo CLI, including schema discovery, JSON action execution, async task polling, media generation and editing, OCR, transcription, document conversion, and file upload workflows.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: First-time setup includes unverified remote installer commands that could execute arbitrary local code.\n\nMitigation: Install only after trusting OOMOL and reviewing or replacing the CLI setup steps; prefer a verified package or independently inspect the installer before execution.\n\nRisk: Write and destructive connector actions can change, remove, or overwrite data through a live OOMOL-connected account.\n\nMitigation: Confirm the exact target, action, and JSON payload with the user before running write or destructive actions.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/oomol/skills/oo-fusion-api)\n- [OOMOL Fusion API homepage](https://www.oomol.com)\n- [oo CLI](https://github.com/oomol-lab/oo-cli)\n- [oo CLI install guide](https://cli.oomol.com/install-guide.md)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, Configuration instructions, API Calls, JSON, Guidance]\n\n**Output Format:** [Markdown with inline shell commands and JSON payloads]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [The skill directs agents to inspect live action schemas before building payloads and to confirm write or destructive actions before execution.]\n\n## Skill Version(s):\n\n1.0.5 (source: release evidence and frontmatter)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.4: 3 files, 4551 bytes\n\nFiles: skill-card.md (2393b), SKILL.md (9313b), _meta.json (132b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: oo-fusion-api\ndescription: \"OOMOL Fusion API (oomol.com). Use this skill for ANY OOMOL Fusion API request — reading, creating, updating, and deleting data. Whenever a task involves OOMOL Fusion API, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"OOMOL Fusion API\"\n  author: \"OOMOL\"\n  version: \"1.0.4\"\n  services: [\"fusion-api\"]\n  icon: \"https://static.oomol.com/logo/logo.png\"\n---\n\n# OOMOL Fusion API\n\nOperate **OOMOL Fusion API** through your OOMOL-connected account. This skill calls the `fusion-api` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nOOMOL Fusion API needs no account connection. Assume the oo CLI is installed and signed in. **Do not run `oo auth login` proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"fusion-api\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"fusion-api\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `cosyvoice_tts_generate` — Generate speech audio with CosyVoice TTS.\n- `cphone_nano_banana_result` — Get cphone-nano-banana task result\n- `cphone_nano_banana_state` — Get cphone-nano-banana task state\n- `cphone_nano_banana_submit` — Edit images with Nano Banana [write]\n- `deepseek_ocr_recognize` — Recognize text from a single image.\n- `doubao_stt_result` — Get doubao-stt task result\n- `doubao_stt_state` — Get doubao-stt task state\n- `doubao_stt_submit` — Convert speech to text with Doubao [write]\n- `doubao_text_to_image_seedream_generate` — Generate images from text with Doubao Seedream\n- `doubao_tts_result` — Get doubao-tts task result\n- `doubao_tts_state` — Get doubao-tts task state\n- `doubao_tts_submit` — Convert text to speech with Doubao [write]\n- `fal_aura_sr_result` — Get fal-aura-sr task result\n- `fal_aura_sr_state` — Get fal-aura-sr task state\n- `fal_aura_sr_submit` — Image super-resolution upscaling [write]\n- `fal_nano_banana_2_result` — Get fal-nano-banana-2 task result\n- `fal_nano_banana_2_state` — Get fal-nano-banana-2 task state\n- `fal_nano_banana_2_submit` — Generate or edit images with Nano Banana 2 [write]\n- `fal_nano_banana_pro_result` — Get fal-nano-banana-pro task result\n- `fal_nano_banana_pro_state` — Get fal-nano-banana-pro task state\n- `fal_nano_banana_pro_submit` — Edit images with Nano Banana Pro [write]\n- `fal_nano_banana_result` — Get fal-nano-banana task result\n- `fal_nano_banana_state` — Get fal-nano-banana task state\n- `fal_nano_banana_submit` — Edit images with Nano Banana [write]\n- `fal_qwen_image_layered_result` — Get the Qwen Image Layered task result\n- `fal_qwen_image_layered_state` — Get the Qwen Image Layered task state\n- `fal_qwen_image_layered_submit` — Split an image into multiple layers with Qwen Image Layered [write]\n- `fal_remove_background_result` — Image with background removed [destructive]\n- `fal_remove_background_state` — Get fal-remove-background task state [destructive]\n- `fal_remove_background_submit` — Remove image backgrounds with the Fal.ai BRIA model [destructive]\n- `file_upload_abort_multipart_upload` — Abort multipart upload [write]\n- `file_upload_complete_multipart_upload` — Complete multipart upload [write]\n- `file_upload_create_multipart_upload` — Initialize multipart upload [write]\n- `file_upload_generate_presigned_url` — Generate a presigned URL for file upload [write]\n- `file_upload_generate_presigned_urls` — Generate a presigned URL for multipart upload parts [write]\n- `jina_reader_read` — Read and extract URL content\n- `jina_reader_search` — Search web content\n- `oomol_tts_ng_generate` — Generate speech audio\n- `oomol_tts_result` — Get oomol-tts task result\n- `oomol_tts_state` — Get oomol-tts task state\n- `oomol_tts_submit` — Convert text to audio [write]\n- `openai_image_async_result` — Get asynchronous OpenAI image generation result\n- `openai_image_async_submit` — Submit asynchronous OpenAI image generation requests, including gpt-image-2 image creation. [write]\n- `openai_image_edit_async_result` — Get asynchronous OpenAI image edit result [write]\n- `openai_image_edit_async_submit` — Submit asynchronous OpenAI image edit requests, including gpt-image-2 image editing. [write]\n- `pdf_transform_epub_result` — Get pdf-transform-epub task result\n- `pdf_transform_epub_state` — Get pdf-transform-epub task state\n- `pdf_transform_epub_submit` — Convert a PDF to EPUB format [write]\n- `pdf_transform_markdown_result` — Get pdf-transform-markdown task result\n- `pdf_transform_markdown_state` — Get pdf-transform-markdown task state\n- `pdf_transform_markdown_submit` — Convert a PDF to Markdown format [write]\n- `qwen_asr_filetrans_result` — Get Qwen ASR file transcription task result\n- `qwen_asr_filetrans_state` — Get Qwen ASR file transcription task state\n- `qwen_asr_filetrans_submit` — Submit a long-audio speech recognition task with Qwen ASR file transcription [write]\n- `qwen_doc_turbo_analyze` — Analyze documents with Tongyi Qianwen\n- `qwen_image_edit_plus_edit` — Edit images with Tongyi Wanxiang [write]\n- `qwen_image_generate` — Generate images with Tongyi Qianwen\n- `qwen_mt_image_result` — Get qwen-mt-image task result\n- `qwen_mt_image_state` — Get qwen-mt-image task state\n- `qwen_mt_image_submit` — Image machine translation [write]\n- `qwen_tts_generate` — Generate speech audio\n- `qwen_voice_cloning_create` — Create a Qwen voice cloning voice and return a preview audio URL. [write]\n- `qwen_voice_design_create` — Create a Qwen voice design voice and return preview audio. [write]\n- `qwen_voice_design_delete` — Delete a Qwen voice design voice. [destructive]\n- `qwen_voice_design_generate` — Generate speech audio using a Qwen voice design voice.\n- `qwen_voice_design_list` — List Qwen voice design voices.\n- `qwen_voice_design_query` — Get details for a Qwen voice design voice.\n- `seedance_video_result` — Query a Seedance video generation task result\n- `seedance_video_state` — Get a Seedance video generation task state\n- `seedance_video_submit` — Generate videos with Doubao Seedance [write]\n- `text_to_epub_illustrate_generate` — Generate illustrations for EPUB content\n- `tinify_png_shrink_compress` — Compress PNG images with the Tinify API\n- `wanx_i2v_video_result` — Query first-frame-to-video task result\n- `wanx_i2v_video_state` — Get wanx-i2v-video task state\n- `wanx_i2v_video_submit` — Generate videos from the first frame with Tongyi Wanxiang [write]\n- `wanx_image_result` — Get wanx-image task result\n- `wanx_image_state` — Get wanx-image task state\n- `wanx_image_submit` — Generate and edit images with Tongyi Wanxiang AI [write]\n- `wanx_kf2v_video_result` — Get wanx-kf2v-video task result\n- `wanx_kf2v_video_state` — Get wanx-kf2v-video task state\n- `wanx_kf2v_video_submit` — Generate videos from keyframes with Tongyi Wanxiang [write]\n- `wanx_r2v_video_result` — Query reference-to-video task result\n- `wanx_r2v_video_state` — Get wanx-r2v-video task state\n- `wanx_r2v_video_submit` — Generate videos from reference assets with Tongyi Wanxiang [write]\n- `wanx_t2v_video_result` — Query text-to-video task result\n- `wanx_t2v_video_state` — Get wanx-t2v-video task state\n- `wanx_t2v_video_submit` — Generate text-to-video videos with Tongyi Wanxiang [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change OOMOL Fusion API state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- OOMOL Fusion API homepage: https://www.oomol.com\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn7csf1kvg56rx8s952ep216r187zet6\",\n  \"slug\": \"oo-fusion-api\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1786435596440\n}\n\nFile v1.0.4:skill-card.md\n\n## Description:\n\nOOMOL Fusion API lets an agent operate OOMOL Fusion API through the oo CLI for reading, creating, updating, and deleting data.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and agents use this skill to inspect live OOMOL Fusion API action schemas, build matching JSON payloads, and run connector actions through the oo CLI for media generation, document processing, content retrieval, uploads, and account-scoped operations.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can run write, upload, media-generation, and destructive OOMOL Fusion API actions through the user's connected account.\n\nMitigation: Review action schemas and confirm the exact payload and effect with the user before running state-changing or destructive actions.\n\nRisk: Web-search and URL-reading actions may return untrusted external content.\n\nMitigation: Treat retrieved content as untrusted input and verify important facts before acting on it.\n\nRisk: Connector actions depend on the oo CLI being installed, signed in, and backed by sufficient OOMOL account credit.\n\nMitigation: Run setup or billing steps only after the relevant command failure indicates they are needed.\n\n## Reference(s):\n\n- [OOMOL Fusion API Skill Page](https://clawhub.ai/oomol/skills/oo-fusion-api)\n- [OOMOL Publisher Profile](https://clawhub.ai/user/oomol)\n- [OOMOL Fusion API Homepage](https://www.oomol.com)\n- [oo CLI](https://github.com/oomol-lab/oo-cli)\n- [oo CLI Install Guide](https://cli.oomol.com/install-guide.md)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, JSON, Guidance, Configuration instructions]\n\n**Output Format:** [Markdown guidance with inline shell commands and JSON payloads]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Uses live connector schemas before execution and returns connector responses with data plus meta.executionId when actions run.]\n\n## Skill Version(s):\n\n1.0.4 (source: server release metadata and skill metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.3: 3 files, 4514 bytes\n\nFiles: skill-card.md (2528b), SKILL.md (9055b), _meta.json (132b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: oo-fusion-api\ndescription: \"OOMOL Fusion API (oomol.com). Use this skill for ANY OOMOL Fusion API request — reading, creating, updating, and deleting data. Whenever a task involves OOMOL Fusion API, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"OOMOL Fusion API\"\n  author: \"OOMOL\"\n  version: \"1.0.3\"\n  services: [\"fusion-api\"]\n  icon: \"https://static.oomol.com/logo/logo.png\"\n---\n\n# OOMOL Fusion API\n\nOperate **OOMOL Fusion API** through your OOMOL-connected account. This skill calls the `fusion-api` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nOOMOL Fusion API needs no account connection. Assume the oo CLI is installed and signed in. **Do not run `oo auth login` proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"fusion-api\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"fusion-api\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `cosyvoice_tts_generate` — Generate speech audio with CosyVoice TTS.\n- `cphone_nano_banana_result` — Get cphone-nano-banana task result\n- `cphone_nano_banana_state` — Get cphone-nano-banana task state\n- `cphone_nano_banana_submit` — Edit images with Nano Banana [write]\n- `deepseek_ocr_recognize` — Recognize text from a single image.\n- `doubao_stt_result` — Get doubao-stt task result\n- `doubao_stt_state` — Get doubao-stt task state\n- `doubao_stt_submit` — Convert speech to text with Doubao [write]\n- `doubao_text_to_image_seedream_generate` — Generate images from text with Doubao Seedream\n- `doubao_tts_result` — Get doubao-tts task result\n- `doubao_tts_state` — Get doubao-tts task state\n- `doubao_tts_submit` — Convert text to speech with Doubao [write]\n- `fal_aura_sr_result` — Get fal-aura-sr task result\n- `fal_aura_sr_state` — Get fal-aura-sr task state\n- `fal_aura_sr_submit` — Image super-resolution upscaling [write]\n- `fal_nano_banana_2_result` — Get fal-nano-banana-2 task result\n- `fal_nano_banana_2_state` — Get fal-nano-banana-2 task state\n- `fal_nano_banana_2_submit` — Generate or edit images with Nano Banana 2 [write]\n- `fal_nano_banana_pro_result` — Get fal-nano-banana-pro task result\n- `fal_nano_banana_pro_state` — Get fal-nano-banana-pro task state\n- `fal_nano_banana_pro_submit` — Edit images with Nano Banana Pro [write]\n- `fal_nano_banana_result` — Get fal-nano-banana task result\n- `fal_nano_banana_state` — Get fal-nano-banana task state\n- `fal_nano_banana_submit` — Edit images with Nano Banana [write]\n- `fal_remove_background_result` — Image with background removed [destructive]\n- `fal_remove_background_state` — Get fal-remove-background task state [destructive]\n- `fal_remove_background_submit` — Remove image backgrounds with the Fal.ai BRIA model [destructive]\n- `file_upload_abort_multipart_upload` — Abort multipart upload [write]\n- `file_upload_complete_multipart_upload` — Complete multipart upload [write]\n- `file_upload_create_multipart_upload` — Initialize multipart upload [write]\n- `file_upload_generate_presigned_url` — Generate a presigned URL for file upload [write]\n- `file_upload_generate_presigned_urls` — Generate a presigned URL for multipart upload parts [write]\n- `jina_reader_read` — Read and extract URL content\n- `jina_reader_search` — Search web content\n- `oomol_tts_ng_generate` — Generate speech audio\n- `oomol_tts_result` — Get oomol-tts task result\n- `oomol_tts_state` — Get oomol-tts task state\n- `oomol_tts_submit` — Convert text to audio [write]\n- `openai_image_async_result` — Get asynchronous OpenAI image generation result\n- `openai_image_async_submit` — Submit asynchronous OpenAI image generation requests, including gpt-image-2 image creation. [write]\n- `openai_image_edit_async_result` — Get asynchronous OpenAI image edit result [write]\n- `openai_image_edit_async_submit` — Submit asynchronous OpenAI image edit requests, including gpt-image-2 image editing. [write]\n- `pdf_transform_epub_result` — Get pdf-transform-epub task result\n- `pdf_transform_epub_state` — Get pdf-transform-epub task state\n- `pdf_transform_epub_submit` — Convert a PDF to EPUB format [write]\n- `pdf_transform_markdown_result` — Get pdf-transform-markdown task result\n- `pdf_transform_markdown_state` — Get pdf-transform-markdown task state\n- `pdf_transform_markdown_submit` — Convert a PDF to Markdown format [write]\n- `qwen_asr_filetrans_result` — Get Qwen ASR file transcription task result\n- `qwen_asr_filetrans_state` — Get Qwen ASR file transcription task state\n- `qwen_asr_filetrans_submit` — Submit a long-audio speech recognition task with Qwen ASR file transcription [write]\n- `qwen_doc_turbo_analyze` — Analyze documents with Tongyi Qianwen\n- `qwen_image_edit_plus_edit` — Edit images with Tongyi Wanxiang [write]\n- `qwen_image_generate` — Generate images with Tongyi Qianwen\n- `qwen_mt_image_result` — Get qwen-mt-image task result\n- `qwen_mt_image_state` — Get qwen-mt-image task state\n- `qwen_mt_image_submit` — Image machine translation [write]\n- `qwen_tts_generate` — Generate speech audio\n- `qwen_voice_cloning_create` — Create a Qwen voice cloning voice and return a preview audio URL. [write]\n- `qwen_voice_design_create` — Create a Qwen voice design voice and return preview audio. [write]\n- `qwen_voice_design_delete` — Delete a Qwen voice design voice. [destructive]\n- `qwen_voice_design_generate` — Generate speech audio using a Qwen voice design voice.\n- `qwen_voice_design_list` — List Qwen voice design voices.\n- `qwen_voice_design_query` — Get details for a Qwen voice design voice.\n- `seedance_video_result` — Query a Seedance video generation task result\n- `seedance_video_state` — Get a Seedance video generation task state\n- `seedance_video_submit` — Generate videos with Doubao Seedance [write]\n- `text_to_epub_illustrate_generate` — Generate illustrations for EPUB content\n- `tinify_png_shrink_compress` — Compress PNG images with the Tinify API\n- `wanx_i2v_video_result` — Query first-frame-to-video task result\n- `wanx_i2v_video_state` — Get wanx-i2v-video task state\n- `wanx_i2v_video_submit` — Generate videos from the first frame with Tongyi Wanxiang [write]\n- `wanx_image_result` — Get wanx-image task result\n- `wanx_image_state` — Get wanx-image task state\n- `wanx_image_submit` — Generate and edit images with Tongyi Wanxiang AI [write]\n- `wanx_kf2v_video_result` — Get wanx-kf2v-video task result\n- `wanx_kf2v_video_state` — Get wanx-kf2v-video task state\n- `wanx_kf2v_video_submit` — Generate videos from keyframes with Tongyi Wanxiang [write]\n- `wanx_r2v_video_result` — Query reference-to-video task result\n- `wanx_r2v_video_state` — Get wanx-r2v-video task state\n- `wanx_r2v_video_submit` — Generate videos from reference assets with Tongyi Wanxiang [write]\n- `wanx_t2v_video_result` — Query text-to-video task result\n- `wanx_t2v_video_state` — Get wanx-t2v-video task state\n- `wanx_t2v_video_submit` — Generate text-to-video videos with Tongyi Wanxiang [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change OOMOL Fusion API state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- OOMOL Fusion API homepage: https://www.oomol.com\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn7csf1kvg56rx8s952ep216r187zet6\",\n  \"slug\": \"oo-fusion-api\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1780999049402\n}\n\nFile v1.0.3:skill-card.md\n\n## Description: <br>\nOOMOL Fusion API lets an agent use OOMOL's Fusion API connector through the oo CLI for reading, creating, updating, deleting, and processing data. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[oomol](https://clawhub.ai/user/oomol) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and agents use this skill to run OOMOL Fusion API actions for multimodal generation, transcription, OCR, image and video workflows, document conversion, web reading, file upload, and task status retrieval through an authenticated OOMOL account. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Some generation and processing actions may change account state or consume paid OOMOL resources even when the action is not tagged as write. <br>\nMitigation: Ask the agent to show the exact action name and payload before generation, upload, conversion, voice, image, video, or document-processing actions. <br>\nRisk: Destructive actions can remove or overwrite resources. <br>\nMitigation: Require explicit approval for the target resource before running actions tagged destructive. <br>\nRisk: Incorrect payloads can trigger unintended API behavior or failed jobs. <br>\nMitigation: Inspect the live action schema with oo connector schema before constructing payloads. <br>\n\n\n## Reference(s): <br>\n- [OOMOL Fusion API homepage](https://www.oomol.com) <br>\n- [oo CLI](https://github.com/oomol-lab/oo-cli) <br>\n- [oo CLI install guide](https://cli.oomol.com/install-guide.md) <br>\n- [ClawHub skill page](https://clawhub.ai/oomol/oo-fusion-api) <br>\n- [Publisher profile](https://clawhub.ai/user/oomol) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with inline shell commands and JSON payload examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May produce or retrieve URLs, generated media, converted documents, OCR text, transcripts, task states, and task results depending on the selected Fusion API action.] <br>\n\n## Skill Version(s): <br>\n1.0.3 (source: frontmatter and release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.2: 87 files, 51331 bytes\n\nFiles: actions/cosyvoice_tts_generate.md (674b), actions/cphone_nano_banana_result.md (682b), actions/cphone_nano_banana_state.md (676b), actions/cphone_nano_banana_submit.md (810b), actions/deepseek_ocr_recognize.md (668b), actions/doubao_stt_result.md (634b), actions/doubao_stt_state.md (628b), actions/doubao_stt_submit.md (776b), actions/doubao_text_to_image_seedream_generate.md (759b), actions/doubao_tts_result.md (634b), actions/doubao_tts_state.md (628b), actions/doubao_tts_submit.md (776b), actions/fal_aura_sr_result.md (640b), actions/fal_aura_sr_state.md (634b), actions/fal_aura_sr_submit.md (779b), actions/fal_nano_banana_2_result.md (676b), actions/fal_nano_banana_2_state.md (670b), actions/fal_nano_banana_2_submit.md (819b), actions/fal_nano_banana_pro_result.md (688b), actions/fal_nano_banana_pro_state.md (682b), actions/fal_nano_banana_pro_submit.md (819b), actions/fal_nano_banana_result.md (664b), actions/fal_nano_banana_state.md (658b), actions/fal_nano_banana_submit.md (795b), actions/fal_remove_background_result.md (842b), actions/fal_remove_background_state.md (844b), actions/fal_remove_background_submit.md (864b), actions/file_upload_abort_multipart_upload.md (849b), actions/file_upload_complete_multipart_upload.md (867b), actions/file_upload_create_multipart_upload.md (859b), actions/file_upload_generate_presigned_url.md (867b), actions/file_upload_generate_presigned_urls.md (883b), actions/jina_reader_read.md (631b), actions/jina_reader_search.md (631b), actions/oomol_tts_ng_generate.md (649b), actions/oomol_tts_result.md (628b), actions/oomol_tts_state.md (622b), actions/oomol_tts_submit.md (758b), actions/openai_image_async_result.md (695b), actions/openai_image_async_submit.md (873b), actions/openai_image_edit_async_result.md (848b), actions/openai_image_edit_async_submit.md (891b), actions/pdf_transform_epub_result.md (682b), actions/pdf_transform_epub_state.md (676b), actions/pdf_transform_epub_submit.md (810b), actions/pdf_transform_markdown_result.md (706b), actions/pdf_transform_markdown_state.md (700b), actions/pdf_transform_markdown_submit.md (834b), actions/qwen_asr_filetrans_result.md (691b), actions/qwen_asr_filetrans_state.md (685b), actions/qwen_asr_filetrans_submit.md (858b), actions/qwen_doc_turbo_analyze.md (670b), actions/qwen_image_edit_plus_edit.md (814b), actions/qwen_image_generate.md (653b), actions/qwen_mt_image_result.md (652b), actions/qwen_mt_image_state.md (646b), actions/qwen_mt_image_submit.md (782b), actions/qwen_tts_generate.md (629b), actions/qwen_voice_cloning_create.md (847b), actions/qwen_voice_design_create.md (835b), actions/qwen_voice_design_delete.md (826b), actions/qwen_voice_design_generate.md (707b), actions/qwen_voice_design_list.md (663b), actions/qwen_voice_design_query.md (680b), actions/seedance_video_result.md (673b), actions/seedance_video_state.md (665b), actions/seedance_video_submit.md (798b), actions/text_to_epub_illustrate_generate.md (722b), actions/tinify_png_shrink_compress.md (692b), actions/wanx_i2v_video_result.md (666b), actions/wanx_i2v_video_state.md (652b), actions/wanx_i2v_video_submit.md (819b), actions/wanx_image_result.md (634b), actions/wanx_image_state.md (628b), actions/wanx_image_submit.md (790b), actions/wanx_kf2v_video_result.md (664b), actions/wanx_kf2v_video_state.md (658b), actions/wanx_kf2v_video_submit.md (818b), actions/wanx_r2v_video_result.md (664b), actions/wanx_r2v_video_state.md (652b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: oo-fusion-api\ndescription: \"OOMOL Fusion API (oomol.com). Use this skill for ANY OOMOL Fusion API request — reading, creating, updating, and deleting data. Whenever a task involves OOMOL Fusion API, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"OOMOL Fusion API\"\n  author: \"OOMOL\"\n  version: \"1.0.2\"\n  service: \"fusion-api\"\n  categories: \"AI, Developer Tools\"\n  homepage: \"https://www.oomol.com\"\n  icon: \"https://static.oomol.com/logo/logo.png\"\n---\n\n# OOMOL Fusion API\n\nOperate **OOMOL Fusion API** through your OOMOL-connected account. This skill calls the `fusion-api` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\nCategory: AI, Developer Tools. Exposes 84 action(s).\n\n## Running an action\n\nOOMOL Fusion API needs no account connection. Assume the oo CLI is installed and signed in. **Do not run `oo auth login` proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"fusion-api\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"fusion-api\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action below links to a reference file with its purpose and exact commands. Read the linked file, then fetch the live schema with `oo connector schema` before constructing `--data`.\n\n## Available actions\n\n- [`cosyvoice_tts_generate`](actions/cosyvoice_tts_generate.md) — Generate speech audio with CosyVoice TTS.\n- [`cphone_nano_banana_result`](actions/cphone_nano_banana_result.md) — Get cphone-nano-banana task result\n- [`cphone_nano_banana_state`](actions/cphone_nano_banana_state.md) — Get cphone-nano-banana task state\n- [`cphone_nano_banana_submit`](actions/cphone_nano_banana_submit.md) — Edit images with Nano Banana\n- [`deepseek_ocr_recognize`](actions/deepseek_ocr_recognize.md) — Recognize text from a single image.\n- [`doubao_stt_result`](actions/doubao_stt_result.md) — Get doubao-stt task result\n- [`doubao_stt_state`](actions/doubao_stt_state.md) — Get doubao-stt task state\n- [`doubao_stt_submit`](actions/doubao_stt_submit.md) — Convert speech to text with Doubao\n- [`doubao_text_to_image_seedream_generate`](actions/doubao_text_to_image_seedream_generate.md) — Generate images from text with Doubao Seedream\n- [`doubao_tts_result`](actions/doubao_tts_result.md) — Get doubao-tts task result\n- [`doubao_tts_state`](actions/doubao_tts_state.md) — Get doubao-tts task state\n- [`doubao_tts_submit`](actions/doubao_tts_submit.md) — Convert text to speech with Doubao\n- [`fal_aura_sr_result`](actions/fal_aura_sr_result.md) — Get fal-aura-sr task result\n- [`fal_aura_sr_state`](actions/fal_aura_sr_state.md) — Get fal-aura-sr task state\n- [`fal_aura_sr_submit`](actions/fal_aura_sr_submit.md) — Image super-resolution upscaling\n- [`fal_nano_banana_2_result`](actions/fal_nano_banana_2_result.md) — Get fal-nano-banana-2 task result\n- [`fal_nano_banana_2_state`](actions/fal_nano_banana_2_state.md) — Get fal-nano-banana-2 task state\n- [`fal_nano_banana_2_submit`](actions/fal_nano_banana_2_submit.md) — Generate or edit images with Nano Banana 2\n- [`fal_nano_banana_pro_result`](actions/fal_nano_banana_pro_result.md) — Get fal-nano-banana-pro task result\n- [`fal_nano_banana_pro_state`](actions/fal_nano_banana_pro_state.md) — Get fal-nano-banana-pro task state\n- [`fal_nano_banana_pro_submit`](actions/fal_nano_banana_pro_submit.md) — Edit images with Nano Banana Pro\n- [`fal_nano_banana_result`](actions/fal_nano_banana_result.md) — Get fal-nano-banana task result\n- [`fal_nano_banana_state`](actions/fal_nano_banana_state.md) — Get fal-nano-banana task state\n- [`fal_nano_banana_submit`](actions/fal_nano_banana_submit.md) — Edit images with Nano Banana\n- [`fal_remove_background_result`](actions/fal_remove_background_result.md) — Image with background removed\n- [`fal_remove_background_state`](actions/fal_remove_background_state.md) — Get fal-remove-background task state\n- [`fal_remove_background_submit`](actions/fal_remove_background_submit.md) — Remove image backgrounds with the Fal.ai BRIA model\n- [`file_upload_abort_multipart_upload`](actions/file_upload_abort_multipart_upload.md) — Abort multipart upload\n- [`file_upload_complete_multipart_upload`](actions/file_upload_complete_multipart_upload.md) — Complete multipart upload\n- [`file_upload_create_multipart_upload`](actions/file_upload_create_multipart_upload.md) — Initialize multipart upload\n- [`file_upload_generate_presigned_url`](actions/file_upload_generate_presigned_url.md) — Generate a presigned URL for file upload\n- [`file_upload_generate_presigned_urls`](actions/file_upload_generate_presigned_urls.md) — Generate a presigned URL for multipart upload parts\n- [`jina_reader_read`](actions/jina_reader_read.md) — Read and extract URL content\n- [`jina_reader_search`](actions/jina_reader_search.md) — Search web content\n- [`oomol_tts_ng_generate`](actions/oomol_tts_ng_generate.md) — Generate speech audio\n- [`oomol_tts_result`](actions/oomol_tts_result.md) — Get oomol-tts task result\n- [`oomol_tts_state`](actions/oomol_tts_state.md) — Get oomol-tts task state\n- [`oomol_tts_submit`](actions/oomol_tts_submit.md) — Convert text to audio\n- [`openai_image_async_result`](actions/openai_image_async_result.md) — Get asynchronous OpenAI image generation result\n- [`openai_image_async_submit`](actions/openai_image_async_submit.md) — Submit asynchronous OpenAI image generation requests, including gpt-image-2 image creation.\n- [`openai_image_edit_async_result`](actions/openai_image_edit_async_result.md) — Get asynchronous OpenAI image edit result\n- [`openai_image_edit_async_submit`](actions/openai_image_edit_async_submit.md) — Submit asynchronous OpenAI image edit requests, including gpt-image-2 image editing.\n- [`pdf_transform_epub_result`](actions/pdf_transform_epub_result.md) — Get pdf-transform-epub task result\n- [`pdf_transform_epub_state`](actions/pdf_transform_epub_state.md) — Get pdf-transform-epub task state\n- [`pdf_transform_epub_submit`](actions/pdf_transform_epub_submit.md) — Convert a PDF to EPUB format\n- [`pdf_transform_markdown_result`](actions/pdf_transform_markdown_result.md) — Get pdf-transform-markdown task result\n- [`pdf_transform_markdown_state`](actions/pdf_transform_markdown_state.md) — Get pdf-transform-markdown task state\n- [`pdf_transform_markdown_submit`](actions/pdf_transform_markdown_submit.md) — Convert a PDF to Markdown format\n- [`qwen_asr_filetrans_result`](actions/qwen_asr_filetrans_result.md) — Get Qwen ASR file transcription task result\n- [`qwen_asr_filetrans_state`](actions/qwen_asr_filetrans_state.md) — Get Qwen ASR file transcription task state\n- [`qwen_asr_filetrans_submit`](actions/qwen_asr_filetrans_submit.md) — Submit a long-audio speech recognition task with Qwen ASR file transcription\n- [`qwen_doc_turbo_analyze`](actions/qwen_doc_turbo_analyze.md) — Analyze documents with Tongyi Qianwen\n- [`qwen_image_edit_plus_edit`](actions/qwen_image_edit_plus_edit.md) — Edit images with Tongyi Wanxiang\n- [`qwen_image_generate`](actions/qwen_image_generate.md) — Generate images with Tongyi Qianwen\n- [`qwen_mt_image_result`](actions/qwen_mt_image_result.md) — Get qwen-mt-image task result\n- [`qwen_mt_image_state`](actions/qwen_mt_image_state.md) — Get qwen-mt-image task state\n- [`qwen_mt_image_submit`](actions/qwen_mt_image_submit.md) — Image machine translation\n- [`qwen_tts_generate`](actions/qwen_tts_generate.md) — Generate speech audio\n- [`qwen_voice_cloning_create`](actions/qwen_voice_cloning_create.md) — Create a Qwen voice cloning voice and return a preview audio URL.\n- [`qwen_voice_design_create`](actions/qwen_voice_design_create.md) — Create a Qwen voice design voice and return preview audio.\n- [`qwen_voice_design_delete`](actions/qwen_voice_design_delete.md) — Delete a Qwen voice design voice.\n- [`qwen_voice_design_generate`](actions/qwen_voice_design_generate.md) — Generate speech audio using a Qwen voice design voice.\n- [`qwen_voice_design_list`](actions/qwen_voice_design_list.md) — List Qwen voice design voices.\n- [`qwen_voice_design_query`](actions/qwen_voice_design_query.md) — Get details for a Qwen voice design voice.\n- [`seedance_video_result`](actions/seedance_video_result.md) — Query a Seedance video generation task result\n- [`seedance_video_state`](actions/seedance_video_state.md) — Get a Seedance video generation task state\n- [`seedance_video_submit`](actions/seedance_video_submit.md) — Generate videos with Doubao Seedance\n- [`text_to_epub_illustrate_generate`](actions/text_to_epub_illustrate_generate.md) — Generate illustrations for EPUB content\n- [`tinify_png_shrink_compress`](actions/tinify_png_shrink_compress.md) — Compress PNG images with the Tinify API\n- [`wanx_i2v_video_result`](actions/wanx_i2v_video_result.md) — Query first-frame-to-video task result\n- [`wanx_i2v_video_state`](actions/wanx_i2v_video_state.md) — Get wanx-i2v-video task state\n- [`wanx_i2v_video_submit`](actions/wanx_i2v_video_submit.md) — Generate videos from the first frame with Tongyi Wanxiang\n- [`wanx_image_result`](actions/wanx_image_result.md) — Get wanx-image task result\n- [`wanx_image_state`](actions/wanx_image_state.md) — Get wanx-image task state\n- [`wanx_image_submit`](actions/wanx_image_submit.md) — Generate and edit images with Tongyi Wanxiang AI\n- [`wanx_kf2v_video_result`](actions/wanx_kf2v_video_result.md) — Get wanx-kf2v-video task result\n- [`wanx_kf2v_video_state`](actions/wanx_kf2v_video_state.md) — Get wanx-kf2v-video task state\n- [`wanx_kf2v_video_submit`](actions/wanx_kf2v_video_submit.md) — Generate videos from keyframes with Tongyi Wanxiang\n- [`wanx_r2v_video_result`](actions/wanx_r2v_video_result.md) — Query reference-to-video task result\n- [`wanx_r2v_video_state`](actions/wanx_r2v_video_state.md) — Get wanx-r2v-video task state\n- [`wanx_r2v_video_submit`](actions/wanx_r2v_video_submit.md) — Generate videos from reference assets with Tongyi Wanxiang\n- [`wanx_t2v_video_result`](actions/wanx_t2v_video_result.md) — Query text-to-video task result\n- [`wanx_t2v_video_state`](actions/wanx_t2v_video_state.md) — Get wanx-t2v-video task state\n- [`wanx_t2v_video_submit`](actions/wanx_t2v_video_submit.md) — Generate text-to-video videos with Tongyi Wanxiang\n\n## Safety\n\n- Read actions (get / list / search) are safe to run directly.\n- **Create, update, send, or post actions change OOMOL Fusion API state — confirm the exact payload and effect with the user before running.**\n- **Delete or remove actions are destructive — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- OOMOL Fusion API homepage: https://www.oomol.com\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn7csf1kvg56rx8s952ep216r187zet6\",\n  \"slug\": \"oo-fusion-api\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1780977065422\n}\n\nFile v1.0.2:actions/cosyvoice_tts_generate.md\n\n# OOMOL Fusion API · `cosyvoice_tts_generate`\n\nGenerate speech audio with CosyVoice TTS.\n\n- **Service**: `fusion-api`\n- **Action**: `cosyvoice_tts_generate`\n- **Action id**: `fusion-api.cosyvoice_tts_generate`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"fusion-api\" --action \"cosyvoice_tts_generate\"\n```\n\n## Run\n\n```bash\noo connector run \"fusion-api\" --action \"cosyvoice_tts_generate\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.2:actions/cphone_nano_banana_result.md\n\n# OOMOL Fusion API · `cphone_nano_banana_result`\n\nGet cphone-nano-banana task result\n\n- **Service**: `fusion-api`\n- **Action**: `cphone_nano_banana_result`\n- **Action id**: `fusion-api.cphone_nano_banana_result`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"fusion-api\" --action \"cphone_nano_banana_result\"\n```\n\n## Run\n\n```bash\noo connector run \"fusion-api\" --action \"cphone_nano_banana_result\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.2:actions/cphone_nano_banana_state.md\n\n# OOMOL Fusion API · `cphone_nano_banana_state`\n\nGet cphone-nano-banana task state\n\n- **Service**: `fusion-api`\n- **Action**: `cphone_nano_banana_state`\n- **Action id**: `fusion-api.cphone_nano_banana_state`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"fusion-api\" --action \"cphone_nano_banana_state\"\n```\n\n## Run\n\n```bash\noo connector run \"fusion-api\" --action \"cphone_nano_banana_state\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.2:actions/cphone_nano_banana_submit.md\n\n# OOMOL Fusion API · `cphone_nano_banana_submit`\n\nEdit images with Nano Banana\n\n- **Service**: `fusion-api`\n- **Action**: `cphone_nano_banana_submit`\n- **Action id**: `fusion-api.cphone_nano_banana_submit`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"fusion-api\" --action \"cphone_nano_banana_submit\"\n```\n\n## Run\n\n```bash\noo connector run \"fusion-api\" --action \"cphone_nano_banana_submit\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Write action.** This changes OOMOL Fusion API state. Confirm the exact payload and intended effect with the user before running.\n\nFile v1.0.2:actions/deepseek_ocr_recognize.md\n\n# OOMOL Fusion API · `deepseek_ocr_recognize`\n\nRecognize text from a single image.\n\n- **Service**: `fusion-api`\n- **Action**: `deepseek_ocr_recognize`\n- **Action id**: `fusion-api.deepseek_ocr_recognize`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"fusion-api\" --action \"deepseek_ocr_recognize\"\n```\n\n## Run\n\n```bash\noo connector run \"fusion-api\" --action \"deepseek_ocr_recognize\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.2:actions/doubao_stt_result.md\n\n# OOMOL Fusion API · `doubao_stt_result`\n\nGet doubao-stt task result\n\n- **Service**: `fusion-api`\n- **Action**: `doubao_stt_result`\n- **Action id**: `fusion-api.doubao_stt_result`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"fusion-api\" --action \"doubao_stt_result\"\n```\n\n## Run\n\n```bash\noo connector run \"fusion-api\" --action \"doubao_stt_result\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.2:actions/doubao_stt_state.md\n\n# OOMOL Fusion API · `doubao_stt_state`\n\nGet doubao-stt task state\n\n- **Service**: `fusion-api`\n- **Action**: `doubao_stt_state`\n- **Action id**: `fusion-api.doubao_stt_state`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"fusion-api\" --action \"doubao_stt_state\"\n```\n\n## Run\n\n```bash\noo connector run \"fusion-api\" --action \"doubao_stt_state\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.2:actions/doubao_stt_submit.md\n\n# OOMOL Fusion API · `doubao_stt_submit`\n\nConvert speech to text with Doubao\n\n- **Service**: `fusion-api`\n- **Action**: `doubao_stt_submit`\n- **Action id**: `fusion-api.doubao_stt_submit`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"fusion-api\" --action \"doubao_stt_submit\"\n```\n\n## Run\n\n```bash\noo connector run \"fusion-api\" --action \"doubao_stt_submit\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Write action.** This changes OOMOL Fusion API state. Confirm the exact payload and intended effect with the user before running.\n\nFile v1.0.2:actions/doubao_text_to_image_seedream_generate.md\n\n# OOMOL Fusion API · `doubao_text_to_image_seedream_generate`\n\nGenerate images from text with Doubao Seedream\n\n- **Service**: `fusion-api`\n- **Action**: `doubao_text_to_image_seedream_generate`\n- **Action id**: `fusion-api.doubao_text_to_image_seedream_generate`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"fusion-api\" --action \"doubao_text_to_image_seedream_generate\"\n```\n\n## Run\n\n```bash\noo connector run \"fusion-api\" --action \"doubao_text_to_image_seedream_generate\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.2:actions/doubao_tts_result.md\n\n# OOMOL Fusion API · `doubao_tts_result`\n\nGet doubao-tts task result\n\n- **Service**: `fusion-api`\n- **Action**: `doubao_tts_result`\n- **Action id**: `fusion-api.doubao_tts_result`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"fusion-api\" --action \"doubao_tts_result\"\n```\n\n## Run\n\n```bash\noo connector run \"fusion-api\" --action \"doubao_tts_result\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nArchive v1.0.0: 86 files, 50436 bytes\n\nFiles: actions/cosyvoice_tts_generate.md (674b), actions/cphone_nano_banana_result.md (682b), actions/cphone_nano_banana_state.md (676b), actions/cphone_nano_banana_submit.md (810b), actions/doubao_stt_result.md (634b), actions/doubao_stt_state.md (628b), actions/doubao_stt_submit.md (776b), actions/doubao_text_to_image_seedream_generate.md (759b), actions/doubao_tts_result.md (634b), actions/doubao_tts_state.md (628b), actions/doubao_tts_submit.md (776b), actions/fal_aura_sr_result.md (640b), actions/fal_aura_sr_state.md (634b), actions/fal_aura_sr_submit.md (779b), actions/fal_nano_banana_2_result.md (676b), actions/fal_nano_banana_2_state.md (670b), actions/fal_nano_banana_2_submit.md (819b), actions/fal_nano_banana_pro_result.md (688b), actions/fal_nano_banana_pro_state.md (682b), actions/fal_nano_banana_pro_submit.md (819b), actions/fal_nano_banana_result.md (664b), actions/fal_nano_banana_state.md (658b), actions/fal_nano_banana_submit.md (795b), actions/fal_remove_background_result.md (842b), actions/fal_remove_background_state.md (844b), actions/fal_remove_background_submit.md (864b), actions/file_upload_abort_multipart_upload.md (849b), actions/file_upload_complete_multipart_upload.md (867b), actions/file_upload_create_multipart_upload.md (859b), actions/file_upload_generate_presigned_url.md (867b), actions/file_upload_generate_presigned_urls.md (883b), actions/jina_reader_read.md (631b), actions/jina_reader_search.md (631b), actions/oomol_tts_ng_generate.md (649b), actions/oomol_tts_result.md (628b), actions/oomol_tts_state.md (622b), actions/oomol_tts_submit.md (758b), actions/openai_image_async_result.md (695b), actions/openai_image_async_submit.md (873b), actions/openai_image_edit_async_result.md (848b), actions/openai_image_edit_async_submit.md (891b), actions/pdf_transform_epub_result.md (682b), actions/pdf_transform_epub_state.md (676b), actions/pdf_transform_epub_submit.md (810b), actions/pdf_transform_markdown_result.md (706b), actions/pdf_transform_markdown_state.md (700b), actions/pdf_transform_markdown_submit.md (834b), actions/qwen_asr_filetrans_result.md (691b), actions/qwen_asr_filetrans_state.md (685b), actions/qwen_asr_filetrans_submit.md (858b), actions/qwen_doc_turbo_analyze.md (670b), actions/qwen_image_edit_plus_edit.md (814b), actions/qwen_image_generate.md (653b), actions/qwen_mt_image_result.md (652b), actions/qwen_mt_image_state.md (646b), actions/qwen_mt_image_submit.md (782b), actions/qwen_tts_generate.md (629b), actions/qwen_voice_cloning_create.md (847b), actions/qwen_voice_design_create.md (835b), actions/qwen_voice_design_delete.md (826b), actions/qwen_voice_design_generate.md (707b), actions/qwen_voice_design_list.md (663b), actions/qwen_voice_design_query.md (680b), actions/seedance_video_result.md (673b), actions/seedance_video_state.md (665b), actions/seedance_video_submit.md (798b), actions/text_to_epub_illustrate_generate.md (722b), actions/tinify_png_shrink_compress.md (692b), actions/wanx_i2v_video_result.md (666b), actions/wanx_i2v_video_state.md (652b), actions/wanx_i2v_video_submit.md (819b), actions/wanx_image_result.md (634b), actions/wanx_image_state.md (628b), actions/wanx_image_submit.md (790b), actions/wanx_kf2v_video_result.md (664b), actions/wanx_kf2v_video_state.md (658b), actions/wanx_kf2v_video_submit.md (818b), actions/wanx_r2v_video_result.md (664b), actions/wanx_r2v_video_state.md (652b), actions/wanx_r2v_video_submit.md (820b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: oo-fusion-api\ndescription: \"Oomol Fusion API (oomol.com). Use this skill for ANY Oomol Fusion API request — reading, creating, updating, and deleting data. Whenever a task involves Oomol Fusion API, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Oomol Fusion API\"\n  author: \"OOMOL\"\n  version: \"1.0.0\"\n  service: \"fusion-api\"\n  categories: \"AI, Developer Tools\"\n  homepage: \"https://www.oomol.com\"\n  icon: \"https://static.oomol.com/logo/logo.png\"\n---\n\n# Oomol Fusion API\n\nOperate **Oomol Fusion API** through your OOMOL-connected account. This skill calls the `fusion-api` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\nCategory: AI, Developer Tools. Exposes 83 action(s).\n\n## Running an action\n\nOomol Fusion API needs no account connection. Assume the oo CLI is installed and signed in. **Do not run `oo auth login` proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"fusion-api\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"fusion-api\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action below links to a reference file with its purpose and exact commands. Read the linked file, then fetch the live schema with `oo connector schema` before constructing `--data`.\n\n## Available actions\n\n- [`cosyvoice_tts_generate`](actions/cosyvoice_tts_generate.md) — Generate speech audio with CosyVoice TTS.\n- [`cphone_nano_banana_result`](actions/cphone_nano_banana_result.md) — Get cphone-nano-banana task result\n- [`cphone_nano_banana_state`](actions/cphone_nano_banana_state.md) — Get cphone-nano-banana task state\n- [`cphone_nano_banana_submit`](actions/cphone_nano_banana_submit.md) — Edit images with Nano Banana\n- [`doubao_stt_result`](actions/doubao_stt_result.md) — Get doubao-stt task result\n- [`doubao_stt_state`](actions/doubao_stt_state.md) — Get doubao-stt task state\n- [`doubao_stt_submit`](actions/doubao_stt_submit.md) — Convert speech to text with Doubao\n- [`doubao_text_to_image_seedream_generate`](actions/doubao_text_to_image_seedream_generate.md) — Generate images from text with Doubao Seedream\n- [`doubao_tts_result`](actions/doubao_tts_result.md) — Get doubao-tts task result\n- [`doubao_tts_state`](actions/doubao_tts_state.md) — Get doubao-tts task state\n- [`doubao_tts_submit`](actions/doubao_tts_submit.md) — Convert text to speech with Doubao\n- [`fal_aura_sr_result`](actions/fal_aura_sr_result.md) — Get fal-aura-sr task result\n- [`fal_aura_sr_state`](actions/fal_aura_sr_state.md) — Get fal-aura-sr task state\n- [`fal_aura_sr_submit`](actions/fal_aura_sr_submit.md) — Image super-resolution upscaling\n- [`fal_nano_banana_2_result`](actions/fal_nano_banana_2_result.md) — Get fal-nano-banana-2 task result\n- [`fal_nano_banana_2_state`](actions/fal_nano_banana_2_state.md) — Get fal-nano-banana-2 task state\n- [`fal_nano_banana_2_submit`](actions/fal_nano_banana_2_submit.md) — Generate or edit images with Nano Banana 2\n- [`fal_nano_banana_pro_result`](actions/fal_nano_banana_pro_result.md) — Get fal-nano-banana-pro task result\n- [`fal_nano_banana_pro_state`](actions/fal_nano_banana_pro_state.md) — Get fal-nano-banana-pro task state\n- [`fal_nano_banana_pro_submit`](actions/fal_nano_banana_pro_submit.md) — Edit images with Nano Banana Pro\n- [`fal_nano_banana_result`](actions/fal_nano_banana_result.md) — Get fal-nano-banana task result\n- [`fal_nano_banana_state`](actions/fal_nano_banana_state.md) — Get fal-nano-banana task state\n- [`fal_nano_banana_submit`](actions/fal_nano_banana_submit.md) — Edit images with Nano Banana\n- [`fal_remove_background_result`](actions/fal_remove_background_result.md) — Image with background removed\n- [`fal_remove_background_state`](actions/fal_remove_background_state.md) — Get fal-remove-background task state\n- [`fal_remove_background_submit`](actions/fal_remove_background_submit.md) — Remove image backgrounds with the Fal.ai BRIA model\n- [`file_upload_abort_multipart_upload`](actions/file_upload_abort_multipart_upload.md) — Abort multipart upload\n- [`file_upload_complete_multipart_upload`](actions/file_upload_complete_multipart_upload.md) — Complete multipart upload\n- [`file_upload_create_multipart_upload`](actions/file_upload_create_multipart_upload.md) — Initialize multipart upload\n- [`file_upload_generate_presigned_url`](actions/file_upload_generate_presigned_url.md) — Generate a presigned URL for file upload\n- [`file_upload_generate_presigned_urls`](actions/file_upload_generate_presigned_urls.md) — Generate a presigned URL for multipart upload parts\n- [`jina_reader_read`](actions/jina_reader_read.md) — Read and extract URL content\n- [`jina_reader_search`](actions/jina_reader_search.md) — Search web content\n- [`oomol_tts_ng_generate`](actions/oomol_tts_ng_generate.md) — Generate speech audio\n- [`oomol_tts_result`](actions/oomol_tts_result.md) — Get oomol-tts task result\n- [`oomol_tts_state`](actions/oomol_tts_state.md) — Get oomol-tts task state\n- [`oomol_tts_submit`](actions/oomol_tts_submit.md) — Convert text to audio\n- [`openai_image_async_result`](actions/openai_image_async_result.md) — Get asynchronous OpenAI image generation result\n- [`openai_image_async_submit`](actions/openai_image_async_submit.md) — Submit asynchronous OpenAI image generation requests, including gpt-image-2 image creation.\n- [`openai_image_edit_async_result`](actions/openai_image_edit_async_result.md) — Get asynchronous OpenAI image edit result\n- [`openai_image_edit_async_submit`](actions/openai_image_edit_async_submit.md) — Submit asynchronous OpenAI image edit requests, including gpt-image-2 image editing.\n- [`pdf_transform_epub_result`](actions/pdf_transform_epub_result.md) — Get pdf-transform-epub task result\n- [`pdf_transform_epub_state`](actions/pdf_transform_epub_state.md) — Get pdf-transform-epub task state\n- [`pdf_transform_epub_submit`](actions/pdf_transform_epub_submit.md) — Convert a PDF to EPUB format\n- [`pdf_transform_markdown_result`](actions/pdf_transform_markdown_result.md) — Get pdf-transform-markdown task result\n- [`pdf_transform_markdown_state`](actions/pdf_transform_markdown_state.md) — Get pdf-transform-markdown task state\n- [`pdf_transform_markdown_submit`](actions/pdf_transform_markdown_submit.md) — Convert a PDF to Markdown format\n- [`qwen_asr_filetrans_result`](actions/qwen_asr_filetrans_result.md) — Get Qwen ASR file transcription task result\n- [`qwen_asr_filetrans_state`](actions/qwen_asr_filetrans_state.md) — Get Qwen ASR file transcription task state\n- [`qwen_asr_filetrans_submit`](actions/qwen_asr_filetrans_submit.md) — Submit a long-audio speech recognition task with Qwen ASR file transcription\n- [`qwen_doc_turbo_analyze`](actions/qwen_doc_turbo_analyze.md) — Analyze documents with Tongyi Qianwen\n- [`qwen_image_edit_plus_edit`](actions/qwen_image_edit_plus_edit.md) — Edit images with Tongyi Wanxiang\n- [`qwen_image_generate`](actions/qwen_image_generate.md) — Generate images with Tongyi Qianwen\n- [`qwen_mt_image_result`](actions/qwen_mt_image_result.md) — Get qwen-mt-image task result\n- [`qwen_mt_image_state`](actions/qwen_mt_image_state.md) — Get qwen-mt-image task state\n- [`qwen_mt_image_submit`](actions/qwen_mt_image_submit.md) — Image machine translation\n- [`qwen_tts_generate`](actions/qwen_tts_generate.md) — Generate speech audio\n- [`qwen_voice_cloning_create`](actions/qwen_voice_cloning_create.md) — Create a Qwen voice cloning voice and return a preview audio URL.\n- [`qwen_voice_design_create`](actions/qwen_voice_design_create.md) — Create a Qwen voice design voice and return preview audio.\n- [`qwen_voice_design_delete`](actions/qwen_voice_design_delete.md) — Delete a Qwen voice design voice.\n- [`qwen_voice_design_generate`](actions/qwen_voice_design_generate.md) — Generate speech audio using a Qwen voice design voice.\n- [`qwen_voice_design_list`](actions/qwen_voice_design_list.md) — List Qwen voice design voices.\n- [`qwen_voice_design_query`](actions/qwen_voice_design_query.md) — Get details for a Qwen voice design voice.\n- [`seedance_video_result`](actions/seedance_video_result.md) — Query a Seedance video generation task result\n- [`seedance_video_state`](actions/seedance_video_state.md) — Get a Seedance video generation task state\n- [`seedance_video_submit`](actions/seedance_video_submit.md) — Generate videos with Doubao Seedance\n- [`text_to_epub_illustrate_generate`](actions/text_to_epub_illustrate_generate.md) — Generate illustrations for EPUB content\n- [`tinify_png_shrink_compress`](actions/tinify_png_shrink_compress.md) — Compress PNG images with the Tinify API\n- [`wanx_i2v_video_result`](actions/wanx_i2v_video_result.md) — Query first-frame-to-video task result\n- [`wanx_i2v_video_state`](actions/wanx_i2v_video_state.md) — Get wanx-i2v-video task state\n- [`wanx_i2v_video_submit`](actions/wanx_i2v_video_submit.md) — Generate videos from the first frame with Tongyi Wanxiang\n- [`wanx_image_result`](actions/wanx_image_result.md) — Get wanx-image task result\n- [`wanx_image_state`](actions/wanx_image_state.md) — Get wanx-image task state\n- [`wanx_image_submit`](actions/wanx_image_submit.md) — Generate and edit images with Tongyi Wanxiang AI\n- [`wanx_kf2v_video_result`](actions/wanx_kf2v_video_result.md) — Get wanx-kf2v-video task result\n- [`wanx_kf2v_video_state`](actions/wanx_kf2v_video_state.md) — Get wanx-kf2v-video task state\n- [`wanx_kf2v_video_submit`](actions/wanx_kf2v_video_submit.md) — Generate videos from keyframes with Tongyi Wanxiang\n- [`wanx_r2v_video_result`](actions/wanx_r2v_video_result.md) — Query reference-to-video task result\n- [`wanx_r2v_video_state`](actions/wanx_r2v_video_state.md) — Get wanx-r2v-video task state\n- [`wanx_r2v_video_submit`](actions/wanx_r2v_video_submit.md) — Generate videos from reference assets with Tongyi Wanxiang\n- [`wanx_t2v_video_result`](actions/wanx_t2v_video_result.md) — Query text-to-video task result\n- [`wanx_t2v_video_state`](actions/wanx_t2v_video_state.md) — Get wanx-t2v-video task state\n- [`wanx_t2v_video_submit`](actions/wanx_t2v_video_submit.md) — Generate text-to-video videos with Tongyi Wanxiang\n\n## Safety\n\n- Read actions (get / list / search) are safe to run directly.\n- **Create, update, send, or post actions change Oomol Fusion API state — confirm the exact payload and effect with the user before running.**\n- **Delete or remove actions are destructive — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Oomol Fusion API homepage: https://www.oomol.com\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7csf1kvg56rx8s952ep216r187zet6\",\n  \"slug\": \"oo-fusion-api\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1780502482104\n}\n\nFile v1.0.0:actions/cosyvoice_tts_generate.md\n\n# Oomol Fusion API · `cosyvoice_tts_generate`\n\nGenerate speech audio with CosyVoice TTS.\n\n- **Service**: `fusion-api`\n- **Action**: `cosyvoice_tts_generate`\n- **Action id**: `fusion-api.cosyvoice_tts_generate`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"fusion-api\" --action \"cosyvoice_tts_generate\"\n```\n\n## Run\n\n```bash\noo connector run \"fusion-api\" --action \"cosyvoice_tts_generate\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/cphone_nano_banana_result.md\n\n# Oomol Fusion API · `cphone_nano_banana_result`\n\nGet cphone-nano-banana task result\n\n- **Service**: `fusion-api`\n- **Action**: `cphone_nano_banana_result`\n- **Action id**: `fusion-api.cphone_nano_banana_result`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"fusion-api\" --action \"cphone_nano_banana_result\"\n```\n\n## Run\n\n```bash\noo connector run \"fusion-api\" --action \"cphone_nano_banana_result\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/cphone_nano_banana_state.md\n\n# Oomol Fusion API · `cphone_nano_banana_state`\n\nGet cphone-nano-banana task state\n\n- **Service**: `fusion-api`\n- **Action**: `cphone_nano_banana_state`\n- **Action id**: `fusion-api.cphone_nano_banana_state`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"fusion-api\" --action \"cphone_nano_banana_state\"\n```\n\n## Run\n\n```bash\noo connector run \"fusion-api\" --action \"cphone_nano_banana_state\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/cphone_nano_banana_submit.md\n\n# Oomol Fusion API · `cphone_nano_banana_submit`\n\nEdit images with Nano Banana\n\n- **Service**: `fusion-api`\n- **Action**: `cphone_nano_banana_submit`\n- **Action id**: `fusion-api.cphone_nano_banana_submit`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"fusion-api\" --action \"cphone_nano_banana_submit\"\n```\n\n## Run\n\n```bash\noo connector run \"fusion-api\" --action \"cphone_nano_banana_submit\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Write action.** This changes Oomol Fusion API state. Confirm the exact payload and intended effect with the user before running.\n\nFile v1.0.0:actions/doubao_stt_result.md\n\n# Oomol Fusion API · `doubao_stt_result`\n\nGet doubao-stt task result\n\n- **Service**: `fusion-api`\n- **Action**: `doubao_stt_result`\n- **Action id**: `fusion-api.doubao_stt_result`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"fusion-api\" --action \"doubao_stt_result\"\n```\n\n## Run\n\n```bash\noo connector run \"fusion-api\" --action \"doubao_stt_result\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/doubao_stt_state.md\n\n# Oomol Fusion API · `doubao_stt_state`\n\nGet doubao-stt task state\n\n- **Service**: `fusion-api`\n- **Action**: `doubao_stt_state`\n- **Action id**: `fusion-api.doubao_stt_state`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"fusion-api\" --action \"doubao_stt_state\"\n```\n\n## Run\n\n```bash\noo connector run \"fusion-api\" --action \"doubao_stt_state\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/doubao_stt_submit.md\n\n# Oomol Fusion API · `doubao_stt_submit`\n\nConvert speech to text with Doubao\n\n- **Service**: `fusion-api`\n- **Action**: `doubao_stt_submit`\n- **Action id**: `fusion-api.doubao_stt_submit`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"fusion-api\" --action \"doubao_stt_submit\"\n```\n\n## Run\n\n```bash\noo connector run \"fusion-api\" --action \"doubao_stt_submit\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Write action.** This changes Oomol Fusion API state. Confirm the exact payload and intended effect with the user before running.\n\nFile v1.0.0:actions/doubao_text_to_image_seedream_generate.md\n\n# Oomol Fusion API · `doubao_text_to_image_seedream_generate`\n\nGenerate images from text with Doubao Seedream\n\n- **Service**: `fusion-api`\n- **Action**: `doubao_text_to_image_seedream_generate`\n- **Action id**: `fusion-api.doubao_text_to_image_seedream_generate`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"fusion-api\" --action \"doubao_text_to_image_seedream_generate\"\n```\n\n## Run\n\n```bash\noo connector run \"fusion-api\" --action \"doubao_text_to_image_seedream_generate\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/doubao_tts_result.md\n\n# Oomol Fusion API · `doubao_tts_result`\n\nGet doubao-tts task result\n\n- **Service**: `fusion-api`\n- **Action**: `doubao_tts_result`\n- **Action id**: `fusion-api.doubao_tts_result`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"fusion-api\" --action \"doubao_tts_result\"\n```\n\n## Run\n\n```bash\noo connector run \"fusion-api\" --action \"doubao_tts_result\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/doubao_tts_state.md\n\n# Oomol Fusion API · `doubao_tts_state`\n\nGet doubao-tts task state\n\n- **Service**: `fusion-api`\n- **Action**: `doubao_tts_state`\n- **Action id**: `fusion-api.doubao_tts_state`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"fusion-api\" --action \"doubao_tts_state\"\n```\n\n## Run\n\n```bash\noo connector run \"fusion-api\" --action \"doubao_tts_state\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.","readmeExcerpt":"Skill: OOMOL Fusion API Owner: oomol Summary: OOMOL Fusion API (oomol.com). Use this skill for ANY OOMOL Fusion API request — reading, creating, updating, and deleting data. Whenever a task involves OOMOL Fusion API, use this skill instead of calling the API directly. Tags: latest:1.0.8 Version history: v1.0.8 | 2026-09-20T03:12:57.580Z | user - Provides OOMOL Fusion API access through the oo CLI with server-side cre","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"oo connector schema \"fusion-api\" --action \"<action_name>\""},{"language":"bash","snippet":"oo connector run \"fusion-api\" --action \"<action_name>\" --data '<json>' --json"},{"language":"bash","snippet":"curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux"},{"language":"bash","snippet":"curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux"},{"language":"powershell","snippet":"irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell"},{"language":"bash","snippet":"oo auth login"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: oo-fusion-api\ndescription: \"OOMOL Fusion API (oomol.com). Use this skill for ANY OOMOL Fusion API request — reading, creating, updating, and deleting data. Whenever a task involves OOMOL Fusion API, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"OOMOL Fusion API\"\n  author: \"OOMOL\"\n  version: \"1.0.8\"\n  services: [\"fusion-api\"]\n  icon: \"https://static.oomol.com/logo/logo.png\"\n---\n\n# OOMOL Fusion API\n\nOperate **OOMOL Fusion API** through your OOMOL-connected account. This skill calls the `fusion-api` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nOOMOL Fusion API needs no account connection. Assume the oo CLI is installed and signed in. **Do not run `oo auth login` proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"fusion-api\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"fusion-api\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `cosyvoice_tts_generate` — Generate speech audio with CosyVoice TTS.\n- `cphone_nano_banana_result` — Get cphone-nano-banana task result\n- `cphone_nano_banana_state` — Get cphone-nano-banana task state\n- `cphone_nano_banana_submit` — Edit images with Nano Banana [write]\n- `deepseek_ocr_recognize` — Recognize text from a single image.\n- `doubao_stt_result` — Get doubao-stt task result\n- `doubao_stt_state` — Get doubao-stt task state\n- `doubao_stt_submit` — Convert speech to text with Doubao [write]\n- `doubao_text_to_image_seedream_generate` — Generate images from text with Doubao Seedream\n- `doubao_tts_result` — Get doubao-tts task result\n- `doubao_tts_state` — Get doubao-tts task state\n- `doubao_tts_submit` — Convert text to speech with Doubao [write]\n- `fal_aura_sr_result` — Get fal-aura-sr task result\n- `fal_aura_sr_state` — Get fal-aura-sr task state\n- `fal_aura_sr_submit` — Image super-resolution upscaling [write]\n- `fal_nano_banana_2_result` — Get fal-nano-banana-2 task result\n- `fal_nano_banana_2_state` — Get fal-nano-banana-2 task state\n- `fal_nano_banana_2_submit` — Generate or edit images with Nano Banana 2 [write]\n- `fal_nano_banana_pro_result` — Get fal-nano-banana-pro task resu"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7csf1kvg56rx8s952ep216r187zet6\",\n  \"slug\": \"oo-fusion-api\",\n  \"version\": \"1.0.8\",\n  \"publishedAt\": 1789873977580\n}"},{"path":"skill-card.md","content":"## Description:\n\nOOMOL Fusion API helps agents operate the fusion-api connector through the oo CLI for reading, creating, updating, deleting, generating, transforming, and retrieving multimodal content.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and agents use this skill to inspect OOMOL Fusion API action schemas, build JSON payloads, and run connector actions through the oo CLI. It supports multimodal workflows including image, audio, video, OCR, ASR, TTS, document conversion, file upload, web reading, and task result retrieval.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The security review reports unsafe CLI install instructions.\n\nMitigation: Install only when the oo command is missing and only from a trusted OOMOL CLI source; avoid repeating one-time setup steps unnecessarily.\n\nRisk: Some generation or cost-incurring actions may be understated as safe reads.\n\nMitigation: Require explicit user confirmation before write, destructive, upload, generation, transformation, or billing-related actions, including untagged actions that are not passive reads.\n\nRisk: Connector actions can change or delete data when tagged as write or destructive.\n\nMitigation: Fetch the live schema first, confirm the exact payload and effect with the user, and require explicit approval for destructive targets.\n\n## Reference(s):\n\n- [OOMOL Fusion API homepage](https://www.oomol.com)\n- [oo CLI](https://github.com/oomol-lab/oo-cli)\n- [OOMOL CLI install guide](https://cli.oomol.com/install-guide.md)\n- [ClawHub skill page](https://clawhub.ai/oomol/skills/oo-fusion-api)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with inline shell commands and JSON payloads or responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Uses live connector schemas before action execution; may return asynchronous task IDs, state, and result data from provider workflows.]\n\n## Skill Version(s):\n\n1.0.8 (source: server release evidence and skill metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1773,"uniquenessScore":36,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T14:57:53.345Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T14:57:53.345Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T17:42:39.199Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}