# Hongguo Video Downloader & Decryption to OSS (`spider_studio/hongguo-video-download`) Actor

Hongguo video downloader API that decrypts authorized short drama episodes into playable MP4 files and uploads them to S3, OSS, COS, or compatible storage.

- **URL**: https://apify.com/spider\_studio/hongguo-video-download.md
- **Developed by:** [NewLai](https://apify.com/spider_studio) (community)
- **Categories:**
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 1,000 successful video uploads

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

[中文](#红果短剧视频下载与视频解密-api) | [English](#hongguo-video-downloader-and-decryption-api)

### 红果短剧视频下载与视频解密 API

**红果短剧视频下载与视频解密 API** 是一款面向已授权剧集的**红果视频下载器（Hongguo video downloader）和解密工具**。提交一个或多个 [红果短剧（Hongguo Duanju）](https://hongguoduanju.com/)视频 ID 后，Actor 会自动选择最佳可用画质，完成视频下载和解密处理，验证结果，并把可播放 MP4 和元数据上传到用户自己的对象存储。

当你需要真正可播放的解密视频文件，而不只是临时视频 URL 时，可以使用此 Actor。它支持 AWS S3、阿里云 OSS、腾讯云 COS 和 S3 兼容存储。大视频文件直接写入用户自有 Bucket，Apify Dataset 仅保存处理状态和对象路径。

请仅处理你拥有或已明确获得下载、解密和存储授权的视频。

### 红果解密视频下载流程会完成什么？

| 阶段 | Actor 操作 | 结果 |
| --- | --- | --- |
| 解析 | 获取最新媒体信息，自动选择最佳可用画质。 | 每个视频 ID 的最佳可用源。 |
| 下载与解密 | 在 Actor 内部安全完成媒体下载和解密处理。 | 保留受支持源画质的可播放 MP4。 |
| 验证与交付 | 检查完成文件，上传视频和脱敏元数据。 | Bucket 中的 `video.mp4` 和 `meta.json`。 |

### 为什么使用红果短剧解密视频下载 Actor？

- 单次运行处理多个已授权的红果视频 ID。
- 每个视频完成后立即写入对应的 Dataset 结果。
- 在视频并发上限内并发上传已经处理完成的视频。
- 自动选择最佳可用画质。
- 为每个成功的视频 ID 生成可播放的解密后 `video.mp4`。
- 在交付视频中保留可用的源画质。
- 将解密后的视频直接上传到用户自己的私有对象存储。
- 在每个 MP4 旁保存规范化媒体元数据。
- 使用只基于视频 ID 的稳定对象路径。
- 使用 Apify 加密秘密输入保护对象存储凭证。
- 支持 Apify API、定时任务、Webhook、Make、n8n 等工作流集成。

常见用途包括授权视频归档、转录准备、媒体分析、内容审核、内部播放系统，以及把解密后的媒体传入现有数据管道。

### Actor 会输出哪些解密视频文件和数据？

每个成功的视频 ID 会在指定 Bucket 中生成两个对象：

```text
{prefix}/videos/{videoId}/video.mp4
{prefix}/videos/{videoId}/meta.json
```

`video.mp4` 是已经下载并解密完成、可以播放的视频文件；`meta.json` 描述最佳画质和上传结果，但不会暴露敏感处理数据或源访问信息。

| Dataset 字段 | 类型 | 说明 |
| --- | --- | --- |
| `videoId` | string | 请求的红果剧集视频 ID。 |
| `success` | boolean | 解密视频和元数据是否上传成功。 |
| `definition` | string | 自动选择的最佳画质。 |
| `width`, `height` | integer | 验证后的解密视频尺寸。 |
| `codec` | string | 从解密 MP4 中检测到的编码。 |
| `videoObjectKey` | string | 解密后 `video.mp4` 的稳定对象键。 |
| `metaObjectKey` | string | 配套 `meta.json` 的稳定对象键。 |
| `fileSize` | integer | 解密 MP4 的字节数。 |
| `sha256` | string | 解密 MP4 的 SHA-256。 |
| `error` | string 或 null | 失败视频的安全错误信息。 |

敏感处理数据、源访问信息和对象存储凭证不会写入 Dataset 或上传的元数据。

### 如何下载并解密红果短剧视频？

1. 从红果短剧详情 Actor 或其他已授权来源获取剧集 `videoId`。
2. 创建专用 IAM、RAM 或 CAM 子账号，并将权限限制到目标 Bucket 和 Prefix。
3. 打开此 Actor 的 **Input** 标签页，在 `videoIds` 中添加一个或多个视频 ID。
4. 选择 AWS S3、阿里云 OSS、腾讯云 COS 或 S3 兼容服务。
5. 填写 Region、Bucket、可选 Prefix 和存储凭证。
6. 阿里云 OSS 或 S3 兼容存储需要填写公网 HTTPS Endpoint；AWS S3 和腾讯云 COS 的 Endpoint 留空。
7. 点击 **Start**。Actor 会准备解密后的视频并上传到指定 Bucket。
8. 打开 Dataset，获取精确的对象键和存储 URI。

### 红果视频下载和解密如何计费？

FREE 层用户按**每 1,000 条成功上传视频 3.50 美元**计费，即每条 0.0035 美元。BRONZE、SILVER、GOLD、PLATINUM 和 DIAMOND 层用户仍按**每 1,000 条 2.50 美元**计费，即每条 0.0025 美元。只有某个视频 ID 的 `video.mp4` 和 `meta.json` 均成功上传后，才会触发一次 `video-uploaded` 计费事件；上传失败及失败诊断 Dataset 行不会触发该事件。

用户还需另外承担 Actor 的 Apify 平台运行成本。平台费用主要取决于视频大小、运行内存、执行时长、网络流量，以及上传到用户对象存储的流量；最终总费用以 Apify Console 显示为准。

Actor 默认最多同时处理 8 个视频。并发处理多个大视频时，需要提高运行内存，因为并发任务会使用更多磁盘、内存、CPU 和网络资源。

### 输入

完整表单和校验规则请查看 **Input** 标签页。

```json
{
  "videoIds": [
    "7639688323115519038",
    "7639688303955938366"
  ],
  "storageProvider": "tencent-cos",
  "storageRegion": "ap-guangzhou",
  "storageEndpoint": "https://cos.accelerate.myqcloud.com",
  "storageBucket": "my-video-1250000000",
  "storagePrefix": "hongguo",
  "storageKeyId": "AKID...",
  "storageKeySecret": "..."
}
```

不同供应商的配置要求：

| 供应商 | Region | Endpoint | 凭证映射 |
| --- | --- | --- | --- |
| AWS S3 | 必填 | 留空 | Access Key ID / Secret Access Key |
| 阿里云 OSS | 必填 | 公网 HTTPS OSS Endpoint | AccessKey ID / AccessKey Secret |
| 腾讯云 COS | 必填 | 留空或填写 COS 全球加速 Endpoint | SecretId / SecretKey |
| S3 兼容存储 | 必填 | 公网 HTTPS Endpoint | Access Key ID / Secret Access Key |

腾讯云 COS 的 Bucket 名称必须带数字 AppId 后缀，`storageRegion` 必须与腾讯云控制台显示的 Bucket 地域一致，例如 `ap-guangzhou`。为 Bucket 开启全球加速后，在 Endpoint 中填写包含 `cos.accelerate.myqcloud.com` 的地址，Actor 会自动识别。`storageKeyId` 和 `storageKeySecret` 是加密秘密输入。禁止使用主账号密钥，应只授予目标 Bucket 和 Prefix 所需的普通上传及分片上传权限。

### 跨境对象存储上传全球加速配置

当 Actor 的运行位置与目标 Bucket 不在同一个国家或地域时，全球加速可以改善上传速度和稳定性。运行 Actor 前必须先在 Bucket 中开启对应的加速服务，云厂商可能会额外收取加速流量费用。

#### 腾讯云 COS 全球加速

1. 在腾讯云 COS 控制台打开目标 Bucket。
2. 进入 **域名与传输管理 > 全球加速**，开启全球加速。
3. `storageRegion` 仍填写 Bucket 的真实地域，例如 `ap-guangzhou`。
4. 将 `storageEndpoint` 设置为 `https://cos.accelerate.myqcloud.com`。

```json
{
  "storageProvider": "tencent-cos",
  "storageRegion": "ap-guangzhou",
  "storageEndpoint": "https://cos.accelerate.myqcloud.com",
  "storageBucket": "my-video-1250000000"
}
```

填写以下任意一种 Endpoint，Actor 都会自动启用腾讯 COS 全球加速：

```text
https://cos.accelerate.myqcloud.com
https://my-video-1250000000.cos.accelerate.myqcloud.com
```

Actor 会统一使用腾讯 COS 官方加速 Endpoint。如果 Bucket 尚未开启全球加速，腾讯 COS 会拒绝上传。参见[腾讯云 COS 全球加速](https://cloud.tencent.com/document/product/436/38866)。

#### 阿里云 OSS 传输加速

1. 在阿里云 OSS 控制台打开目标 Bucket。
2. 进入 **Bucket 配置 > 传输加速**，开启传输加速。
3. `storageRegion` 仍填写 Bucket 的真实地域，例如 `cn-hangzhou`。
4. 将 `storageEndpoint` 设置为 `https://oss-accelerate.aliyuncs.com`。

```json
{
  "storageProvider": "aliyun-oss",
  "storageRegion": "cn-hangzhou",
  "storageEndpoint": "https://oss-accelerate.aliyuncs.com",
  "storageBucket": "my-video-bucket"
}
```

阿里云说明，开启传输加速后可能需要约 30 分钟才能全网生效。如果没有为 Bucket 开启传输加速却使用加速 Endpoint，上传会报错。参见[阿里云 OSS 传输加速](https://help.aliyun.com/zh/oss/user-guide/transfer-acceleration)。

腾讯和阿里加速均通过 `storageEndpoint` 自动识别。这不会自动启用 AWS S3 Transfer Acceleration，也不会启用 S3-compatible 厂商自己的加速功能。这些供应商应使用其官方支持的 Endpoint 和加速配置。

### 输出

解密后的视频和元数据使用固定稳定路径：

```text
hongguo/videos/7639688323115519038/video.mp4
hongguo/videos/7639688323115519038/meta.json
```

再次运行相同视频 ID 时，会替换同一路径的对象。如需保留旧版本，请为 Bucket 开启版本控制。

默认 Dataset 保存上传状态和对象位置，可下载为 JSON、HTML、CSV 或 Excel 等格式。

```json
{
  "videoId": "7639688323115519038",
  "success": true,
  "definition": "1080p",
  "width": 1080,
  "height": 1920,
  "codec": "hevc",
  "provider": "tencent-cos",
  "bucket": "my-video-1250000000",
  "videoObjectKey": "hongguo/videos/7639688323115519038/video.mp4",
  "metaObjectKey": "hongguo/videos/7639688323115519038/meta.json",
  "videoUri": "cos://my-video-1250000000/hongguo/videos/7639688323115519038/video.mp4",
  "metaUri": "cos://my-video-1250000000/hongguo/videos/7639688323115519038/meta.json",
  "fileSize": 17080494,
  "sha256": "f7db5d68490b3080fe35fbff46dfc425d1967bd0de9c0bead8b164ec9bbc838e",
  "error": null
}
```

### 提高解密视频上传可靠性的建议

- 保持目标 Bucket 为私有状态，下载权限由用户单独管理。
- 如果担心稳定路径被覆盖，请提前开启 Bucket 版本控制。
- 根据预计视频大小为运行分配足够的内存和磁盘空间。
- 在条件允许时选择距离 Actor 运行位置较近的存储 Region。
- 把凭证权限限制到指定 Bucket 和对象 Prefix。
- 如果临时上游媒体地址已经过期，请重新运行 Actor。

### 相关红果短剧 Actor

| Actor | 用途 |
| --- | --- |
| [红果短剧推荐流 API](https://apify.com/spider_studio/hongguo-recommend-feed) | 发现热门短剧和 ID。 |
| [红果短剧关键词建议与自动补全 API](https://apify.com/spider_studio/hongguo-search-suggest) | 发现自动补全词和相关关键词。 |
| [红果短剧搜索与数据爬虫 API](https://apify.com/spider_studio/hongguo-search) | 按关键词查找短剧和系列 ID。 |
| [红果短剧详情与剧集列表爬虫 API](https://apify.com/spider_studio/hongguo-series-detail) | 获取此 Actor 接受的剧集视频 ID。 |
| [红果短剧最佳画质视频地址提取 API](https://apify.com/spider_studio/hongguo-video-best) | 只解析最佳视频地址和画质元数据，不下载视频。 |
| [红果短剧全部视频画质与地址提取 API](https://apify.com/spider_studio/hongguo-video-variants) | 查看所有可用画质和地址，不下载视频。 |
| [红果短剧视频下载与解密到 Apify KVS](https://apify.com/spider_studio/hongguo-video-download-kvs) | 无需对象存储凭证，下载并解密视频，将可播放 MP4 保存到运行 KVS。 |

### 常见问题

#### 此 Actor 能解密加密的红果短剧视频吗？

能。对于拥有授权且媒体信息受支持的红果视频 ID，Actor 会在内部完成解密处理，生成可播放 MP4。Dataset、上传元数据和日志不会披露内部处理细节。

#### 此 Actor 下载真实 MP4 文件，还是只返回视频 URL？

它会下载、解密、验证并上传真实 MP4 文件。如果只需要最新媒体 URL，或需要查看所有可用画质，请使用下方的相关 URL 解析 Actor。

#### 一次运行能下载并解密多个红果剧集吗？

可以。每次运行最多可添加 1,000 个已授权 `videoIds`。Actor 会在受控并发下处理这些视频，并在每个视频完成时立即将结果写入 Dataset。

#### 视频解密会降低画质吗？

Actor 会选择最佳可用画质，并在交付的 MP4 中保留受支持的源画质。它不会宣称能够增强或放大原始视频画质。

#### 此 Actor 会输出解密后的视频文件本身吗？

会。与只返回 URL 的解析 Actor 不同，此 Actor 会把解密后可播放的 MP4 上传到用户指定的对象存储。

#### Actor 会暴露敏感处理数据吗？

不会。内部处理数据不会出现在上传元数据、Dataset 或应用日志中。

#### 为什么上传提示 Access Denied？

请确认凭证具备目标 Bucket 和 Prefix 下的普通对象上传及分片上传权限。腾讯 COS Bucket 必须带 AppId 后缀；阿里云 OSS 和 S3 兼容服务还必须填写正确的 HTTPS Endpoint。

#### 未获得内容授权可以使用吗？

不可以。此 Actor 仅用于用户有权处理的红果视频 ID。禁止将其用于侵犯版权、绕过内容授权检查或未经许可重新分发视频。

### 合法使用与支持

请仅将此 Actor 用于你拥有或已明确获得下载、解密、存储和处理授权的视频。请遵守红果短剧条款、版权要求、速率限制、存储供应商规则和适用法律。此 Actor 不访问私人账户，也不会绕过内容授权检查。

不同地区法律可能不同。如果不确定用途是否合法，请咨询专业律师。如需帮助，请使用 **Issues** 标签页；程序化集成示例请查看 **API** 标签页。

***

### Hongguo video downloader and decryption API

**Hongguo Video Downloader & Decryption API** is an end-to-end **Hongguo short drama video downloader** for authorized episodes from [红果短剧 (Hongguo Duanju)](https://hongguoduanju.com/). Submit one or more video IDs and the Actor selects the best available rendition, downloads and decrypts the video, validates the result, and uploads a playable MP4 plus metadata to your own object-storage bucket.

Use it when you need the actual decrypted video file rather than a temporary video URL. The Actor supports AWS S3, Alibaba Cloud OSS, Tencent Cloud COS, and S3-compatible storage. Large video files go directly to user-owned storage; Apify Dataset contains only processing results and object locations.

Use this Actor only for videos that you own or are explicitly authorized to download, decrypt, and store.

### What happens during a Hongguo decrypted video download?

| Stage | What the Actor does | Result |
| --- | --- | --- |
| Resolve | Fetches fresh media details and selects the highest-ranked available rendition. | Best available source quality for each video ID. |
| Download and decrypt | Securely processes the selected rendition into a playable video file. | Decrypted MP4 that preserves the supported source quality. |
| Validate and deliver | Checks the finished file and uploads the video plus redacted metadata. | Verified `video.mp4` and `meta.json` in your bucket. |

### Why use this Hongguo decrypted video downloader?

- Process multiple authorized Hongguo video IDs in one run.
- Write each Dataset result as soon as that individual video finishes.
- Upload completed videos concurrently, bounded by the same video concurrency limit.
- Select the best available rendition automatically.
- Produce a playable decrypted MP4 while preserving the supported source quality.
- Validate every finished MP4 before upload.
- Upload decrypted videos directly to your own private object-storage bucket.
- Store normalized media metadata beside each decrypted MP4.
- Use stable, predictable object keys based only on the video ID.
- Protect storage credentials with Apify encrypted secret inputs.
- Integrate through the Apify API, schedules, webhooks, Make, n8n, or other workflows.

Common use cases include authorized video archiving, transcription preparation, media analysis, moderation workflows, internal playback systems, and transferring decrypted media into an existing data pipeline.

### What files and metadata does the Actor produce?

Each successful video ID produces two objects in the configured bucket:

```text
{prefix}/videos/{videoId}/video.mp4
{prefix}/videos/{videoId}/meta.json
```

`video.mp4` is the downloaded and decrypted playable video. `meta.json` describes the selected rendition and uploaded object without exposing sensitive processing data or source access information.

| Dataset field | Type | Description |
| --- | --- | --- |
| `videoId` | string | Requested Hongguo episode video ID. |
| `success` | boolean | Whether the decrypted video and metadata were uploaded. |
| `definition` | string | Best selected rendition definition. |
| `width`, `height` | integer | Validated decrypted video dimensions. |
| `codec` | string | Codec detected in the decrypted MP4. |
| `videoObjectKey` | string | Stable key of the decrypted `video.mp4`. |
| `metaObjectKey` | string | Stable key of the companion `meta.json`. |
| `fileSize` | integer | Decrypted MP4 size in bytes. |
| `sha256` | string | SHA-256 digest of the decrypted MP4. |
| `error` | string or null | Safe error message for a failed video. |

Sensitive processing data, source access information, and object-storage credentials are never written to Dataset rows or uploaded metadata.

### How to download and decrypt Hongguo short drama videos

1. Obtain authorized episode `videoId` values from the Hongguo Series Details Actor or another permitted source.
2. Create a dedicated IAM, RAM, or CAM sub-account restricted to the destination bucket and prefix.
3. Open this Actor's **Input** tab and add one or more values to `videoIds`.
4. Select AWS S3, Alibaba OSS, Tencent COS, or an S3-compatible provider.
5. Enter the Region, Bucket, optional Prefix, and provider credentials.
6. For Alibaba OSS or S3-compatible storage, enter the public HTTPS endpoint. Leave Endpoint empty for AWS S3 and Tencent COS.
7. Click **Start**. The Actor prepares and uploads each decrypted video to the configured bucket.
8. Open the Dataset to find the exact object keys and provider URIs.

### How much does Hongguo video download and decryption cost?

FREE-tier users pay **$3.50 per 1,000 successful video uploads** ($0.0035 each). Users on BRONZE, SILVER, GOLD, PLATINUM, and DIAMOND tiers continue to pay **$2.50 per 1,000** ($0.0025 each). One `video-uploaded` event is charged only after both `video.mp4` and `meta.json` have been uploaded successfully for a video ID. Failed uploads and diagnostic Dataset rows do not trigger this event.

Users also pay the Actor's Apify platform usage costs separately. Those costs depend mainly on video size, run memory, execution time, network traffic, and upload traffic to the user's storage provider. The final total is shown in Apify Console.

The Actor processes up to eight videos concurrently by default. Increase run memory when processing multiple large videos because concurrent jobs require additional disk, memory, CPU, and network capacity.

### Input

See the **Input** tab for the complete form and validation rules.

```json
{
  "videoIds": [
    "7639688323115519038",
    "7639688303955938366"
  ],
  "storageProvider": "aws-s3",
  "storageRegion": "ap-southeast-1",
  "storageEndpoint": "",
  "storageBucket": "my-video-bucket",
  "storagePrefix": "hongguo",
  "storageKeyId": "AKIA...",
  "storageKeySecret": "..."
}
```

Provider requirements:

| Provider | Region | Endpoint | Credential mapping |
| --- | --- | --- | --- |
| AWS S3 | Required | Leave empty | Access Key ID / Secret Access Key |
| Alibaba OSS | Required | Public HTTPS OSS endpoint | AccessKey ID / AccessKey Secret |
| Tencent COS | Required | Empty or COS accelerate endpoint | SecretId / SecretKey |
| S3-compatible | Required | Public HTTPS endpoint | Access Key ID / Secret Access Key |

Tencent COS bucket names must include the numeric AppId suffix, and `storageRegion` must match the Bucket's COS Region shown in Tencent Cloud Console (for example, `ap-guangzhou`). After enabling global acceleration for the Bucket, enter a Tencent endpoint containing `cos.accelerate.myqcloud.com`; the Actor detects it automatically. `storageKeyId` and `storageKeySecret` are encrypted secret inputs. Never use root-account credentials; grant only the upload and multipart permissions required for the configured bucket and prefix.

### Global acceleration for cross-border object-storage uploads

Global acceleration can improve upload speed and stability when the Actor runs outside the country or region where the destination Bucket is located. The acceleration service must be enabled on the Bucket before starting the Actor, and cloud providers may charge additional acceleration traffic fees.

#### Tencent COS global acceleration

1. Open the target Bucket in Tencent Cloud COS Console.
2. Go to **Domain and Transfer Management > Global Acceleration** and enable the feature.
3. Keep `storageRegion` set to the Bucket's actual Region, such as `ap-guangzhou`.
4. Set `storageEndpoint` to `https://cos.accelerate.myqcloud.com`.

```json
{
  "storageProvider": "tencent-cos",
  "storageRegion": "ap-guangzhou",
  "storageEndpoint": "https://cos.accelerate.myqcloud.com",
  "storageBucket": "my-video-1250000000"
}
```

Either of the following Endpoint formats automatically enables Tencent COS global acceleration:

```text
https://cos.accelerate.myqcloud.com
https://my-video-1250000000.cos.accelerate.myqcloud.com
```

The Actor normalizes both forms to the official Tencent COS acceleration endpoint. If global acceleration is not enabled for the Bucket, Tencent COS will reject the upload. See [Tencent COS Global Acceleration](https://cloud.tencent.com/document/product/436/38866).

#### Alibaba OSS transfer acceleration

1. Open the target Bucket in Alibaba Cloud OSS Console.
2. Go to **Bucket Configuration > Transfer Acceleration** and enable the feature.
3. Keep `storageRegion` set to the Bucket's actual Region, such as `cn-hangzhou`.
4. Set `storageEndpoint` to `https://oss-accelerate.aliyuncs.com`.

```json
{
  "storageProvider": "aliyun-oss",
  "storageRegion": "cn-hangzhou",
  "storageEndpoint": "https://oss-accelerate.aliyuncs.com",
  "storageBucket": "my-video-bucket"
}
```

Alibaba Cloud states that transfer acceleration may take about 30 minutes to become effective after it is enabled. Using an acceleration endpoint without enabling the Bucket feature causes an upload error. See [Alibaba OSS Transfer Acceleration](https://help.aliyun.com/zh/oss/user-guide/transfer-acceleration).

Tencent and Alibaba acceleration are detected from `storageEndpoint`. This does not automatically enable AWS S3 Transfer Acceleration or a vendor-specific S3-compatible acceleration feature. For those providers, use only endpoints and acceleration options explicitly supported by that storage vendor.

### Output

Decrypted video and metadata objects use stable paths:

```text
hongguo/videos/7639688323115519038/video.mp4
hongguo/videos/7639688323115519038/meta.json
```

Running the same video ID again replaces objects at the same keys. Enable bucket versioning if previous copies must remain recoverable.

The default Dataset records the upload status and object locations. You can download the Dataset in formats such as JSON, HTML, CSV, or Excel.

```json
{
  "videoId": "7639688323115519038",
  "success": true,
  "definition": "1080p",
  "width": 1080,
  "height": 1920,
  "codec": "hevc",
  "provider": "aws-s3",
  "bucket": "my-video-bucket",
  "videoObjectKey": "hongguo/videos/7639688323115519038/video.mp4",
  "metaObjectKey": "hongguo/videos/7639688323115519038/meta.json",
  "videoUri": "s3://my-video-bucket/hongguo/videos/7639688323115519038/video.mp4",
  "metaUri": "s3://my-video-bucket/hongguo/videos/7639688323115519038/meta.json",
  "fileSize": 17080494,
  "sha256": "f7db5d68490b3080fe35fbff46dfc425d1967bd0de9c0bead8b164ec9bbc838e",
  "error": null
}
```

### Tips for reliable decrypted video uploads

- Keep the destination bucket private and manage download access separately.
- Enable bucket versioning before using stable keys if accidental overwrites are a concern.
- Allocate enough Actor memory and disk capacity for the expected video sizes.
- Use a provider region close to the Actor runtime when possible to reduce upload time.
- Restrict credentials to the configured bucket and object prefix.
- Run the Actor again if a temporary upstream media reference has expired.

### Related Hongguo Actors

| Actor | Purpose |
| --- | --- |
| [Hongguo Short Drama Recommendation Feed API](https://apify.com/spider_studio/hongguo-recommend-feed) | Discover trending short dramas and their IDs. |
| [Hongguo Short Drama Keyword Suggestions API](https://apify.com/spider_studio/hongguo-search-suggest) | Discover autocomplete and related keywords. |
| [Hongguo Short Drama Search & Data Scraper API](https://apify.com/spider_studio/hongguo-search) | Find short dramas and series IDs by keyword. |
| [Hongguo Series Details & Episodes Scraper API](https://apify.com/spider_studio/hongguo-series-detail) | Get episode video IDs accepted by this Actor. |
| [Hongguo Best Quality Video URL Extractor API](https://apify.com/spider_studio/hongguo-video-best) | Resolve the best URL and quality metadata without downloading video. |
| [Hongguo All Video Qualities & URL Extractor API](https://apify.com/spider_studio/hongguo-video-variants) | Inspect every available quality and URL without downloading video. |
| [Hongguo Short Drama Video Downloader API to KVS](https://apify.com/spider_studio/hongguo-video-download-kvs) | Download and decrypt videos to playable MP4 files in the run KVS without cloud-storage credentials. |

### Frequently asked questions

#### Can this Actor decrypt encrypted Hongguo videos?

Yes. For an authorized Hongguo video ID with supported media information, the Actor handles the decryption process internally and produces a playable MP4. Internal processing details are not exposed in Dataset rows, uploaded metadata, or logs.

#### Does it download the MP4 file or only return a video URL?

It downloads, decrypts, validates, and uploads the actual MP4 file. If you only need a fresh media URL or want to inspect available renditions, use the related URL resolver Actors instead.

#### Can I decrypt and download multiple Hongguo episodes in one run?

Yes. Add up to 1,000 authorized `videoIds` to one run. The Actor processes them with bounded concurrency and writes each result to the Dataset as soon as it finishes.

#### Does decryption change or reduce the video quality?

The Actor selects the best available rendition and preserves the supported source quality in the delivered MP4. It does not claim to enhance or upscale the original video.

#### Does this Actor output the decrypted video itself?

Yes. Unlike the URL resolver Actors, this Actor delivers a decrypted playable MP4 to the user's configured object-storage bucket.

#### Does the Actor expose sensitive processing data?

No. Internal processing data is excluded from uploaded metadata, Dataset rows, and application logs.

#### Why did an upload fail with access denied?

Confirm that the credential can upload normal objects and multipart parts under the exact bucket and prefix. Tencent COS bucket names must include the AppId suffix. Alibaba OSS and S3-compatible providers also require a valid HTTPS endpoint.

#### Can this Actor be used without content authorization?

No. It is intended only for submitted Hongguo video IDs that the user is authorized to process. It must not be used to infringe copyright, bypass entitlement checks, or redistribute content without permission.

### Legal use and support

Use this Actor only for videos that you own or are explicitly authorized to download, decrypt, store, and process. Respect Hongguo's terms, copyright, rate limits, storage-provider rules, and applicable laws. The Actor does not access private accounts or override entitlement checks.

Laws vary by jurisdiction. Consult qualified counsel if you are unsure whether your use is permitted. Use the **Issues** tab for support and the **API** tab for programmatic integration examples.

# Actor input Schema

## `videoIds` (type: `array`):

One or more authorized episode video IDs. Duplicates are ignored and the best available rendition is selected automatically.

## `storageProvider` (type: `string`):

Select AWS S3, Alibaba Cloud OSS, Tencent Cloud COS, or an S3-compatible service.

## `storageRegion` (type: `string`):

Examples: us-east-1, cn-hangzhou, ap-guangzhou, or auto for providers that use it.

## `storageEndpoint` (type: `string`):

Required HTTPS origin for Alibaba OSS and S3-compatible storage. Leave empty for AWS S3 and normal Tencent COS access. A Tencent COS accelerate endpoint automatically enables global acceleration.

## `storageBucket` (type: `string`):

Destination bucket. Tencent COS bucket names must include the numeric AppId suffix.

## `storagePrefix` (type: `string`):

Optional root prefix. The default video path is hongguo/videos/{videoId}/video.mp4.

## `storageKeyId` (type: `string`):

AWS Access Key ID, Alibaba AccessKey ID, Tencent SecretId, or the S3-compatible access key.

## `storageKeySecret` (type: `string`):

AWS Secret Access Key, Alibaba AccessKey Secret, Tencent SecretKey, or the S3-compatible secret key.

## Actor input object example

```json
{
  "videoIds": [
    "7639688323115519038"
  ],
  "storageProvider": "aws-s3",
  "storageEndpoint": "",
  "storagePrefix": "hongguo"
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "videoIds": [
        "7639688323115519038"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("spider_studio/hongguo-video-download").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "videoIds": ["7639688323115519038"] }

# Run the Actor and wait for it to finish
run = client.actor("spider_studio/hongguo-video-download").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "videoIds": [
    "7639688323115519038"
  ]
}' |
apify call spider_studio/hongguo-video-download --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,spider_studio/hongguo-video-download"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/hjNnFJdgFzxjEKRt5/builds/iRgaHDdXzFQ0FRUIp/openapi.json
