chore: import upstream snapshot with attribution
@@ -0,0 +1,37 @@
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*.pyo
|
||||
*.pyd
|
||||
*.so
|
||||
|
||||
.Python
|
||||
.python-version
|
||||
.venv/
|
||||
venv/
|
||||
env/
|
||||
ENV/
|
||||
|
||||
.pytest_cache/
|
||||
.mypy_cache/
|
||||
.ruff_cache/
|
||||
.coverage
|
||||
.coverage.*
|
||||
htmlcov/
|
||||
|
||||
build/
|
||||
dist/
|
||||
*.egg-info/
|
||||
.eggs/
|
||||
|
||||
.ipynb_checkpoints/
|
||||
|
||||
.DS_Store
|
||||
|
||||
# custom ignore
|
||||
results/
|
||||
downloads/
|
||||
temps/
|
||||
datasets/
|
||||
|
||||
#
|
||||
outputs/
|
||||
@@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
@@ -0,0 +1,662 @@
|
||||
<div align="center">
|
||||
<img src="assets/logo/lance-logo.webp" alt="Lance logo" width="300">
|
||||
|
||||
<h1 align="center"><sup>Lance: Unified Multimodal Modeling by Multi-Task Synergy</sup></h1>
|
||||
<p>
|
||||
<strong>
|
||||
<a href="https://scholar.google.com.hk/citations?user=FXxoQlsAAAAJ&hl=zh-CN&oi=ao" style="text-decoration: none; color: inherit;">Fengyi Fu</a><sup>*</sup>,
|
||||
<a href="https://corleone-huang.github.io/" style="text-decoration: none; color: inherit;">Mengqi Huang</a><sup>*,✉</sup>,
|
||||
<a href="https://scholar.google.com.hk/citations?user=9ER6nVkAAAAJ&hl=zh-CN&oi=ao" style="text-decoration: none; color: inherit;">Shaojin Wu</a><sup>*</sup>,
|
||||
Yunsheng Jiang<sup>*</sup>,
|
||||
Yufei Huo,
|
||||
<a href="https://guojianzhu.com/" style="text-decoration: none; color: inherit;">Jianzhu Guo</a><sup>✉,§</sup>
|
||||
</strong><br>
|
||||
Hao Li,
|
||||
Yinghang Song,
|
||||
Fei Ding,
|
||||
Qian He,
|
||||
Zheren Fu,
|
||||
Zhendong Mao,
|
||||
Yongdong Zhang
|
||||
<br>
|
||||
<em>ByteDance</em>
|
||||
<br>
|
||||
<sup>*</sup> Equal contribution <sup>✉</sup> Corresponding authors <sup>§</sup> Project lead
|
||||
</p>
|
||||
<p>
|
||||
<a href="https://lance-project.github.io/" style="text-decoration: none; margin: 0 8px;"><img src="https://img.shields.io/badge/Homepage-Lance-blue?style=flat" alt="Homepage"></a>
|
||||
<a href="http://arxiv.org/abs/2605.18678" style="text-decoration: none; margin: 0 8px;"><img src="https://img.shields.io/badge/Paper-arXiv-red?style=flat&logo=arxiv" alt="arXiv"></a>
|
||||
<a href="https://huggingface.co/bytedance-research/Lance" style="text-decoration: none; margin: 0 8px;"><img src="https://img.shields.io/badge/Model-HuggingFace-yellow?style=flat&logo=huggingface" alt="Model"></a>
|
||||
<a href="https://huggingface.co/spaces/bytedance-research/Lance" style="text-decoration: none; margin: 0 8px;"><img src="https://img.shields.io/badge/Demo-HuggingFace-40bfe6?style=flat&logo=huggingface" alt="Demo"></a>
|
||||
<br>
|
||||
English | <a href="./README_zh.md"><ins>简体中文</ins></a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
> **Note:** Lance is a research project rather than a polished product model. The released checkpoint was trained with up to 128 A100 GPUs, with training conducted up to 768x768 image generation and 480p, 12 FPS video generation. Our goal is to share a research artifact for studying unified image/video understanding, generation, and editing under a relatively small model and limited compute budget. Output quality may vary across prompts, resolutions, duration, motion complexity, and editing scenarios, and we see further opportunities to improve the post-training recipe. We appreciate constructive feedback from the community as we continue improving the project.
|
||||
|
||||
## 🔥 Updates
|
||||
|
||||
- **`2026/06/17`**: 🛠️ Released the fine-tuning code for Lance. See the training guide in [TRAIN](train.md).
|
||||
- **`2026/06/03`**: 🚀 Lance is now supported in [vLLM-Omni](https://github.com/vllm-project/vllm-omni). See the [recipe](https://github.com/vllm-project/vllm-omni/blob/main/recipes/ByteDance/Lance.md)!
|
||||
- **`2026/05/29`**: 💪 Added support for Image-to-Video generation. [More to see](assets/docs/changelog/2026-05-29.md)!
|
||||
- **`2026/05/26`**: 🎨 The Gradio interface now supports image and video generation, editing, and understanding. [Try it out](assets/docs/changelog/2026-05-26.md)!
|
||||
- **`2026/05/25`**: ✨ The [Hugging Face Space](https://huggingface.co/spaces/bytedance-research/Lance) is now live, thanks to the HF team!
|
||||
- **`2026/05/19`**: 🤗 The technical report is now available on [arXiv](http://arxiv.org/abs/2605.18678).
|
||||
- **`2026/05/18`**: 🔥 We launched the [project homepage](https://lance-project.github.io/) and released the initial inference code and model weights on [GitHub](https://github.com/bytedance/Lance/) and [Hugging Face](https://huggingface.co/bytedance-research/Lance).
|
||||
|
||||
## 🌟 Highlights
|
||||
|
||||
**Lance** is a 3B native unified multimodal model that supports **image and video understanding, generation, and editing** within a single framework.
|
||||
|
||||
- **Efficient at 3B scale.** With only **3B active parameters**, Lance achieves competitive performance across image generation, image editing, and video generation benchmarks.
|
||||
- **Training from scratch.** Lance is trained from scratch with a staged multi-task recipe and within a budget of **up to 128 A100 GPUs**.
|
||||
|
||||
We are actively updating and improving this repository. If you find any bugs or have suggestions, please feel free to open an issue or submit a pull request (PR) 💖.
|
||||
|
||||
<div align="center">
|
||||
<img src="assets/benchmarks/benchmark-overview.png" alt="Lance benchmark overview across image generation, image editing, video generation, and video understanding" width="980">
|
||||
</div>
|
||||
|
||||
## 🎨 Demo
|
||||
|
||||
<details>
|
||||
<summary><strong>Show demo results</strong></summary>
|
||||
|
||||
<div align="center">
|
||||
<strong>🔥 We recommend visiting our <a href="https://lance-project.github.io/">homepage</a> for more visual results. 🔥</strong>
|
||||
</div>
|
||||
|
||||
<h3 align="center">Text-to-Video</h3>
|
||||
|
||||
<table align="center">
|
||||
<tr>
|
||||
<td><a href="assets/text-to-video/videos/text-to-video-demo-01.mp4"><img src="assets/text-to-video/previews/text-to-video-demo-01.gif" width="100%"></a></td>
|
||||
<td><a href="assets/text-to-video/videos/text-to-video-demo-02.mp4"><img src="assets/text-to-video/previews/text-to-video-demo-02.gif" width="100%"></a></td>
|
||||
<td><a href="assets/text-to-video/videos/text-to-video-demo-03.mp4"><img src="assets/text-to-video/previews/text-to-video-demo-03.gif" width="100%"></a></td>
|
||||
<td><a href="assets/text-to-video/videos/text-to-video-demo-04.mp4"><img src="assets/text-to-video/previews/text-to-video-demo-04.gif" width="100%"></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="assets/text-to-video/videos/text-to-video-demo-05.mp4"><img src="assets/text-to-video/previews/text-to-video-demo-05.gif" width="100%"></a></td>
|
||||
<td><a href="assets/text-to-video/videos/text-to-video-demo-06.mp4"><img src="assets/text-to-video/previews/text-to-video-demo-06.gif" width="100%"></a></td>
|
||||
<td><a href="assets/text-to-video/videos/text-to-video-demo-07.mp4"><img src="assets/text-to-video/previews/text-to-video-demo-07.gif" width="100%"></a></td>
|
||||
<td><a href="assets/text-to-video/videos/text-to-video-demo-08.mp4"><img src="assets/text-to-video/previews/text-to-video-demo-08.gif" width="100%"></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h3 align="center">Video Editing</h3>
|
||||
|
||||
<table align="center">
|
||||
<tr>
|
||||
<td><a href="assets/video-editing/videos/video-editing-demo-01.mp4"><img src="assets/video-editing/previews/video-editing-demo-01.gif" width="100%"></a></td>
|
||||
<td><a href="assets/video-editing/videos/video-editing-demo-02.mp4"><img src="assets/video-editing/previews/video-editing-demo-02.gif" width="100%"></a></td>
|
||||
<td><a href="assets/video-editing/videos/video-editing-demo-03.mp4"><img src="assets/video-editing/previews/video-editing-demo-03.gif" width="100%"></a></td>
|
||||
<td><a href="assets/video-editing/videos/video-editing-demo-04.mp4"><img src="assets/video-editing/previews/video-editing-demo-04.gif" width="100%"></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="assets/video-editing/videos/video-editing-demo-05.mp4"><img src="assets/video-editing/previews/video-editing-demo-05.gif" width="100%"></a></td>
|
||||
<td><a href="assets/video-editing/videos/video-editing-demo-06.mp4"><img src="assets/video-editing/previews/video-editing-demo-06.gif" width="100%"></a></td>
|
||||
<td><a href="assets/video-editing/videos/video-editing-demo-07.mp4"><img src="assets/video-editing/previews/video-editing-demo-07.gif" width="100%"></a></td>
|
||||
<td><a href="assets/video-editing/videos/video-editing-demo-08.mp4"><img src="assets/video-editing/previews/video-editing-demo-08.gif" width="100%"></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h3 align="center">Multi-turn Consistency Editing</h3>
|
||||
|
||||
<div align="center">
|
||||
<a href="assets/multi-turn-editing/videos/multi-turn-editing-demo-01.mp4">
|
||||
<img src="assets/multi-turn-editing/previews/multi-turn-editing-demo-01.gif" width="100%">
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<h3 align="center">Intelligent Video Generation</h3>
|
||||
|
||||
<table align="center">
|
||||
<tr>
|
||||
<td><a href="assets/intelligent-video/videos/intelligent-video-demo-01.mp4"><img src="assets/intelligent-video/previews/intelligent-video-demo-01.gif" width="100%"></a></td>
|
||||
<td><a href="assets/intelligent-video/videos/intelligent-video-demo-02.mp4"><img src="assets/intelligent-video/previews/intelligent-video-demo-02.gif" width="100%"></a></td>
|
||||
<td><a href="assets/intelligent-video/videos/intelligent-video-demo-03.mp4"><img src="assets/intelligent-video/previews/intelligent-video-demo-03.gif" width="100%"></a></td>
|
||||
<td><a href="assets/intelligent-video/videos/intelligent-video-demo-04.mp4"><img src="assets/intelligent-video/previews/intelligent-video-demo-04.gif" width="100%"></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</details>
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
### Recommended Environment
|
||||
|
||||
- **Software:** Python 3.10+, CUDA 12.4+ (required)
|
||||
- **Hardware:** A GPU with at least 40GB VRAM is required for inference
|
||||
|
||||
We have tested the following dependency combinations on NVIDIA A100:
|
||||
|
||||
- PyTorch 2.8.0 + cu126 + flash-attn 2.8.3
|
||||
- PyTorch 2.5.1 + cu124 + flash-attn 2.6.3
|
||||
|
||||
The default installation commands use the PyTorch 2.8.0 + cu126 setup. For other GPU models, please choose and validate a PyTorch build and a matching `flash-attn` version according to your driver, CUDA runtime, Python version, and GPU architecture.
|
||||
|
||||
### Installation Steps
|
||||
|
||||
First, clone the repository:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/bytedance/Lance.git
|
||||
cd Lance
|
||||
```
|
||||
|
||||
Then, set up the environment:
|
||||
|
||||
```bash
|
||||
conda create -n Lance python=3.11 -y
|
||||
conda activate Lance
|
||||
pip install torch==2.8.0 torchvision==0.23.0 torchaudio==2.8.0 --index-url https://download.pytorch.org/whl/cu126
|
||||
pip install -r requirements.txt
|
||||
pip install flash-attn==2.8.3 --no-build-isolation
|
||||
```
|
||||
|
||||
> **Note:** If installing `flash-attn` from source fails, you can install a prebuilt wheel instead. The wheelhouse below is from a third-party repository and is provided for **reference only**; please verify that any wheel you install matches your Python, PyTorch and CUDA versions.
|
||||
|
||||
> ```bash
|
||||
> pip install --no-cache-dir --no-deps --force-reinstall \
|
||||
> "https://huggingface.co/strangertoolshf/flash_attention_2_wheelhouse/resolve/main/wheelhouse-flash_attn-2.8.3/linux_x86_64/torch2.8/cu12/abiTRUE/cp311/flash_attn-2.8.3+cu12torch2.8cxx11abiTRUE-cp311-cp311-linux_x86_64.whl"
|
||||
> ```
|
||||
|
||||
|
||||
Then, download the model weights from [Lance-3B on Hugging Face](https://huggingface.co/bytedance-research/Lance) and place them in the `downloads/` directory:
|
||||
|
||||
```bash
|
||||
from huggingface_hub import snapshot_download
|
||||
|
||||
save_dir = "./downloads/"
|
||||
repo_id = "bytedance-research/Lance"
|
||||
cache_dir = save_dir + "/cache"
|
||||
|
||||
snapshot_download(cache_dir=cache_dir,
|
||||
local_dir=save_dir,
|
||||
repo_id=repo_id,
|
||||
local_dir_use_symlinks=False,
|
||||
resume_download=True,
|
||||
allow_patterns=["*.json", "*.safetensors", "*.bin", "*.py", "*.md", "*.txt","*.pth",],
|
||||
)
|
||||
```
|
||||
|
||||
|
||||
## 📚 Usage
|
||||
|
||||
### Inference
|
||||
|
||||
#### Basic Usage
|
||||
|
||||
```bash
|
||||
bash inference_lance.sh
|
||||
```
|
||||
|
||||
- Before running, please configure the inference parameters at the top of `inference_lance.sh`.
|
||||
- **Supported tasks:** `t2i`, `t2v`, `i2v`, `image_edit`, `video_edit`, `x2t_image`, and `x2t_video`. You can modify `TASK_DEFAULT_CONFIGS` in `inference_lance.py` to customize the default data samples for each task.
|
||||
- **Note:** For all tasks, we recommend following the `prompt` format used in the provided examples when writing input prompts, as this typically leads to better generation quality.
|
||||
|
||||
#### Task Examples
|
||||
|
||||
##### Text-to-Video
|
||||
|
||||
```bash
|
||||
bash inference_lance.sh \
|
||||
--TASK_NAME t2v \
|
||||
--MODEL_PATH downloads/Lance_3B_Video \
|
||||
--RESOLUTION video_480p \
|
||||
--NUM_FRAMES 121 \
|
||||
--VIDEO_HEIGHT 480 \
|
||||
--VIDEO_WIDTH 848 \
|
||||
--SAVE_PATH_GEN results/t2v
|
||||
```
|
||||
|
||||
##### Image-to-Video
|
||||
|
||||
```bash
|
||||
bash inference_lance.sh \
|
||||
--TASK_NAME i2v \
|
||||
--MODEL_PATH downloads/Lance_3B_Video \
|
||||
--RESOLUTION video_480p \
|
||||
--NUM_FRAMES 61 \
|
||||
--VIDEO_HEIGHT 480 \
|
||||
--VIDEO_WIDTH 848 \
|
||||
--SAVE_PATH_GEN results/i2v
|
||||
```
|
||||
|
||||
Optional parameters for video generation task examples:
|
||||
|
||||
- `--ENHANCE_PROMPT true`: enable prompt rewrite for T2V/I2V. Prompt enhancement generally improves generation quality. This option requires `openai==2.26.0`, which is already listed in `requirements.txt`; if you did not install from `requirements.txt`, run `pip install openai==2.26.0` first. Before enabling it, set `API_KEY`, `MODEL_NAME`, and `BASE_URL` in `common/utils/caption_rewrite.py`. If no valid rewrite config is provided there, prompt rewrite is skipped; in that case, we recommend **writing prompts in the style of the provided examples**.
|
||||
|
||||
##### Text-to-Image
|
||||
|
||||
```bash
|
||||
bash inference_lance.sh \
|
||||
--TASK_NAME t2i \
|
||||
--MODEL_PATH downloads/Lance_3B \
|
||||
--RESOLUTION image_768res \
|
||||
--VIDEO_HEIGHT 768 \
|
||||
--VIDEO_WIDTH 768 \
|
||||
--SAVE_PATH_GEN results/t2i
|
||||
```
|
||||
|
||||
##### Video Editing
|
||||
|
||||
```bash
|
||||
bash inference_lance.sh \
|
||||
--TASK_NAME video_edit \
|
||||
--MODEL_PATH downloads/Lance_3B_Video \
|
||||
--RESOLUTION video_480p \
|
||||
--SAVE_PATH_GEN results/video_edit
|
||||
```
|
||||
|
||||
##### Image Editing
|
||||
|
||||
```bash
|
||||
bash inference_lance.sh \
|
||||
--TASK_NAME image_edit \
|
||||
--MODEL_PATH downloads/Lance_3B \
|
||||
--RESOLUTION image_768res \
|
||||
--SAVE_PATH_GEN results/image_edit
|
||||
```
|
||||
|
||||
##### Video Understanding
|
||||
|
||||
```bash
|
||||
bash inference_lance.sh \
|
||||
--TASK_NAME x2t_video \
|
||||
--MODEL_PATH downloads/Lance_3B_Video \
|
||||
--RESOLUTION video_480p \
|
||||
--NUM_FRAMES 50 \
|
||||
--SAVE_PATH_GEN results/x2t_video
|
||||
```
|
||||
|
||||
##### Image Understanding
|
||||
|
||||
```bash
|
||||
bash inference_lance.sh \
|
||||
--TASK_NAME x2t_image \
|
||||
--MODEL_PATH downloads/Lance_3B \
|
||||
--RESOLUTION image_768res \
|
||||
--SAVE_PATH_GEN results/x2t_image
|
||||
```
|
||||
|
||||
Optional parameters for all task examples:
|
||||
|
||||
- `--CONFIG_PATH path/to/config.json`: use a custom validation JSON/JSONL file instead of the task default example config.
|
||||
|
||||
|
||||
<details>
|
||||
<summary><strong>Show task and parameter reference</strong></summary>
|
||||
|
||||
#### Available Tasks
|
||||
|
||||
| Task Name | Description | Example JSON |
|
||||
|------------------------|--------------------------------------------------|----------------------------------------------|
|
||||
| `t2v` | Text-to-Video generation | `config/examples/t2v_example.json` |
|
||||
| `t2i` | Text-to-Image generation | `config/examples/t2i_example.json` |
|
||||
| `i2v` | Image-to-Video generation | `config/examples/i2v_example.json` |
|
||||
| `image_edit` | Image editing | `config/examples/image_edit_example.json` |
|
||||
| `video_edit` | Video editing | `config/examples/video_edit_example.json` |
|
||||
| `x2t_image` | Image understanding | `config/examples/x2t_image_example.json` |
|
||||
| `x2t_video` | Video understanding | `config/examples/x2t_video_example.json` |
|
||||
|
||||
For understanding examples:
|
||||
|
||||
- `config/examples/x2t_image_example.json`: image understanding examples for visual question answering, reasoning and image captioning.
|
||||
- `config/examples/x2t_video_example.json`: video understanding examples for video question answering and video captioning.
|
||||
|
||||
#### Parameters
|
||||
|
||||
You can configure the following hyperparameters at the top of the `inference_lance.sh` script:
|
||||
|
||||
| Parameter | Default Value | Description |
|
||||
| --- | --- | --- |
|
||||
| `MODEL_PATH` | `"downloads/Lance_3B"` | Path to the downloaded Lance model weights (`Lance_3B` or `Lance_3B_Video`). |
|
||||
| `NUM_GPUS` | `1` | Number of GPUs to use for inference. |
|
||||
| `VALIDATION_NUM_TIMESTEPS` | `30` | Number of denoising steps (e.g., 30 or 50). |
|
||||
| `VALIDATION_TIMESTEP_SHIFT` | `3.5` | Timestep shift parameter for flow matching scheduling. |
|
||||
| `CFG_TEXT_SCALE` | `4.0` | Classifier-Free Guidance (CFG) scale for text conditioning. |
|
||||
| `VALIDATION_DATA_SEED` | `42` | Random seed for generation reproducibility. |
|
||||
| `NUM_FRAMES` | `50` | Number of frames for video generation (Max: 121). *Unused for image tasks.* |
|
||||
| `VIDEO_HEIGHT` / `VIDEO_WIDTH`| `768` | Spatial resolution. *Unused for editing tasks (determined by input image/video).* |
|
||||
| `RESOLUTION` | `"video_480p"` | Base resolution preset (`image_768res` or `video_480p`). |
|
||||
| `CONFIG_PATH` | `""` | Optional path to a custom validation JSON/JSONL file. When empty, the task default example config is used. |
|
||||
| `ENHANCE_PROMPT` | `false` | Optional T2V/I2V prompt rewrite switch. T2V uses text-only rewrite; I2V uses text plus the input image. Prompt enhancement generally improves generation quality. This option requires `openai==2.26.0`; it is included in `requirements.txt`, or install it manually with `pip install openai==2.26.0`. Configure `API_KEY`, `MODEL_NAME`, and `BASE_URL` in `common/utils/caption_rewrite.py` before setting this to `true`; without a valid rewrite config, we recommend writing prompts in the style of the provided examples. |
|
||||
|
||||
</details>
|
||||
|
||||
### 🖥️ Gradio
|
||||
|
||||
You can launch the local Gradio demo for video/image generation, editing, and understanding:
|
||||
|
||||
```bash
|
||||
python lance_gradio.py --server-name 0.0.0.0 --server-port 7860
|
||||
```
|
||||
|
||||
### Benchmarks
|
||||
|
||||
<details>
|
||||
<summary><strong>DPG-Bench Evaluation</strong></summary>
|
||||
|
||||
<div align="center">
|
||||
<table align="center">
|
||||
<thead>
|
||||
<tr>
|
||||
<th align="left">Models</th>
|
||||
<th align="center"># Params.</th>
|
||||
<th align="center">Global</th>
|
||||
<th align="center">Entity</th>
|
||||
<th align="center">Attribute</th>
|
||||
<th align="center">Relation</th>
|
||||
<th align="center">Other</th>
|
||||
<th align="center">Overall</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" colspan="8"><i>Generation-only Models</i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">SDXL</td><td align="center">3.5B</td><td align="center">83.27</td><td align="center">82.43</td><td align="center">80.91</td><td align="center">86.76</td><td align="center">80.41</td><td align="center">74.65</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">DALL-E 3</td><td align="center">-</td><td align="center">90.97</td><td align="center">89.61</td><td align="center">88.39</td><td align="center">90.58</td><td align="center">89.83</td><td align="center">83.50</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">SD3-Medium</td><td align="center">2B</td><td align="center">87.90</td><td align="center">91.01</td><td align="center">88.83</td><td align="center">80.70</td><td align="center">88.68</td><td align="center">84.08</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">FLUX.1-dev</td><td align="center">12B</td><td align="center">74.35</td><td align="center">90.00</td><td align="center">88.96</td><td align="center">90.87</td><td align="center">88.33</td><td align="center">83.84</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Qwen-Image</td><td align="center">20B</td><td align="center">91.32</td><td align="center">91.56</td><td align="center">92.02</td><td align="center">94.31</td><td align="center">92.73</td><td align="center">88.32</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" colspan="8"><i>Unified Models</i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Janus-Pro-7B</td><td align="center">7B</td><td align="center">86.90</td><td align="center">88.90</td><td align="center">89.40</td><td align="center">89.32</td><td align="center">89.48</td><td align="center">84.19</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">OmniGen2</td><td align="center">4B</td><td align="center">88.81</td><td align="center">88.83</td><td align="center">90.18</td><td align="center">89.37</td><td align="center">90.27</td><td align="center">83.57</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Show-o2</td><td align="center">7B</td><td align="center">89.00</td><td align="center"><b>91.78</b></td><td align="center">89.96</td><td align="center">91.81</td><td align="center"><b>91.64</b></td><td align="center">86.14</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">BAGEL<sup>†</sup></td><td align="center">7B</td><td align="center">88.94</td><td align="center">90.37</td><td align="center"><u>91.29</u></td><td align="center">90.82</td><td align="center">88.67</td><td align="center">85.07</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">InternVL-U</td><td align="center">1.7B</td><td align="center"><u>90.39</u></td><td align="center">90.78</td><td align="center">90.68</td><td align="center">90.29</td><td align="center">88.77</td><td align="center">85.18</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">TUNA</td><td align="center">7B</td><td align="center"><b>90.42</b></td><td align="center"><u>91.68</u></td><td align="center">90.94</td><td align="center"><u>91.87</u></td><td align="center"><u>90.73</u></td><td align="center"><b>86.76</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">TUNA-2</td><td align="center">7B</td><td align="center">89.50</td><td align="center">91.40</td><td align="center"><b>92.07</b></td><td align="center">91.91</td><td align="center">88.81</td><td align="center"><u>86.54</u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">🌟 <b>Lance (Ours)</b></td><td align="center"><b>3B</b></td><td align="center"><b>83.89</b></td><td align="center"><b>91.07</b></td><td align="center"><b>89.36</b></td><td align="center"><b>93.38</b></td><td align="center"><b>80.80</b></td><td align="center"><b>84.67</b></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<p align="center"><em><sup>†</sup> indicates methods that use LLM rewriters for prompt rewriting before generation.</em></p>
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><strong>GenEval Evaluation</strong></summary>
|
||||
|
||||
<div align="center">
|
||||
<table align="center">
|
||||
<thead>
|
||||
<tr>
|
||||
<th align="left">Models</th>
|
||||
<th align="center"># Params.</th>
|
||||
<th align="center">1-Obj.</th>
|
||||
<th align="center">2-Obj.</th>
|
||||
<th align="center">Count</th>
|
||||
<th align="center">Colors</th>
|
||||
<th align="center">Position</th>
|
||||
<th align="center">Attr.</th>
|
||||
<th align="center">Overall</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" colspan="9"><i>Generation-only Models</i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">SDXL</td><td align="center">3.5B</td><td align="center">0.98</td><td align="center">0.74</td><td align="center">0.39</td><td align="center">0.85</td><td align="center">0.15</td><td align="center">0.23</td><td align="center">0.55</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">DALL-E 3</td><td align="center">-</td><td align="center">0.96</td><td align="center">0.87</td><td align="center">0.47</td><td align="center">0.83</td><td align="center">0.43</td><td align="center">0.45</td><td align="center">0.67</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">SD3-Medium</td><td align="center">2B</td><td align="center">0.99</td><td align="center">0.94</td><td align="center">0.72</td><td align="center">0.89</td><td align="center">0.33</td><td align="center">0.60</td><td align="center">0.74</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">FLUX.1-dev</td><td align="center">12B</td><td align="center">0.98</td><td align="center">0.93</td><td align="center">0.75</td><td align="center">0.93</td><td align="center">0.68</td><td align="center">0.65</td><td align="center">0.82</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Qwen-Image</td><td align="center">20B</td><td align="center">0.99</td><td align="center">0.92</td><td align="center">0.89</td><td align="center">0.88</td><td align="center">0.76</td><td align="center">0.77</td><td align="center">0.87</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" colspan="9"><i>Unified Models</i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Janus-Pro-7B</td><td align="center">7B</td><td align="center"><u>0.99</u></td><td align="center">0.89</td><td align="center">0.59</td><td align="center">0.90</td><td align="center">0.79</td><td align="center">0.66</td><td align="center">0.80</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">OmniGen2</td><td align="center">4B</td><td align="center"><b>1.00</b></td><td align="center">0.95</td><td align="center">0.64</td><td align="center">0.88</td><td align="center">0.55</td><td align="center">0.76</td><td align="center">0.80</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Show-o2</td><td align="center">7B</td><td align="center"><b>1.00</b></td><td align="center">0.87</td><td align="center">0.58</td><td align="center">0.92</td><td align="center">0.52</td><td align="center">0.62</td><td align="center">0.76</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">BAGEL<sup>†</sup></td><td align="center">7B</td><td align="center">0.98</td><td align="center">0.95</td><td align="center"><b>0.84</b></td><td align="center"><u>0.95</u></td><td align="center">0.78</td><td align="center">0.77</td><td align="center">0.88</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Mogao</td><td align="center">7B</td><td align="center"><b>1.00</b></td><td align="center"><b>0.97</b></td><td align="center"><u>0.83</u></td><td align="center">0.93</td><td align="center">0.84</td><td align="center">0.80</td><td align="center"><u>0.89</u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">InternVL-U</td><td align="center">1.7B</td><td align="center"><u>0.99</u></td><td align="center">0.94</td><td align="center">0.74</td><td align="center">0.91</td><td align="center">0.77</td><td align="center">0.74</td><td align="center">0.85</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">TUNA</td><td align="center">7B</td><td align="center"><b>1.00</b></td><td align="center"><b>0.97</b></td><td align="center">0.81</td><td align="center">0.91</td><td align="center"><b>0.88</b></td><td align="center"><b>0.83</b></td><td align="center"><b>0.90</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">TUNA-2</td><td align="center">7B</td><td align="center"><u>0.99</u></td><td align="center"><u>0.96</u></td><td align="center">0.80</td><td align="center">0.91</td><td align="center">0.84</td><td align="center">0.76</td><td align="center">0.87</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">🌟 <b>Lance (Ours)</b></td><td align="center"><b>3B</b></td><td align="center"><b>1.00</b></td><td align="center"><b>0.94</b></td><td align="center"><b>0.84</b></td><td align="center"><b>0.97</b></td><td align="center"><b>0.87</b></td><td align="center"><b>0.81</b></td><td align="center"><b>0.90</b></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<p align="center"><em><sup>†</sup> indicates methods that use LLM rewriters for prompt rewriting before generation.</em></p>
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><strong>GEdit-Bench Evaluation</strong></summary>
|
||||
|
||||
<div align="center">
|
||||
<table align="center">
|
||||
<thead>
|
||||
<tr>
|
||||
<th align="left">Models</th>
|
||||
<th align="center"># Params.</th>
|
||||
<th align="center">BC</th>
|
||||
<th align="center">CA</th>
|
||||
<th align="center">MM</th>
|
||||
<th align="center">MC</th>
|
||||
<th align="center">PB</th>
|
||||
<th align="center">ST</th>
|
||||
<th align="center">SA</th>
|
||||
<th align="center">SR</th>
|
||||
<th align="center">SRp</th>
|
||||
<th align="center">TM</th>
|
||||
<th align="center">TT</th>
|
||||
<th align="center">Avg/G_O</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" colspan="14"><i>Generation-only Models</i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Gemini 2.0</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">6.32</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">GPT Image 1</td><td align="center">-</td><td align="center">6.96</td><td align="center">6.85</td><td align="center">7.10</td><td align="center">5.41</td><td align="center">6.74</td><td align="center">7.44</td><td align="center">7.51</td><td align="center">8.73</td><td align="center">8.55</td><td align="center">8.45</td><td align="center">8.69</td><td align="center">7.49</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Qwen-Image-Edit</td><td align="center">20B</td><td align="center">8.23</td><td align="center">8.30</td><td align="center">7.33</td><td align="center">8.05</td><td align="center">7.49</td><td align="center">6.74</td><td align="center">8.57</td><td align="center">8.09</td><td align="center">8.29</td><td align="center">8.48</td><td align="center">8.50</td><td align="center">8.01</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" colspan="14"><i>Unified Models</i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Lumina-DiMOO</td><td align="center">8B</td><td align="center">3.43</td><td align="center">4.27</td><td align="center">3.08</td><td align="center">2.77</td><td align="center">4.74</td><td align="center">5.19</td><td align="center">4.44</td><td align="center">3.80</td><td align="center">4.38</td><td align="center">2.68</td><td align="center">4.20</td><td align="center">3.91</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Ovis-U1</td><td align="center">1.2B</td><td align="center"><u>7.49</u></td><td align="center">6.88</td><td align="center">6.21</td><td align="center">4.79</td><td align="center">5.98</td><td align="center"><u>6.46</u></td><td align="center">7.49</td><td align="center"><u>7.25</u></td><td align="center"><u>7.27</u></td><td align="center">4.48</td><td align="center">6.31</td><td align="center">6.42</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">BAGEL</td><td align="center">7B</td><td align="center">7.32</td><td align="center">6.91</td><td align="center">6.38</td><td align="center">4.75</td><td align="center">4.57</td><td align="center">6.15</td><td align="center"><b>7.90</b></td><td align="center">7.16</td><td align="center">7.02</td><td align="center"><u>7.32</u></td><td align="center">6.22</td><td align="center">6.52</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">InternVL-U</td><td align="center">1.7B</td><td align="center">7.08</td><td align="center">7.05</td><td align="center">6.38</td><td align="center"><u>7.02</u></td><td align="center"><u>6.03</u></td><td align="center">6.27</td><td align="center">7.13</td><td align="center">6.55</td><td align="center">6.33</td><td align="center">6.59</td><td align="center"><u>6.85</u></td><td align="center">6.66</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">InternVL-U (w/ CoT)</td><td align="center">1.7B</td><td align="center">7.05</td><td align="center"><b>7.87</b></td><td align="center"><u>6.50</u></td><td align="center">6.99</td><td align="center">5.77</td><td align="center">6.10</td><td align="center">7.33</td><td align="center">7.16</td><td align="center">7.12</td><td align="center"><b>7.36</b></td><td align="center">6.46</td><td align="center"><u>6.88</u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">🌟 <b>Lance (Ours)</b></td><td align="center"><b>3B</b></td><td align="center"><b>7.73</b></td><td align="center"><u>7.74</u></td><td align="center"><b>7.28</b></td><td align="center"><b>7.83</b></td><td align="center"><b>7.50</b></td><td align="center"><b>7.03</b></td><td align="center"><u>7.64</u></td><td align="center"><b>7.85</b></td><td align="center"><b>7.71</b></td><td align="center">4.46</td><td align="center"><b>7.57</b></td><td align="center"><b>7.30</b></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><strong>VBench Evaluation (Video Generation)</strong></summary>
|
||||
|
||||
<div align="center">
|
||||
<table align="center">
|
||||
<thead>
|
||||
<tr>
|
||||
<th align="left">Type</th>
|
||||
<th align="left">Model</th>
|
||||
<th align="center"># Params.</th>
|
||||
<th align="center">Total Score ↑</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" rowspan="12"><i>Gen. Only</i></td>
|
||||
<td align="left">ModelScope</td><td align="center">1.7B</td><td align="center">75.75</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">LaVie</td><td align="center">3B</td><td align="center">77.08</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Show-1</td><td align="center">6B</td><td align="center">78.93</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">AnimateDiff-V2</td><td align="center">-</td><td align="center">80.27</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">VideoCrafter-2.0</td><td align="center">-</td><td align="center">80.44</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">CogVideoX</td><td align="center">5B</td><td align="center">81.61</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Kling</td><td align="center">-</td><td align="center">81.85</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Open-Sora-2.0</td><td align="center">-</td><td align="center">81.71</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Gen-3</td><td align="center">-</td><td align="center">82.32</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Step-Video-T2V</td><td align="center">30B</td><td align="center">81.83</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Hunyuan Video</td><td align="center">-</td><td align="center">83.43</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Wan2.1-T2V</td><td align="center">14B</td><td align="center">83.69</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" rowspan="6"><i>Unified</i></td>
|
||||
<td align="left">HaproOmni</td><td align="center">7B</td><td align="center">78.10</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Emu3</td><td align="center">8B</td><td align="center">80.96</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">VILA-U</td><td align="center">7B</td><td align="center">74.01</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Show-o2</td><td align="center">2B</td><td align="center">81.34</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">TUNA</td><td align="center">1.5B</td><td align="center"><u>84.06</u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">🌟 <b>Lance (Ours)</b></td><td align="center"><b>3B</b></td><td align="center"><b>85.11</b></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</details>
|
||||
|
||||
#### Running Benchmarks
|
||||
|
||||
Ready-to-run benchmark scripts are provided under `benchmarks/`:
|
||||
|
||||
| Benchmark | Modality | Script |
|
||||
|------------------------|----------|---------------------------------------------------------------|
|
||||
| GenEVAL (image gen) | Image | `benchmarks/image_gen/GenEVAL/sample_GenEVAL.sh` |
|
||||
| DPG (image gen) | Image | `benchmarks/image_gen/DPG/sample_DPG.sh` |
|
||||
| GEdit (image edit) | Image | `benchmarks/image_gen/GEdit/sample_GEdit.sh` |
|
||||
| VBench (video gen) | Video | `benchmarks/video_gen/Vbench/sample_vbench.sh` |
|
||||
|
||||
|
||||
## 📄 License
|
||||
|
||||
Copyright 2025 ByteDance Ltd. and/or its affiliates.
|
||||
|
||||
## 🙏 Acknowledgements
|
||||
|
||||
We would like to thank the contributors of [BAGEL](https://github.com/ByteDance-Seed/bagel), [Qwen2.5-VL-3B-Instruct](https://huggingface.co/Qwen/Qwen2.5-VL-3B-Instruct), and [Wan2.2](https://github.com/Wan-Video/Wan2.2) for their open research and contributions.
|
||||
|
||||
## 💖 Citation
|
||||
|
||||
If you find **Lance** useful for your project or research, welcome to 🌟 this repo and cite our work using the following BibTeX:
|
||||
|
||||
```bibtex
|
||||
@misc{fu2026lanceunifiedmultimodalmodeling,
|
||||
title = {Lance: Unified Multimodal Modeling by Multi-Task Synergy},
|
||||
author = {Fengyi Fu and Mengqi Huang and Shaojin Wu and Yunsheng Jiang and Yufei Huo and Hao Li and Yinghang Song and Fei Ding and Jianzhu Guo and Qian He and Zheren Fu and Zhendong Mao and Yongdong Zhang},
|
||||
year = {2026},
|
||||
eprint = {2605.18678},
|
||||
archivePrefix = {arXiv},
|
||||
primaryClass = {cs.CV},
|
||||
url = {https://arxiv.org/abs/2605.18678},
|
||||
}
|
||||
```
|
||||
|
||||
## 📞 Contact
|
||||
|
||||
For questions, issues, or collaborations, please contact [Mengqi Huang](https://corleone-huang.github.io/) and [Jianzhu Guo](https://guojianzhu.com/).
|
||||
@@ -0,0 +1,7 @@
|
||||
# WeHub 来源说明
|
||||
|
||||
- 原始项目:`bytedance/Lance`
|
||||
- 原始仓库:https://github.com/bytedance/Lance
|
||||
- 导入方式:上游默认分支的最新快照
|
||||
- 原作者、版权和许可证信息以原始仓库及本仓库 LICENSE 为准
|
||||
- 本文件仅用于记录来源,不代表 WeHub 是原项目作者
|
||||
@@ -0,0 +1,661 @@
|
||||
<div align="center">
|
||||
<img src="assets/logo/lance-logo.webp" alt="Lance logo" width="300">
|
||||
|
||||
<h1 align="center"><sup>Lance: Unified Multimodal Modeling by Multi-Task Synergy</sup></h1>
|
||||
<p>
|
||||
<strong>
|
||||
<a href="https://scholar.google.com.hk/citations?user=FXxoQlsAAAAJ&hl=zh-CN&oi=ao" style="text-decoration: none; color: inherit;">Fengyi Fu</a><sup>*</sup>,
|
||||
<a href="https://corleone-huang.github.io/" style="text-decoration: none; color: inherit;">Mengqi Huang</a><sup>*,✉</sup>,
|
||||
<a href="https://scholar.google.com.hk/citations?user=9ER6nVkAAAAJ&hl=zh-CN&oi=ao" style="text-decoration: none; color: inherit;">Shaojin Wu</a><sup>*</sup>,
|
||||
Yunsheng Jiang<sup>*</sup>,
|
||||
Yufei Huo,
|
||||
<a href="https://guojianzhu.com/" style="text-decoration: none; color: inherit;">Jianzhu Guo</a><sup>✉,§</sup>
|
||||
</strong><br>
|
||||
Hao Li,
|
||||
Yinghang Song,
|
||||
Fei Ding,
|
||||
Qian He,
|
||||
Zheren Fu,
|
||||
Zhendong Mao,
|
||||
Yongdong Zhang
|
||||
<br>
|
||||
<em>ByteDance</em>
|
||||
<br>
|
||||
<sup>*</sup> 共同一作 <sup>✉</sup> 通讯作者 <sup>§</sup> 项目负责人
|
||||
</p>
|
||||
<p>
|
||||
<a href="https://lance-project.github.io/" style="text-decoration: none; margin: 0 8px;"><img src="https://img.shields.io/badge/Homepage-Lance-blue?style=flat" alt="Homepage"></a>
|
||||
<a href="http://arxiv.org/abs/2605.18678" style="text-decoration: none; margin: 0 8px;"><img src="https://img.shields.io/badge/Paper-arXiv-red?style=flat&logo=arxiv" alt="arXiv"></a>
|
||||
<a href="https://huggingface.co/bytedance-research/Lance" style="text-decoration: none; margin: 0 8px;"><img src="https://img.shields.io/badge/Model-HuggingFace-yellow?style=flat&logo=huggingface" alt="Model"></a>
|
||||
<a href="https://huggingface.co/spaces/bytedance-research/Lance" style="text-decoration: none; margin: 0 8px;"><img src="https://img.shields.io/badge/Demo-HuggingFace-40bfe6?style=flat&logo=huggingface" alt="Demo"></a>
|
||||
<br>
|
||||
<a href="./README.md"><ins>English</ins></a> | 简体中文
|
||||
</p>
|
||||
</div>
|
||||
|
||||
> **注意:** Lance 是一个研究项目,而不是经过充分产品化打磨的模型。当前开源 checkpoint 使用不超过 128 张 A100 GPU 训练,训练阶段覆盖到 768x768 图像生成和 480p、12 FPS 视频生成。我们希望将 Lance 作为一个研究参考,分享在较小模型规模和相对有限算力下统一图像/视频理解、生成和编辑的建模思路、训练流程和推理代码。模型效果可能会随 prompt、分辨率、时长、运动复杂度和编辑场景而波动,post-training recipe 仍有进一步改进空间。我们欢迎社区提供建设性反馈,帮助项目持续改进。
|
||||
|
||||
## 🔥 更新
|
||||
|
||||
- **`2026/06/17`**: 🛠️ 发布 Lance 微调代码。查看 [训练指南](train_zh.md) 了解细节。
|
||||
- **`2026/06/03`**: 🚀 Lance 现已被 [vLLM-Omni](https://github.com/vllm-project/vllm-omni) 支持。查看 [recipe](https://github.com/vllm-project/vllm-omni/blob/main/recipes/ByteDance/Lance.md)!
|
||||
- **`2026/05/29`**: 💪 增加 Image-to-Video generation 支持。[查看更多](assets/docs/changelog/2026-05-29.md)!
|
||||
- **`2026/05/26`**: 🎨 Gradio 界面现已支持图像和视频生成、编辑与理解任务。[欢迎体验](assets/docs/changelog/2026-05-26.md)!
|
||||
- **`2026/05/25`**: ✨ [Hugging Face Space](https://huggingface.co/spaces/bytedance-research/Lance) 已上线,感谢 HF 团队的支持!
|
||||
- **`2026/05/19`**: 🤗 技术报告现已发布于 [arXiv](http://arxiv.org/abs/2605.18678)。
|
||||
- **`2026/05/18`**: 🔥 我们发布了 [项目主页](https://lance-project.github.io/),并在 [GitHub](https://github.com/bytedance/Lance/) 和 [Hugging Face](https://huggingface.co/bytedance-research/Lance) 上开源了初版推理代码和模型权重。
|
||||
|
||||
## 🌟 亮点
|
||||
|
||||
**Lance** 是一个 3B 参数、原生统一的多模态模型,在单一框架下同时支持 **图像与视频的理解、生成和编辑**。
|
||||
|
||||
- **3B 规模高效。** 仅使用 **3B 激活参数**,Lance 即可在图像生成、图像编辑和视频生成等基准上取得有竞争力的表现。
|
||||
- **从零训练。** Lance 采用分阶段多任务训练配方从零训练,并在 **不超过 128 张 A100 GPU** 的预算内完成训练。
|
||||
|
||||
我们正在持续更新和改进本仓库。如果你发现任何问题或有改进建议,欢迎提出 issue 或提交 pull request(PR)💖。
|
||||
|
||||
<div align="center">
|
||||
<img src="assets/benchmarks/benchmark-overview.png" alt="Lance benchmark overview across image generation, image editing, video generation, and video understanding" width="980">
|
||||
</div>
|
||||
|
||||
## 🎨 演示
|
||||
|
||||
<details>
|
||||
<summary><strong>展开查看演示结果</strong></summary>
|
||||
|
||||
<div align="center">
|
||||
<strong>🔥 建议浏览我们的 <a href="https://lance-project.github.io/">主页</a> 查看更多效果。🔥</strong>
|
||||
</div>
|
||||
|
||||
<h3 align="center">文生视频</h3>
|
||||
|
||||
<table align="center">
|
||||
<tr>
|
||||
<td><a href="assets/text-to-video/videos/text-to-video-demo-01.mp4"><img src="assets/text-to-video/previews/text-to-video-demo-01.gif" width="100%"></a></td>
|
||||
<td><a href="assets/text-to-video/videos/text-to-video-demo-02.mp4"><img src="assets/text-to-video/previews/text-to-video-demo-02.gif" width="100%"></a></td>
|
||||
<td><a href="assets/text-to-video/videos/text-to-video-demo-03.mp4"><img src="assets/text-to-video/previews/text-to-video-demo-03.gif" width="100%"></a></td>
|
||||
<td><a href="assets/text-to-video/videos/text-to-video-demo-04.mp4"><img src="assets/text-to-video/previews/text-to-video-demo-04.gif" width="100%"></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="assets/text-to-video/videos/text-to-video-demo-05.mp4"><img src="assets/text-to-video/previews/text-to-video-demo-05.gif" width="100%"></a></td>
|
||||
<td><a href="assets/text-to-video/videos/text-to-video-demo-06.mp4"><img src="assets/text-to-video/previews/text-to-video-demo-06.gif" width="100%"></a></td>
|
||||
<td><a href="assets/text-to-video/videos/text-to-video-demo-07.mp4"><img src="assets/text-to-video/previews/text-to-video-demo-07.gif" width="100%"></a></td>
|
||||
<td><a href="assets/text-to-video/videos/text-to-video-demo-08.mp4"><img src="assets/text-to-video/previews/text-to-video-demo-08.gif" width="100%"></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h3 align="center">视频编辑</h3>
|
||||
|
||||
<table align="center">
|
||||
<tr>
|
||||
<td><a href="assets/video-editing/videos/video-editing-demo-01.mp4"><img src="assets/video-editing/previews/video-editing-demo-01.gif" width="100%"></a></td>
|
||||
<td><a href="assets/video-editing/videos/video-editing-demo-02.mp4"><img src="assets/video-editing/previews/video-editing-demo-02.gif" width="100%"></a></td>
|
||||
<td><a href="assets/video-editing/videos/video-editing-demo-03.mp4"><img src="assets/video-editing/previews/video-editing-demo-03.gif" width="100%"></a></td>
|
||||
<td><a href="assets/video-editing/videos/video-editing-demo-04.mp4"><img src="assets/video-editing/previews/video-editing-demo-04.gif" width="100%"></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="assets/video-editing/videos/video-editing-demo-05.mp4"><img src="assets/video-editing/previews/video-editing-demo-05.gif" width="100%"></a></td>
|
||||
<td><a href="assets/video-editing/videos/video-editing-demo-06.mp4"><img src="assets/video-editing/previews/video-editing-demo-06.gif" width="100%"></a></td>
|
||||
<td><a href="assets/video-editing/videos/video-editing-demo-07.mp4"><img src="assets/video-editing/previews/video-editing-demo-07.gif" width="100%"></a></td>
|
||||
<td><a href="assets/video-editing/videos/video-editing-demo-08.mp4"><img src="assets/video-editing/previews/video-editing-demo-08.gif" width="100%"></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h3 align="center">多轮一致性编辑</h3>
|
||||
|
||||
<div align="center">
|
||||
<a href="assets/multi-turn-editing/videos/multi-turn-editing-demo-01.mp4">
|
||||
<img src="assets/multi-turn-editing/previews/multi-turn-editing-demo-01.gif" width="100%">
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<h3 align="center">智能视频生成</h3>
|
||||
|
||||
<table align="center">
|
||||
<tr>
|
||||
<td><a href="assets/intelligent-video/videos/intelligent-video-demo-01.mp4"><img src="assets/intelligent-video/previews/intelligent-video-demo-01.gif" width="100%"></a></td>
|
||||
<td><a href="assets/intelligent-video/videos/intelligent-video-demo-02.mp4"><img src="assets/intelligent-video/previews/intelligent-video-demo-02.gif" width="100%"></a></td>
|
||||
<td><a href="assets/intelligent-video/videos/intelligent-video-demo-03.mp4"><img src="assets/intelligent-video/previews/intelligent-video-demo-03.gif" width="100%"></a></td>
|
||||
<td><a href="assets/intelligent-video/videos/intelligent-video-demo-04.mp4"><img src="assets/intelligent-video/previews/intelligent-video-demo-04.gif" width="100%"></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</details>
|
||||
|
||||
## 🚀 安装
|
||||
|
||||
### 推荐环境
|
||||
|
||||
- **软件环境:** Python 3.10+,CUDA 12.4+(必需)
|
||||
- **硬件环境:** 推理至少需要一张显存不低于 40GB 的 GPU
|
||||
|
||||
我们在 NVIDIA A100 上测试通过了以下依赖组合:
|
||||
|
||||
- PyTorch 2.8.0 + cu126 + flash-attn 2.8.3
|
||||
- PyTorch 2.5.1 + cu124 + flash-attn 2.6.3
|
||||
|
||||
默认安装命令使用 PyTorch 2.8.0 + cu126 环境。对于其他 GPU 型号,请根据驱动版本、CUDA runtime、Python 版本和 GPU 架构自行选择并验证匹配的 PyTorch 与 `flash-attn` 版本组合。
|
||||
|
||||
|
||||
### 安装步骤
|
||||
|
||||
首先,克隆代码仓库:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/bytedance/Lance.git
|
||||
cd Lance
|
||||
```
|
||||
|
||||
然后,配置环境:
|
||||
|
||||
```bash
|
||||
conda create -n Lance python=3.11 -y
|
||||
conda activate Lance
|
||||
pip install torch==2.8.0 torchvision==0.23.0 torchaudio==2.8.0 --index-url https://download.pytorch.org/whl/cu126
|
||||
pip install -r requirements.txt
|
||||
pip install flash-attn==2.8.3 --no-build-isolation
|
||||
```
|
||||
|
||||
> **注意:** 如果从源码安装 `flash-attn` 失败,可以改为安装预编译 wheel。下面的 wheelhouse 来自第三方仓库,仅作为**参考提供**;请在安装前确认 wheel 与当前 Python、PyTorch 和 CUDA 版本匹配:
|
||||
>
|
||||
> ```bash
|
||||
> pip install --no-cache-dir --no-deps --force-reinstall \
|
||||
> "https://huggingface.co/strangertoolshf/flash_attention_2_wheelhouse/resolve/main/wheelhouse-flash_attn-2.8.3/linux_x86_64/torch2.8/cu12/abiTRUE/cp311/flash_attn-2.8.3+cu12torch2.8cxx11abiTRUE-cp311-cp311-linux_x86_64.whl"
|
||||
> ```
|
||||
|
||||
然后,从 [Hugging Face 上的 Lance-3B](https://huggingface.co/bytedance-research/Lance) 下载所需的全部模型权重,并放置到 `downloads/` 目录下:
|
||||
|
||||
```bash
|
||||
from huggingface_hub import snapshot_download
|
||||
|
||||
save_dir = "./downloads/"
|
||||
repo_id = "bytedance-research/Lance"
|
||||
cache_dir = save_dir + "/cache"
|
||||
|
||||
snapshot_download(cache_dir=cache_dir,
|
||||
local_dir=save_dir,
|
||||
repo_id=repo_id,
|
||||
local_dir_use_symlinks=False,
|
||||
resume_download=True,
|
||||
allow_patterns=["*.json", "*.safetensors", "*.bin", "*.py", "*.md", "*.txt","*.pth",],
|
||||
)
|
||||
```
|
||||
|
||||
## 📚 使用方法
|
||||
|
||||
### 推理
|
||||
|
||||
#### 基本用法
|
||||
|
||||
```bash
|
||||
bash inference_lance.sh
|
||||
```
|
||||
|
||||
- 运行前,请先在 `inference_lance.sh` 顶部配置推理参数。
|
||||
- **支持任务:** `t2i`、`t2v`、`i2v`、`image_edit`、`video_edit`、`x2t_image` 和 `x2t_video`。你也可以在 `inference_lance.py` 中修改 `TASK_DEFAULT_CONFIGS`,自定义每个任务默认使用的数据样例。
|
||||
- **注意:** 对于所有任务,建议在编写输入 prompt 时参考提供示例中的 `prompt` 格式,这通常有助于获得更好的生成效果。
|
||||
|
||||
|
||||
#### 任务示例
|
||||
|
||||
##### 文生视频
|
||||
|
||||
```bash
|
||||
bash inference_lance.sh \
|
||||
--TASK_NAME t2v \
|
||||
--MODEL_PATH downloads/Lance_3B_Video \
|
||||
--RESOLUTION video_480p \
|
||||
--NUM_FRAMES 121 \
|
||||
--VIDEO_HEIGHT 480 \
|
||||
--VIDEO_WIDTH 848 \
|
||||
--SAVE_PATH_GEN results/t2v
|
||||
```
|
||||
|
||||
##### 图生视频
|
||||
|
||||
```bash
|
||||
bash inference_lance.sh \
|
||||
--TASK_NAME i2v \
|
||||
--MODEL_PATH downloads/Lance_3B_Video \
|
||||
--RESOLUTION video_480p \
|
||||
--NUM_FRAMES 61 \
|
||||
--VIDEO_HEIGHT 480 \
|
||||
--VIDEO_WIDTH 848 \
|
||||
--SAVE_PATH_GEN results/i2v
|
||||
```
|
||||
|
||||
生成任务可选参数:
|
||||
|
||||
- `--ENHANCE_PROMPT true`:启用 T2V/I2V prompt rewrite。T2V 使用纯文本 rewrite,I2V 使用文本加输入图像 rewrite。prompt rewrite 通常能提升生成效果。该选项需要 `openai==2.26.0`,已写入 `requirements.txt`;如果没有通过 `requirements.txt` 安装依赖,请先执行 `pip install openai==2.26.0`。启用前请先在 `common/utils/caption_rewrite.py` 中配置 `API_KEY`、`MODEL_NAME` 和 `BASE_URL`;如果没有配置有效 rewrite 参数,会自动跳过 prompt rewrite,此时建议尽量参考提供示例中的 prompt 风格手写输入。
|
||||
|
||||
##### 文生图
|
||||
|
||||
```bash
|
||||
bash inference_lance.sh \
|
||||
--TASK_NAME t2i \
|
||||
--MODEL_PATH downloads/Lance_3B \
|
||||
--RESOLUTION image_768res \
|
||||
--VIDEO_HEIGHT 768 \
|
||||
--VIDEO_WIDTH 768 \
|
||||
--SAVE_PATH_GEN results/t2i
|
||||
```
|
||||
|
||||
##### 视频编辑
|
||||
|
||||
```bash
|
||||
bash inference_lance.sh \
|
||||
--TASK_NAME video_edit \
|
||||
--MODEL_PATH downloads/Lance_3B_Video \
|
||||
--RESOLUTION video_480p \
|
||||
--SAVE_PATH_GEN results/video_edit
|
||||
```
|
||||
|
||||
##### 图像编辑
|
||||
|
||||
```bash
|
||||
bash inference_lance.sh \
|
||||
--TASK_NAME image_edit \
|
||||
--MODEL_PATH downloads/Lance_3B \
|
||||
--RESOLUTION image_768res \
|
||||
--SAVE_PATH_GEN results/image_edit
|
||||
```
|
||||
|
||||
##### 视频理解
|
||||
|
||||
```bash
|
||||
bash inference_lance.sh \
|
||||
--TASK_NAME x2t_video \
|
||||
--MODEL_PATH downloads/Lance_3B_Video \
|
||||
--RESOLUTION video_480p \
|
||||
--NUM_FRAMES 50 \
|
||||
--SAVE_PATH_GEN results/x2t_video
|
||||
```
|
||||
|
||||
##### 图像理解
|
||||
|
||||
```bash
|
||||
bash inference_lance.sh \
|
||||
--TASK_NAME x2t_image \
|
||||
--MODEL_PATH downloads/Lance_3B \
|
||||
--RESOLUTION image_768res \
|
||||
--SAVE_PATH_GEN results/x2t_image
|
||||
```
|
||||
|
||||
所有任务示例可选参数:
|
||||
|
||||
- `--CONFIG_PATH path/to/config.json`:使用自定义验证 JSON/JSONL 文件,而不是任务默认示例配置。
|
||||
|
||||
<details>
|
||||
<summary><strong>展开任务和参数参考</strong></summary>
|
||||
|
||||
#### 可用任务
|
||||
|
||||
| 任务名 | 说明 | 示例 JSON |
|
||||
|------------------------|--------------------------------------------------|----------------------------------------------|
|
||||
| `t2v` | 文生视频 | `config/examples/t2v_example.json` |
|
||||
| `t2i` | 文生图 | `config/examples/t2i_example.json` |
|
||||
| `i2v` | 图生视频 | `config/examples/i2v_example.json` |
|
||||
| `image_edit` | 图像编辑 | `config/examples/image_edit_example.json` |
|
||||
| `video_edit` | 视频编辑 | `config/examples/video_edit_example.json` |
|
||||
| `x2t_image` | 图像理解 | `config/examples/x2t_image_example.json` |
|
||||
| `x2t_video` | 视频理解 | `config/examples/x2t_video_example.json` |
|
||||
|
||||
关于理解任务的示例文件:
|
||||
|
||||
- `config/examples/x2t_image_example.json`:用于图像理解示例,包括视觉问答、基于图像的推理和图像描述。
|
||||
- `config/examples/x2t_video_example.json`:用于视频理解示例,包括视频问答和视频描述。
|
||||
|
||||
#### 参数说明
|
||||
|
||||
你可以在 `inference_lance.sh` 顶部配置以下超参数:
|
||||
|
||||
| 参数 | 默认值 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `MODEL_PATH` | `"downloads/Lance_3B"` | 下载后的 Lance 模型权重路径(如 `Lance_3B` 或 `Lance_3B_Video`)。 |
|
||||
| `NUM_GPUS` | `1` | 用于推理的 GPU 数量。 |
|
||||
| `VALIDATION_NUM_TIMESTEPS` | `30` | 去噪步数(例如 30 或 50)。 |
|
||||
| `VALIDATION_TIMESTEP_SHIFT` | `3.5` | Flow matching 调度中的 timestep shift 参数。 |
|
||||
| `CFG_TEXT_SCALE` | `4.0` | 文本条件的 CFG(Classifier-Free Guidance)系数。 |
|
||||
| `VALIDATION_DATA_SEED` | `42` | 用于复现实验的随机种子。 |
|
||||
| `NUM_FRAMES` | `50` | 视频生成帧数(最大 121)。*图像任务不使用该参数。* |
|
||||
| `VIDEO_HEIGHT` / `VIDEO_WIDTH`| `768` | 空间分辨率。*编辑任务不使用该参数(由输入图像/视频决定)。* |
|
||||
| `RESOLUTION` | `"video_480p"` | 基础分辨率预设(如 `image_768res` 或 `video_480p`)。 |
|
||||
| `CONFIG_PATH` | `""` | 可选的自定义验证 JSON/JSONL 文件路径。为空时使用任务默认示例配置。 |
|
||||
| `ENHANCE_PROMPT` | `false` | 可选的 T2V/I2V prompt rewrite 开关。T2V 使用纯文本 rewrite,I2V 使用文本加输入图像 rewrite。prompt rewrite 通常能提升生成效果。该选项需要 `openai==2.26.0`,已写入 `requirements.txt`;也可以手动执行 `pip install openai==2.26.0`。启用前请先在 `common/utils/caption_rewrite.py` 中配置 `API_KEY`、`MODEL_NAME` 和 `BASE_URL`;如果没有有效 rewrite 参数,建议尽量参考提供示例中的 prompt 风格手写输入。 |
|
||||
|
||||
</details>
|
||||
|
||||
### 🖥️ Gradio
|
||||
|
||||
你可以启动本地 Gradio demo,体验视频/图像生成、编辑和理解:
|
||||
|
||||
```bash
|
||||
python lance_gradio.py --server-name 0.0.0.0 --server-port 7860
|
||||
```
|
||||
|
||||
### 基准评测
|
||||
|
||||
<details>
|
||||
<summary><strong>DPG-Bench 评测</strong></summary>
|
||||
|
||||
<div align="center">
|
||||
<table align="center">
|
||||
<thead>
|
||||
<tr>
|
||||
<th align="left">模型</th>
|
||||
<th align="center"># Params.</th>
|
||||
<th align="center">Global</th>
|
||||
<th align="center">Entity</th>
|
||||
<th align="center">Attribute</th>
|
||||
<th align="center">Relation</th>
|
||||
<th align="center">Other</th>
|
||||
<th align="center">Overall</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" colspan="8"><i>仅生成模型</i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">SDXL</td><td align="center">3.5B</td><td align="center">83.27</td><td align="center">82.43</td><td align="center">80.91</td><td align="center">86.76</td><td align="center">80.41</td><td align="center">74.65</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">DALL-E 3</td><td align="center">-</td><td align="center">90.97</td><td align="center">89.61</td><td align="center">88.39</td><td align="center">90.58</td><td align="center">89.83</td><td align="center">83.50</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">SD3-Medium</td><td align="center">2B</td><td align="center">87.90</td><td align="center">91.01</td><td align="center">88.83</td><td align="center">80.70</td><td align="center">88.68</td><td align="center">84.08</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">FLUX.1-dev</td><td align="center">12B</td><td align="center">74.35</td><td align="center">90.00</td><td align="center">88.96</td><td align="center">90.87</td><td align="center">88.33</td><td align="center">83.84</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Qwen-Image</td><td align="center">20B</td><td align="center">91.32</td><td align="center">91.56</td><td align="center">92.02</td><td align="center">94.31</td><td align="center">92.73</td><td align="center">88.32</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" colspan="8"><i>统一模型</i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Janus-Pro-7B</td><td align="center">7B</td><td align="center">86.90</td><td align="center">88.90</td><td align="center">89.40</td><td align="center">89.32</td><td align="center">89.48</td><td align="center">84.19</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">OmniGen2</td><td align="center">4B</td><td align="center">88.81</td><td align="center">88.83</td><td align="center">90.18</td><td align="center">89.37</td><td align="center">90.27</td><td align="center">83.57</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Show-o2</td><td align="center">7B</td><td align="center">89.00</td><td align="center"><b>91.78</b></td><td align="center">89.96</td><td align="center">91.81</td><td align="center"><b>91.64</b></td><td align="center">86.14</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">BAGEL<sup>†</sup></td><td align="center">7B</td><td align="center">88.94</td><td align="center">90.37</td><td align="center"><u>91.29</u></td><td align="center">90.82</td><td align="center">88.67</td><td align="center">85.07</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">InternVL-U</td><td align="center">1.7B</td><td align="center"><u>90.39</u></td><td align="center">90.78</td><td align="center">90.68</td><td align="center">90.29</td><td align="center">88.77</td><td align="center">85.18</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">TUNA</td><td align="center">7B</td><td align="center"><b>90.42</b></td><td align="center"><u>91.68</u></td><td align="center">90.94</td><td align="center"><u>91.87</u></td><td align="center"><u>90.73</u></td><td align="center"><b>86.76</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">TUNA-2</td><td align="center">7B</td><td align="center">89.50</td><td align="center">91.40</td><td align="center"><b>92.07</b></td><td align="center">91.91</td><td align="center">88.81</td><td align="center"><u>86.54</u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">🌟 <b>Lance (Ours)</b></td><td align="center"><b>3B</b></td><td align="center"><b>83.89</b></td><td align="center"><b>91.07</b></td><td align="center"><b>89.36</b></td><td align="center"><b>93.38</b></td><td align="center"><b>80.80</b></td><td align="center"><b>84.67</b></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<p align="center"><em><sup>†</sup> 表示该方法在生成前使用 LLM rewriter 进行提示词改写。</em></p>
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><strong>GenEval 评测</strong></summary>
|
||||
|
||||
<div align="center">
|
||||
<table align="center">
|
||||
<thead>
|
||||
<tr>
|
||||
<th align="left">模型</th>
|
||||
<th align="center"># Params.</th>
|
||||
<th align="center">1-Obj.</th>
|
||||
<th align="center">2-Obj.</th>
|
||||
<th align="center">Count</th>
|
||||
<th align="center">Colors</th>
|
||||
<th align="center">Position</th>
|
||||
<th align="center">Attr.</th>
|
||||
<th align="center">Overall</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" colspan="9"><i>仅生成模型</i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">SDXL</td><td align="center">3.5B</td><td align="center">0.98</td><td align="center">0.74</td><td align="center">0.39</td><td align="center">0.85</td><td align="center">0.15</td><td align="center">0.23</td><td align="center">0.55</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">DALL-E 3</td><td align="center">-</td><td align="center">0.96</td><td align="center">0.87</td><td align="center">0.47</td><td align="center">0.83</td><td align="center">0.43</td><td align="center">0.45</td><td align="center">0.67</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">SD3-Medium</td><td align="center">2B</td><td align="center">0.99</td><td align="center">0.94</td><td align="center">0.72</td><td align="center">0.89</td><td align="center">0.33</td><td align="center">0.60</td><td align="center">0.74</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">FLUX.1-dev</td><td align="center">12B</td><td align="center">0.98</td><td align="center">0.93</td><td align="center">0.75</td><td align="center">0.93</td><td align="center">0.68</td><td align="center">0.65</td><td align="center">0.82</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Qwen-Image</td><td align="center">20B</td><td align="center">0.99</td><td align="center">0.92</td><td align="center">0.89</td><td align="center">0.88</td><td align="center">0.76</td><td align="center">0.77</td><td align="center">0.87</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" colspan="9"><i>统一模型</i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Janus-Pro-7B</td><td align="center">7B</td><td align="center"><u>0.99</u></td><td align="center">0.89</td><td align="center">0.59</td><td align="center">0.90</td><td align="center">0.79</td><td align="center">0.66</td><td align="center">0.80</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">OmniGen2</td><td align="center">4B</td><td align="center"><b>1.00</b></td><td align="center">0.95</td><td align="center">0.64</td><td align="center">0.88</td><td align="center">0.55</td><td align="center">0.76</td><td align="center">0.80</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Show-o2</td><td align="center">7B</td><td align="center"><b>1.00</b></td><td align="center">0.87</td><td align="center">0.58</td><td align="center">0.92</td><td align="center">0.52</td><td align="center">0.62</td><td align="center">0.76</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">BAGEL<sup>†</sup></td><td align="center">7B</td><td align="center">0.98</td><td align="center">0.95</td><td align="center"><b>0.84</b></td><td align="center"><u>0.95</u></td><td align="center">0.78</td><td align="center">0.77</td><td align="center">0.88</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Mogao</td><td align="center">7B</td><td align="center"><b>1.00</b></td><td align="center"><b>0.97</b></td><td align="center"><u>0.83</u></td><td align="center">0.93</td><td align="center">0.84</td><td align="center">0.80</td><td align="center"><u>0.89</u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">InternVL-U</td><td align="center">1.7B</td><td align="center"><u>0.99</u></td><td align="center">0.94</td><td align="center">0.74</td><td align="center">0.91</td><td align="center">0.77</td><td align="center">0.74</td><td align="center">0.85</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">TUNA</td><td align="center">7B</td><td align="center"><b>1.00</b></td><td align="center"><b>0.97</b></td><td align="center">0.81</td><td align="center">0.91</td><td align="center"><b>0.88</b></td><td align="center"><b>0.83</b></td><td align="center"><b>0.90</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">TUNA-2</td><td align="center">7B</td><td align="center"><u>0.99</u></td><td align="center"><u>0.96</u></td><td align="center">0.80</td><td align="center">0.91</td><td align="center">0.84</td><td align="center">0.76</td><td align="center">0.87</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">🌟 <b>Lance (Ours)</b></td><td align="center"><b>3B</b></td><td align="center"><b>1.00</b></td><td align="center"><b>0.94</b></td><td align="center"><b>0.84</b></td><td align="center"><b>0.97</b></td><td align="center"><b>0.87</b></td><td align="center"><b>0.81</b></td><td align="center"><b>0.90</b></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<p align="center"><em><sup>†</sup> 表示该方法在生成前使用 LLM rewriter 进行提示词改写。</em></p>
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><strong>GEdit-Bench 评测</strong></summary>
|
||||
|
||||
<div align="center">
|
||||
<table align="center">
|
||||
<thead>
|
||||
<tr>
|
||||
<th align="left">模型</th>
|
||||
<th align="center"># Params.</th>
|
||||
<th align="center">BC</th>
|
||||
<th align="center">CA</th>
|
||||
<th align="center">MM</th>
|
||||
<th align="center">MC</th>
|
||||
<th align="center">PB</th>
|
||||
<th align="center">ST</th>
|
||||
<th align="center">SA</th>
|
||||
<th align="center">SR</th>
|
||||
<th align="center">SRp</th>
|
||||
<th align="center">TM</th>
|
||||
<th align="center">TT</th>
|
||||
<th align="center">Avg/G_O</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" colspan="14"><i>仅生成模型</i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Gemini 2.0</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">6.32</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">GPT Image 1</td><td align="center">-</td><td align="center">6.96</td><td align="center">6.85</td><td align="center">7.10</td><td align="center">5.41</td><td align="center">6.74</td><td align="center">7.44</td><td align="center">7.51</td><td align="center">8.73</td><td align="center">8.55</td><td align="center">8.45</td><td align="center">8.69</td><td align="center">7.49</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Qwen-Image-Edit</td><td align="center">20B</td><td align="center">8.23</td><td align="center">8.30</td><td align="center">7.33</td><td align="center">8.05</td><td align="center">7.49</td><td align="center">6.74</td><td align="center">8.57</td><td align="center">8.09</td><td align="center">8.29</td><td align="center">8.48</td><td align="center">8.50</td><td align="center">8.01</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" colspan="14"><i>统一模型</i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Lumina-DiMOO</td><td align="center">8B</td><td align="center">3.43</td><td align="center">4.27</td><td align="center">3.08</td><td align="center">2.77</td><td align="center">4.74</td><td align="center">5.19</td><td align="center">4.44</td><td align="center">3.80</td><td align="center">4.38</td><td align="center">2.68</td><td align="center">4.20</td><td align="center">3.91</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Ovis-U1</td><td align="center">1.2B</td><td align="center"><u>7.49</u></td><td align="center">6.88</td><td align="center">6.21</td><td align="center">4.79</td><td align="center">5.98</td><td align="center"><u>6.46</u></td><td align="center">7.49</td><td align="center"><u>7.25</u></td><td align="center"><u>7.27</u></td><td align="center">4.48</td><td align="center">6.31</td><td align="center">6.42</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">BAGEL</td><td align="center">7B</td><td align="center">7.32</td><td align="center">6.91</td><td align="center">6.38</td><td align="center">4.75</td><td align="center">4.57</td><td align="center">6.15</td><td align="center"><b>7.90</b></td><td align="center">7.16</td><td align="center">7.02</td><td align="center"><u>7.32</u></td><td align="center">6.22</td><td align="center">6.52</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">InternVL-U</td><td align="center">1.7B</td><td align="center">7.08</td><td align="center">7.05</td><td align="center">6.38</td><td align="center"><u>7.02</u></td><td align="center"><u>6.03</u></td><td align="center">6.27</td><td align="center">7.13</td><td align="center">6.55</td><td align="center">6.33</td><td align="center">6.59</td><td align="center"><u>6.85</u></td><td align="center">6.66</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">InternVL-U (w/ CoT)</td><td align="center">1.7B</td><td align="center">7.05</td><td align="center"><b>7.87</b></td><td align="center"><u>6.50</u></td><td align="center">6.99</td><td align="center">5.77</td><td align="center">6.10</td><td align="center">7.33</td><td align="center">7.16</td><td align="center">7.12</td><td align="center"><b>7.36</b></td><td align="center">6.46</td><td align="center"><u>6.88</u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">🌟 <b>Lance (Ours)</b></td><td align="center"><b>3B</b></td><td align="center"><b>7.73</b></td><td align="center"><u>7.74</u></td><td align="center"><b>7.28</b></td><td align="center"><b>7.83</b></td><td align="center"><b>7.50</b></td><td align="center"><b>7.03</b></td><td align="center"><u>7.64</u></td><td align="center"><b>7.85</b></td><td align="center"><b>7.71</b></td><td align="center">4.46</td><td align="center"><b>7.57</b></td><td align="center"><b>7.30</b></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><strong>VBench 评测(视频生成)</strong></summary>
|
||||
|
||||
<div align="center">
|
||||
<table align="center">
|
||||
<thead>
|
||||
<tr>
|
||||
<th align="left">类型</th>
|
||||
<th align="left">模型</th>
|
||||
<th align="center"># Params.</th>
|
||||
<th align="center">Total Score ↑</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" rowspan="12"><i>仅生成</i></td>
|
||||
<td align="left">ModelScope</td><td align="center">1.7B</td><td align="center">75.75</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">LaVie</td><td align="center">3B</td><td align="center">77.08</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Show-1</td><td align="center">6B</td><td align="center">78.93</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">AnimateDiff-V2</td><td align="center">-</td><td align="center">80.27</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">VideoCrafter-2.0</td><td align="center">-</td><td align="center">80.44</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">CogVideoX</td><td align="center">5B</td><td align="center">81.61</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Kling</td><td align="center">-</td><td align="center">81.85</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Open-Sora-2.0</td><td align="center">-</td><td align="center">81.71</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Gen-3</td><td align="center">-</td><td align="center">82.32</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Step-Video-T2V</td><td align="center">30B</td><td align="center">81.83</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Hunyuan Video</td><td align="center">-</td><td align="center">83.43</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Wan2.1-T2V</td><td align="center">14B</td><td align="center">83.69</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" rowspan="6"><i>统一模型</i></td>
|
||||
<td align="left">HaproOmni</td><td align="center">7B</td><td align="center">78.10</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Emu3</td><td align="center">8B</td><td align="center">80.96</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">VILA-U</td><td align="center">7B</td><td align="center">74.01</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Show-o2</td><td align="center">2B</td><td align="center">81.34</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">TUNA</td><td align="center">1.5B</td><td align="center"><u>84.06</u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">🌟 <b>Lance (Ours)</b></td><td align="center"><b>3B</b></td><td align="center"><b>85.11</b></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</details>
|
||||
|
||||
#### 运行基准评测
|
||||
|
||||
`benchmarks/` 目录下提供了可直接运行的基准评测脚本:
|
||||
|
||||
| 基准 | 模态 | 脚本 |
|
||||
|------------------------|----------|---------------------------------------------------------------|
|
||||
| GenEVAL(图像生成) | 图像 | `benchmarks/image_gen/GenEVAL/sample_GenEVAL.sh` |
|
||||
| DPG(图像生成) | 图像 | `benchmarks/image_gen/DPG/sample_DPG.sh` |
|
||||
| GEdit(图像编辑) | 图像 | `benchmarks/image_gen/GEdit/sample_GEdit.sh` |
|
||||
| VBench(视频生成) | 视频 | `benchmarks/video_gen/Vbench/sample_vbench.sh` |
|
||||
|
||||
|
||||
## 📄 许可证
|
||||
|
||||
Copyright 2025 ByteDance Ltd. and/or its affiliates.
|
||||
|
||||
## 🙏 致谢
|
||||
|
||||
我们感谢 [BAGEL](https://github.com/ByteDance-Seed/bagel)、[Qwen2.5-VL-3B-Instruct](https://huggingface.co/Qwen/Qwen2.5-VL-3B-Instruct) 和 [Wan2.2](https://github.com/Wan-Video/Wan2.2) 的贡献者,感谢他们开放的研究与社区贡献。
|
||||
|
||||
## 💖 引用
|
||||
|
||||
如果 **Lance** 对您的项目或研究有帮助,欢迎 🌟 本仓库,并使用以下 BibTeX 引用我们的工作:
|
||||
|
||||
```bibtex
|
||||
@misc{fu2026lanceunifiedmultimodalmodeling,
|
||||
title = {Lance: Unified Multimodal Modeling by Multi-Task Synergy},
|
||||
author = {Fengyi Fu and Mengqi Huang and Shaojin Wu and Yunsheng Jiang and Yufei Huo and Hao Li and Yinghang Song and Fei Ding and Jianzhu Guo and Qian He and Zheren Fu and Zhendong Mao and Yongdong Zhang},
|
||||
year = {2026},
|
||||
eprint = {2605.18678},
|
||||
archivePrefix = {arXiv},
|
||||
primaryClass = {cs.CV},
|
||||
url = {https://arxiv.org/abs/2605.18678},
|
||||
}
|
||||
```
|
||||
|
||||
## 📞 联系方式
|
||||
|
||||
如有问题、反馈或合作需求,请联系 [Mengqi Huang](https://corleone-huang.github.io/) 和 [Jianzhu Guo](https://guojianzhu.com/)。
|
||||
@@ -0,0 +1,11 @@
|
||||
# Security and privacy
|
||||
If you discover potential security issues in the project, or believe you may have found a security issue, please notify the ByteDance security team through our [security center](https://security.bytedance.com/src) or [vulnerability reporting email](mailto:src@bytedance.com). Please **do not** create public GitHub Issues.
|
||||
|
||||
We will assess the vulnerability based on the Common Vulnerability Scoring System (CVSS 3.1). The security team will keep you updated on key progress and may request further information or guidance from you. You are welcome to contact us via the email or website mentioned above to ask questions or discuss disclosure matters.
|
||||
|
||||
To protect the security of our customers, ByteDance requests that you do not publish or share information regarding the vulnerability in any public forum, nor publish or share data involving users, until the vulnerability has been remediated and our users have been notified. Please understand that the time required for remediation depends on the severity of the vulnerability and the scope of the impact.
|
||||
|
||||
Individuals, companies, and security teams may wish to publish security advisories on their own websites or other forums. Please contact us via the email or website mentioned above prior to publication to discuss the information that can be disclosed and to coordinate the disclosure timeline.
|
||||
|
||||
# Bug Bounty Reward
|
||||
[For the policy of bug bounty reward](https://bytedance.larkoffice.com/docx/ZstQd7bbooDctqxBCAmcFasOngd), if you have any questions about the rules, please contact [https://src.bytedance.com/home](https://src.bytedance.com/home) for consultation.
|
||||
|
After Width: | Height: | Size: 1.3 MiB |
@@ -0,0 +1,18 @@
|
||||
# 2026-05-26
|
||||
|
||||
### Updates
|
||||
|
||||
- **Gradio demo support:** We have added a Gradio-based demo for running and testing the model through an interactive web interface.
|
||||
- **Multimodal inference tasks:** The Gradio interface now supports **Text-to-Video Generation**, **Image-to-Video Generation**, **Video Edit**, **Video Understanding**, **Text-to-Image Generation**, **Image Edit**, and **Image Understanding** in a unified UI.
|
||||
- **Local deployment:** The Gradio app can be launched locally with the following command, making it easier to try the model without writing additional inference scripts.
|
||||
|
||||
```bash
|
||||
python3 lance_gradio.py --server-name 0.0.0.0 --server-port 7860
|
||||
```
|
||||
|
||||
|
||||
<p align="center">
|
||||
<img src="./demo-05-26.webp" alt="Lance Gradio Demo" width="960">
|
||||
<br>
|
||||
Unified Multimodal Inference in the Gradio Interface
|
||||
</p>
|
||||
@@ -0,0 +1,43 @@
|
||||
# 2026-05-29
|
||||
|
||||
### Updates
|
||||
|
||||
- **Image-to-Video generation:** We have added support for **Image-to-Video generation**.
|
||||
- **Prompt-conditioned motion:** The task uses an input first-frame image together with a text prompt, keeping the image content as the visual anchor while generating temporally coherent motion.
|
||||
- **Optional prompt enhancement:** `ENHANCE_PROMPT` can be enabled for T2V/I2V prompt rewrite. For I2V, the rewrite uses both the input text and the first-frame image.
|
||||
|
||||
```bash
|
||||
bash inference_lance.sh \
|
||||
--TASK_NAME i2v \
|
||||
--MODEL_PATH downloads/Lance_3B_Video \
|
||||
--RESOLUTION video_480p \
|
||||
--NUM_FRAMES 61 \
|
||||
--VIDEO_HEIGHT 480 \
|
||||
--VIDEO_WIDTH 848 \
|
||||
--SAVE_PATH_GEN results/i2v
|
||||
```
|
||||
|
||||
### Examples
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th align="center">First Frame</th>
|
||||
<th align="center">Generated Video</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="45%">
|
||||
<img src="../../../config/examples/text_image_to_video_examples/00001.png" alt="I2V case 1 first frame" width="100%">
|
||||
</td>
|
||||
<td align="center" width="55%">
|
||||
<img src="../../../assets/text-image-to-video/000001.gif" alt="I2V case 1 generated video" width="100%">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="45%">
|
||||
<img src="../../../config/examples/text_image_to_video_examples/00006.png" alt="I2V case 2 first frame" width="100%">
|
||||
</td>
|
||||
<td align="center" width="55%">
|
||||
<img src="../../../assets/text-image-to-video/000006.gif" alt="I2V case 2 generated video" width="100%">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
After Width: | Height: | Size: 880 KiB |
|
After Width: | Height: | Size: 449 KiB |
|
After Width: | Height: | Size: 123 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 110 KiB |
|
After Width: | Height: | Size: 926 KiB |
|
After Width: | Height: | Size: 218 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 450 KiB |
|
After Width: | Height: | Size: 1.6 MiB |
|
After Width: | Height: | Size: 3.3 MiB |
|
After Width: | Height: | Size: 3.1 MiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 1.4 MiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 1.2 MiB |
|
After Width: | Height: | Size: 1.7 MiB |
|
After Width: | Height: | Size: 1.4 MiB |
|
After Width: | Height: | Size: 1.2 MiB |
|
After Width: | Height: | Size: 1.7 MiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 1.4 MiB |
|
After Width: | Height: | Size: 799 KiB |
|
After Width: | Height: | Size: 1.5 MiB |
|
After Width: | Height: | Size: 1.3 MiB |
|
After Width: | Height: | Size: 765 KiB |
|
After Width: | Height: | Size: 1021 KiB |
|
After Width: | Height: | Size: 2.9 MiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 1.4 MiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 166 KiB |
|
After Width: | Height: | Size: 1.5 MiB |
@@ -0,0 +1,57 @@
|
||||
[Chinese Version](./README_zh.md)
|
||||
|
||||
# DPG Image Generation Evaluation
|
||||
|
||||
Benchmark evaluation scripts for DPG based on the Lance model.
|
||||
|
||||
## Files
|
||||
|
||||
- `sample_DPG.py` - Python inference script
|
||||
- `sample_DPG.sh` - Launch script
|
||||
- `DPG.jsonl` - Evaluation dataset
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Basic Usage
|
||||
|
||||
```bash
|
||||
bash benchmarks/image_gen/DPG/sample_DPG.sh
|
||||
```
|
||||
|
||||
Before running, edit the "Inference Parameters" section at the top of `benchmarks/image_gen/DPG/sample_DPG.sh`.
|
||||
|
||||
## Parameters
|
||||
|
||||
| Parameter | Default | Description |
|
||||
|------|--------|------|
|
||||
| `TASK_NAME` | `t2i` | Task type. DPG is fixed to image generation. |
|
||||
| `VALIDATION_NUM_TIMESTEPS` | 50 | Number of inference steps. |
|
||||
| `VALIDATION_TIMESTEP_SHIFT` | 3.5 | Timestep shift. |
|
||||
| `EVALUATION_SEED` | 42 | Random seed. |
|
||||
| `CFG_TEXT_SCALE` | 4.0 | CFG scale. |
|
||||
| `CFG_INTERVAL_START` | 0.4 | Start of the CFG interval. |
|
||||
| `CFG_INTERVAL_END` | 1.0 | End of the CFG interval. |
|
||||
| `SAMPLE_NUM_PER_PROMPT` | 4 | Number of images generated per case for the final grid. |
|
||||
| `USE_KVCACHE` | `true` | Whether to enable KV cache. |
|
||||
| `NUM_GPUS` | 8 | Number of GPUs. |
|
||||
| `VIDEO_HEIGHT`/`VIDEO_WIDTH` | 768 | Image resolution. |
|
||||
| `MODEL_PATH` | `downloads/Lance_3B` | Path to the Lance checkpoint. |
|
||||
| `VAL_DATASET_CONFIG_FILE` | `benchmarks/image_gen/DPG/DPG.jsonl` | Path to the evaluation data. |
|
||||
|
||||
## How To Modify
|
||||
|
||||
- Edit the "Inference Parameters" section at the top of `benchmarks/image_gen/DPG/sample_DPG.sh`.
|
||||
- After updating the parameters, run `bash benchmarks/image_gen/DPG/sample_DPG.sh` directly.
|
||||
- `SAVE_PATH_GEN` is generated automatically from the script parameters and does not need to be set manually.
|
||||
|
||||
## Output Format
|
||||
|
||||
Results are saved in a structure like this:
|
||||
|
||||
```
|
||||
results/DPG_ts50_tss3.5_seed42_cfg4.0_kvcache_20260507_120000/
|
||||
├── 0.png
|
||||
├── 1.png
|
||||
├── 2.png
|
||||
└── ...
|
||||
```
|
||||
@@ -0,0 +1,57 @@
|
||||
[English Version](./README.md)
|
||||
|
||||
# DPG 图像生成评估
|
||||
|
||||
基于 Lance 模型的 DPG 评估基准测试脚本。
|
||||
|
||||
## 文件说明
|
||||
|
||||
- `sample_DPG.py` - 推理 Python 脚本
|
||||
- `sample_DPG.sh` - 启动脚本
|
||||
- `DPG.jsonl` - 评估数据集
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 基本用法
|
||||
|
||||
```bash
|
||||
bash benchmarks/image_gen/DPG/sample_DPG.sh
|
||||
```
|
||||
|
||||
运行前请直接修改 `benchmarks/image_gen/DPG/sample_DPG.sh` 顶部的“推理参数配置”区。
|
||||
|
||||
## 参数说明
|
||||
|
||||
| 参数 | 默认值 | 说明 |
|
||||
|------|--------|------|
|
||||
| `TASK_NAME` | `t2i` | 任务类型,DPG 固定为图像生成 |
|
||||
| `VALIDATION_NUM_TIMESTEPS` | 50 | 推理步数 |
|
||||
| `VALIDATION_TIMESTEP_SHIFT` | 3.5 | Timestep shift |
|
||||
| `EVALUATION_SEED` | 42 | 随机种子 |
|
||||
| `CFG_TEXT_SCALE` | 4.0 | CFG scale |
|
||||
| `CFG_INTERVAL_START` | 0.4 | CFG 区间起点 |
|
||||
| `CFG_INTERVAL_END` | 1.0 | CFG 区间终点 |
|
||||
| `SAMPLE_NUM_PER_PROMPT` | 4 | 每个 case 生成的图像数量,用于拼接最终网格图 |
|
||||
| `USE_KVCACHE` | `true` | 是否启用 KV cache |
|
||||
| `NUM_GPUS` | 8 | GPU 数量 |
|
||||
| `VIDEO_HEIGHT`/`VIDEO_WIDTH` | 768 | 图像分辨率 |
|
||||
| `MODEL_PATH` | `downloads/Lance_3B` | Lance checkpoint 路径 |
|
||||
| `VAL_DATASET_CONFIG_FILE` | `benchmarks/image_gen/DPG/DPG.jsonl` | 评估数据路径 |
|
||||
|
||||
## 修改方式
|
||||
|
||||
- 请手动编辑 `benchmarks/image_gen/DPG/sample_DPG.sh` 顶部的“推理参数配置”区。
|
||||
- 修改完成后,直接运行 `bash benchmarks/image_gen/DPG/sample_DPG.sh`。
|
||||
- `SAVE_PATH_GEN` 由脚本根据顶部参数自动生成,不需要手动设置。
|
||||
|
||||
## 保存格式
|
||||
|
||||
结果会按照以下结构保存:
|
||||
|
||||
```
|
||||
results/DPG_ts50_tss3.5_seed42_cfg4.0_kvcache_20260507_120000/
|
||||
├── 0.png
|
||||
├── 1.png
|
||||
├── 2.png
|
||||
└── ...
|
||||
```
|
||||
@@ -0,0 +1,509 @@
|
||||
# Copyright (c) 2025 ByteDance Ltd. and/or its affiliates.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
# coding: utf-8
|
||||
|
||||
import warnings
|
||||
warnings.filterwarnings("ignore", message=".*pkg_resources is deprecated.*", category=UserWarning)
|
||||
warnings.filterwarnings("ignore", category=FutureWarning, module="diffusers.models.transformers.transformer_2d")
|
||||
import os
|
||||
os.environ["TF_CPP_MIN_LOG_LEVEL"] = "2"
|
||||
os.environ["TF_ENABLE_ONEDNN_OPTS"] = "0"
|
||||
|
||||
import os.path as osp
|
||||
from copy import deepcopy
|
||||
from typing import Tuple, cast, Optional
|
||||
import torch
|
||||
import torch.distributed as dist
|
||||
from torch.utils.data import DataLoader
|
||||
from transformers import HfArgumentParser, set_seed
|
||||
from transformers.models.qwen2_5_vl.configuration_qwen2_5_vl import Qwen2_5_VLVisionConfig
|
||||
from safetensors.torch import load_file
|
||||
from PIL import Image
|
||||
from torchvision.utils import make_grid
|
||||
import numpy as np
|
||||
from tqdm import trange
|
||||
|
||||
from data.dataset_base import DataConfig, simple_custom_collate
|
||||
from data.data_utils import add_special_tokens
|
||||
from modeling.vae.wan.model import WanVideoVAE
|
||||
from modeling.lance import LanceConfig, Lance, Qwen2ForCausalLM
|
||||
from modeling.qwen2 import Qwen2Tokenizer
|
||||
from modeling.qwen2.modeling_qwen2 import Qwen2Config
|
||||
from modeling.vit.qwen2_5_vl_vit import Qwen2_5_VisionTransformerPretrainedModel
|
||||
from common.utils.misc import tuple_mul, AutoEncoderParams
|
||||
from common.utils.logging import get_logger
|
||||
from common.val.utils import make_padded_latent
|
||||
from data.datasets_custom import ValidationDataset
|
||||
from config.config_factory import ModelArguments, DataArguments, TrainingArguments, EvaluationArguments, get_model_path
|
||||
|
||||
|
||||
def init_from_vlm_checkpoint(model: Qwen2ForCausalLM, model_args: ModelArguments, log_rank0):
|
||||
# NOTE: VLM initialization loads through this path.
|
||||
def load_safetensors_state_dict(folder_path):
|
||||
# Select safetensors files only and sort by filename for deterministic order.
|
||||
safetensor_files = sorted(
|
||||
f for f in os.listdir(folder_path) if f.endswith(".safetensors")
|
||||
)
|
||||
state_dict = {}
|
||||
for filename in safetensor_files:
|
||||
file_path = osp.join(folder_path, filename)
|
||||
state_dict.update(load_file(file_path))
|
||||
return state_dict
|
||||
|
||||
state_dict = load_safetensors_state_dict(model_args.llm_path)
|
||||
|
||||
# Rename parameters to match Lance parameter names.
|
||||
for k in list(state_dict.keys()):
|
||||
if "visual" in k: # ViT and connector
|
||||
state_dict[k.replace("visual", "vit_model")] = state_dict.pop(k)
|
||||
else:
|
||||
# Add the language_model prefix.
|
||||
state_dict["language_model." + k] = state_dict.pop(k)
|
||||
|
||||
result = model.load_state_dict(state_dict, strict=False)
|
||||
|
||||
clean_memory(state_dict)
|
||||
|
||||
|
||||
def init_from_model_path_if_needed(model: Qwen2ForCausalLM, model_args: ModelArguments):
|
||||
# Always load the trained Lance checkpoint from model_path.
|
||||
path_dir = model_args.model_path
|
||||
ema_path = osp.join(path_dir, "ema.safetensors")
|
||||
model_path = osp.join(path_dir, "model.safetensors")
|
||||
|
||||
|
||||
model_path_ft = None
|
||||
if osp.exists(model_path):
|
||||
model_path_ft = model_path
|
||||
elif osp.exists(ema_path):
|
||||
model_path_ft = ema_path
|
||||
|
||||
if model_path_ft:
|
||||
model_state_dict = load_file(model_path_ft, device="cpu")
|
||||
else:
|
||||
raise FileNotFoundError(
|
||||
f"Fine-tuning failed: No valid checkpoint ('ema.safetensors' or 'model.safetensors') found in {path_dir}"
|
||||
)
|
||||
|
||||
# NOTE: position embeds are fixed sinusoidal embeddings, so we can just pop it off,
|
||||
# which makes it easier to adapt to different resolutions.
|
||||
if 'latent_pos_embed.pos_embed' in model_state_dict:
|
||||
model_state_dict.pop('latent_pos_embed.pos_embed')
|
||||
|
||||
msg = model.load_state_dict(model_state_dict, strict=False)
|
||||
|
||||
clean_memory(model_state_dict)
|
||||
|
||||
return msg
|
||||
|
||||
|
||||
def clean_memory(*objects):
|
||||
"""Clear memory and release the GPU cache."""
|
||||
for obj in objects:
|
||||
del obj
|
||||
import gc
|
||||
gc.collect()
|
||||
if torch.cuda.is_available():
|
||||
torch.cuda.empty_cache()
|
||||
|
||||
|
||||
def decode_video_tensor_for_dpg(v_list):
|
||||
"""
|
||||
Decode video tensors for DPG while preserving the original save format.
|
||||
"""
|
||||
N_target = len(v_list)
|
||||
if N_target != 1:
|
||||
from einops import rearrange
|
||||
padded_videos_latent = [v.permute(1, 0, 2, 3) for v in v_list]
|
||||
v_tc_hw = rearrange(padded_videos_latent, "n t c h w -> t c h (n w)")
|
||||
else:
|
||||
v_tc_hw = v_list[0].permute(1, 0, 2, 3)
|
||||
|
||||
v_tc_hw = v_tc_hw.float().clip(-1, 1).mul_(0.5).add_(0.5).mul_(255).round().clamp(0, 255).to(torch.uint8)
|
||||
return v_tc_hw
|
||||
|
||||
|
||||
def resolve_dpg_paths(
|
||||
model_args: ModelArguments,
|
||||
data_args: DataArguments,
|
||||
) -> None:
|
||||
if not model_args.model_path:
|
||||
raise ValueError("DPG requires --model_path to be provided explicitly.")
|
||||
|
||||
if not model_args.llm_path:
|
||||
model_args.llm_path = model_args.model_path
|
||||
|
||||
if not model_args.vit_path:
|
||||
model_args.vit_path = get_model_path("vit.qwen2_5_vl")
|
||||
|
||||
if not data_args.val_dataset_config_file:
|
||||
data_args.val_dataset_config_file = get_model_path("dpg.data")
|
||||
|
||||
|
||||
def validate_on_fixed_batch(
|
||||
fsdp_model: Lance,
|
||||
vae_model: Optional[WanVideoVAE],
|
||||
tokenizer: Qwen2Tokenizer,
|
||||
val_data_cpu: dict,
|
||||
training_args: TrainingArguments,
|
||||
model_args: ModelArguments,
|
||||
data_args: DataArguments,
|
||||
inference_args: EvaluationArguments,
|
||||
curr_step: int,
|
||||
logger,
|
||||
new_token_ids,
|
||||
image_token_id: int,
|
||||
device: int,
|
||||
save_source_video: bool = False,
|
||||
save_path_gen: str = "",
|
||||
save_path_gt: str = "",
|
||||
sample_num_per_prompt: int = 1,
|
||||
):
|
||||
"""
|
||||
Validation logic that preserves the same save format as the original file.
|
||||
"""
|
||||
# Check whether distributed execution has been initialized.
|
||||
if dist.is_initialized():
|
||||
is_rank0 = (dist.get_rank() == 0)
|
||||
else:
|
||||
is_rank0 = True
|
||||
|
||||
log_rank0 = logger.info if is_rank0 else (lambda *_: None)
|
||||
val_data = val_data_cpu.cuda(device).to_dict()
|
||||
|
||||
with torch.no_grad(), torch.amp.autocast("cuda", enabled=True, dtype=torch.bfloat16):
|
||||
# Compute padded_latent.
|
||||
if "padded_videos" in val_data.keys():
|
||||
val_data["padded_latent"] = make_padded_latent(val_data["padded_videos"], val_data["vae_data_mode"], vae_model)
|
||||
|
||||
# -------------------- GEN branch --------------------
|
||||
tensor_list_for_grid = []
|
||||
loop_iterator = trange(sample_num_per_prompt) if is_rank0 else range(sample_num_per_prompt)
|
||||
|
||||
# Support resumable generation.
|
||||
save_name = f"{save_path_gen}/{val_data['index']}.png"
|
||||
if os.path.exists(save_name):
|
||||
return None
|
||||
|
||||
for sample_num_per_prompt_index in loop_iterator:
|
||||
# Sample generations with the original parameters.
|
||||
params = {
|
||||
"val_packed_text_ids": val_data["packed_text_ids"],
|
||||
"val_packed_text_indexes": val_data["packed_text_indexes"],
|
||||
"val_sample_lens": val_data["sample_lens"],
|
||||
"val_packed_position_ids": val_data["packed_position_ids"],
|
||||
"val_split_lens": val_data["split_lens"],
|
||||
"val_attn_modes": val_data["attn_modes"],
|
||||
"val_sample_N_target": val_data["sample_N_target"],
|
||||
"val_packed_vae_token_indexes": val_data["packed_vae_token_indexes"],
|
||||
"timestep_shift": training_args.validation_timestep_shift,
|
||||
"num_timesteps": training_args.validation_num_timesteps,
|
||||
"val_mse_loss_indexes": val_data.get("mse_loss_indexes", None),
|
||||
"val_padded_latent": val_data["padded_latent"],
|
||||
"video_sizes": val_data["video_sizes"],
|
||||
"cfg_text_scale": model_args.cfg_text_scale,
|
||||
"cfg_interval": training_args.cfg_interval,
|
||||
"cfg_renorm_min": training_args.cfg_renorm_min,
|
||||
"cfg_renorm_type": training_args.cfg_renorm_type,
|
||||
"device": device,
|
||||
"dtype": torch.bfloat16,
|
||||
"new_token_ids": new_token_ids,
|
||||
"max_samples": training_args.validation_max_samples,
|
||||
"validation_noise_seed": training_args.validation_noise_seed + sample_num_per_prompt_index,
|
||||
"apply_chat_template": training_args.apply_chat_template,
|
||||
"apply_qwen_2_5_vl_pos_emb": training_args.apply_qwen_2_5_vl_pos_emb,
|
||||
"image_token_id": image_token_id,
|
||||
"val_packed_vit_token_indexes": val_data.get("packed_vit_token_indexes", None),
|
||||
"val_packed_vit_tokens": val_data.get("packed_vit_tokens", None),
|
||||
"vit_video_grid_thw": val_data.get("vit_video_grid_thw", None),
|
||||
"vae_video_grid_thw": val_data["vae_video_grid_thw"],
|
||||
"video_grid_thw": val_data.get("video_grid_thw", None),
|
||||
"caption": val_data.get("caption", None),
|
||||
"sample_task": val_data["sample_task"],
|
||||
"sample_modality": val_data["sample_modality"],
|
||||
"cfg_type": training_args.cfg_type,
|
||||
"cfg_uncond_token_id": training_args.cfg_uncond_token_id,
|
||||
"index": val_data["index"],
|
||||
"val_padded_videos": val_data["padded_videos"] if save_source_video else None,
|
||||
}
|
||||
|
||||
if training_args.use_KVcache:
|
||||
denoise_latent, captions, padded_videos, index = fsdp_model.validation_gen_KVcache(**params)
|
||||
else:
|
||||
denoise_latent, captions, padded_videos, index = fsdp_model.validation_gen(**params)
|
||||
|
||||
# Decode and save.
|
||||
for i_val, latent in enumerate(denoise_latent):
|
||||
v_list = [vae_model.vae_decode([latent_])[0] for latent_ in latent]
|
||||
|
||||
# Keep the original save format.
|
||||
v_thwc = decode_video_tensor_for_dpg(v_list)
|
||||
|
||||
# Use frame 0 directly.
|
||||
if v_thwc.shape[0] == 1:
|
||||
tensor_list_for_grid.append(v_thwc.squeeze(0).cpu())
|
||||
else:
|
||||
raise NotImplementedError("Image saving is required")
|
||||
|
||||
# Keep the original save format.
|
||||
grid_tensor = make_grid(tensor_list_for_grid, nrow=int(np.sqrt(sample_num_per_prompt)), padding=0, pad_value=255)
|
||||
grid_numpy = grid_tensor.permute(1, 2, 0).numpy()
|
||||
Image.fromarray(grid_numpy).save(save_name)
|
||||
|
||||
|
||||
def main():
|
||||
# ========================= Env setup ==============================
|
||||
assert torch.cuda.is_available()
|
||||
if "RANK" in os.environ and "WORLD_SIZE" in os.environ:
|
||||
dist.init_process_group("nccl")
|
||||
GLOBAL_RANK = dist.get_rank()
|
||||
WORLD_SIZE = dist.get_world_size()
|
||||
else:
|
||||
GLOBAL_RANK = 0
|
||||
WORLD_SIZE = 1
|
||||
|
||||
LOCAL_RANK = GLOBAL_RANK % torch.cuda.device_count()
|
||||
DEVICE = LOCAL_RANK
|
||||
torch.cuda.set_device(DEVICE)
|
||||
|
||||
# ========================= Args and logger setup ==============================
|
||||
parser = HfArgumentParser((ModelArguments, DataArguments, EvaluationArguments))
|
||||
model_args, data_args, inference_args = cast(
|
||||
Tuple[ModelArguments, DataArguments, EvaluationArguments],
|
||||
parser.parse_args_into_dataclasses(),
|
||||
)
|
||||
training_args = inference_args
|
||||
|
||||
# ========================= DPG path resolution ==============================
|
||||
resolve_dpg_paths(model_args, data_args)
|
||||
|
||||
# NOTE: validation_noise_seed matches validation_data_seed.
|
||||
training_args.validation_noise_seed = inference_args.evaluation_seed
|
||||
training_args.validation_data_seed = inference_args.evaluation_seed
|
||||
logger = get_logger()
|
||||
log_rank0 = print if GLOBAL_RANK == 0 else (lambda *_: None)
|
||||
|
||||
# Set seed:
|
||||
seed = training_args.global_seed * WORLD_SIZE + GLOBAL_RANK
|
||||
set_seed(seed)
|
||||
|
||||
# ========================= LLM model setup ==============================
|
||||
llm_config: Qwen2Config = Qwen2Config.from_json_file(osp.join(model_args.model_path, "llm_config.json"))
|
||||
|
||||
llm_config.layer_module = model_args.layer_module
|
||||
llm_config.qk_norm = model_args.llm_qk_norm
|
||||
llm_config.qk_norm_und = model_args.llm_qk_norm_und
|
||||
llm_config.qk_norm_gen = model_args.llm_qk_norm_gen
|
||||
|
||||
llm_config.tie_word_embeddings = model_args.tie_word_embeddings
|
||||
llm_config.freeze_und = training_args.freeze_und
|
||||
llm_config.apply_qwen_2_5_vl_pos_emb = training_args.apply_qwen_2_5_vl_pos_emb
|
||||
|
||||
language_model: Qwen2ForCausalLM = Qwen2ForCausalLM(llm_config)
|
||||
|
||||
if training_args.visual_und:
|
||||
if model_args.vit_type in ("qwen2_5_vl", "qwen_2_5_vl_original"):
|
||||
vit_config = Qwen2_5_VLVisionConfig.from_pretrained(model_args.vit_path)
|
||||
vit_model = Qwen2_5_VisionTransformerPretrainedModel(vit_config)
|
||||
vit_weights = load_file(osp.join(model_args.vit_path, "vit.safetensors"))
|
||||
vit_model.load_state_dict(vit_weights, strict=True)
|
||||
else:
|
||||
raise ValueError(f"Unsupported vit_type: {model_args.vit_type}")
|
||||
|
||||
clean_memory(vit_weights)
|
||||
|
||||
if training_args.visual_gen:
|
||||
vae_model = WanVideoVAE()
|
||||
vae_config: AutoEncoderParams = deepcopy(vae_model.vae_config)
|
||||
else:
|
||||
vae_model = None
|
||||
vae_config = None
|
||||
|
||||
# Lance config.
|
||||
config = LanceConfig(
|
||||
visual_gen=training_args.visual_gen,
|
||||
visual_und=training_args.visual_und,
|
||||
llm_config=llm_config,
|
||||
vit_config=vit_config if training_args.visual_und else None,
|
||||
vae_config=vae_config if training_args.visual_gen else None,
|
||||
latent_patch_size=model_args.latent_patch_size,
|
||||
max_num_frames=model_args.max_num_frames,
|
||||
max_latent_size=model_args.max_latent_size,
|
||||
vit_max_num_patch_per_side=model_args.vit_max_num_patch_per_side,
|
||||
connector_act=model_args.connector_act,
|
||||
interpolate_pos=model_args.interpolate_pos,
|
||||
timestep_shift=training_args.timestep_shift,
|
||||
)
|
||||
model: Lance = Lance(
|
||||
language_model=language_model,
|
||||
vit_model=vit_model if training_args.visual_und else None,
|
||||
vit_type=model_args.vit_type,
|
||||
config=config,
|
||||
training_args=training_args,
|
||||
)
|
||||
model = model.to(DEVICE)
|
||||
|
||||
# Setup tokenizer for model:
|
||||
tokenizer: Qwen2Tokenizer = Qwen2Tokenizer.from_pretrained(model_args.model_path)
|
||||
|
||||
tokenizer, new_token_ids, num_new_tokens = add_special_tokens(tokenizer)
|
||||
|
||||
# Initialize MoE before loading the checkpoint.
|
||||
if training_args.copy_init_moe:
|
||||
language_model.init_moe()
|
||||
|
||||
init_from_model_path_if_needed(model, model_args)
|
||||
|
||||
# Resize after loading the checkpoint.
|
||||
if num_new_tokens > 0:
|
||||
model.language_model.resize_token_embeddings(len(tokenizer))
|
||||
model.config.llm_config.vocab_size = len(tokenizer)
|
||||
model.language_model.config.vocab_size = len(tokenizer)
|
||||
|
||||
if model_args.vit_type.lower() == "qwen2_5_vl":
|
||||
from common.model.hacks import hack_qwen2_5_vl_config
|
||||
language_model = hack_qwen2_5_vl_config(language_model)
|
||||
|
||||
image_token_id = language_model.config.video_token_id
|
||||
new_token_ids.update({"image_token_id": image_token_id})
|
||||
model.update_tokenizer(tokenizer=tokenizer)
|
||||
|
||||
if model_args.tie_word_embeddings:
|
||||
model.language_model.untie_lm_head()
|
||||
model.language_model.copy_new_token_rows_to_lm_head(num_new_tokens)
|
||||
|
||||
model_args.tie_word_embeddings = False
|
||||
llm_config.tie_word_embeddings = False
|
||||
else:
|
||||
assert model.language_model.get_input_embeddings().weight.data.data_ptr() != model.language_model.get_output_embeddings().weight.data.data_ptr(), 'tie_word_embeddings conflict'
|
||||
|
||||
model = model.to(device=DEVICE, dtype=torch.bfloat16)
|
||||
model.eval()
|
||||
if vae_model is not None and hasattr(vae_model, "eval"):
|
||||
vae_model.eval()
|
||||
|
||||
# Setup packed dataloader with a simple DataConfig instance.
|
||||
dataset_config = DataConfig(grouped_datasets={})
|
||||
|
||||
# Configure basic parameters.
|
||||
dataset_config.num_frames = inference_args.num_frames
|
||||
dataset_config.H = inference_args.video_height
|
||||
dataset_config.W = inference_args.video_width
|
||||
dataset_config.task = inference_args.task
|
||||
dataset_config.resolution = inference_args.resolution
|
||||
dataset_config.text_template = inference_args.text_template
|
||||
|
||||
# Configure VIT parameters.
|
||||
if training_args.visual_und:
|
||||
dataset_config.vit_patch_size = model_args.vit_patch_size
|
||||
dataset_config.vit_patch_size_temporal = model_args.vit_patch_size_temporal
|
||||
dataset_config.vit_max_num_patch_per_side = model_args.vit_max_num_patch_per_side
|
||||
|
||||
# Configure VAE parameters.
|
||||
if training_args.visual_gen and vae_config:
|
||||
assert len(model_args.latent_patch_size) == 3, "len(latent_patch_size) must be 3"
|
||||
vae_downsample = tuple_mul(
|
||||
model_args.latent_patch_size, (vae_config.downsample_temporal, vae_config.downsample_spatial, vae_config.downsample_spatial)
|
||||
)
|
||||
dataset_config.latent_patch_size = model_args.latent_patch_size
|
||||
dataset_config.vae_downsample = vae_downsample
|
||||
dataset_config.max_latent_size = model_args.max_latent_size
|
||||
dataset_config.max_num_frames = model_args.max_num_frames
|
||||
|
||||
# Share dropout settings.
|
||||
dataset_config.text_cond_dropout_prob = model_args.text_cond_dropout_prob
|
||||
dataset_config.vae_cond_dropout_prob = model_args.vae_cond_dropout_prob
|
||||
dataset_config.vit_cond_dropout_prob = model_args.vit_cond_dropout_prob
|
||||
|
||||
# Create dataset.
|
||||
val_dataset = ValidationDataset(
|
||||
jsonl_path= data_args.val_dataset_config_file,
|
||||
tokenizer=tokenizer,
|
||||
data_args=data_args,
|
||||
model_args=model_args,
|
||||
training_args=training_args,
|
||||
new_token_ids=new_token_ids,
|
||||
dataset_config=dataset_config,
|
||||
local_rank=GLOBAL_RANK,
|
||||
world_size=WORLD_SIZE,
|
||||
)
|
||||
|
||||
val_loader = DataLoader(
|
||||
val_dataset,
|
||||
batch_size=1,
|
||||
num_workers=0,
|
||||
pin_memory=True,
|
||||
collate_fn=simple_custom_collate,
|
||||
drop_last=True,
|
||||
prefetch_factor=None,
|
||||
persistent_workers=False,
|
||||
multiprocessing_context=None,
|
||||
)
|
||||
|
||||
val_loader_iter = iter(val_loader)
|
||||
|
||||
if not os.path.exists(inference_args.save_path_gen):
|
||||
os.makedirs(inference_args.save_path_gen, exist_ok=True)
|
||||
|
||||
# Main loop.
|
||||
from tqdm import tqdm
|
||||
import time
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
total_batches = len(val_loader)
|
||||
pbar = tqdm(total=total_batches, desc="Validating", unit="batch", leave=True, ncols=120, disable=(GLOBAL_RANK != 0))
|
||||
start_time = time.time()
|
||||
|
||||
for i in range(total_batches):
|
||||
val_data_cpu = next(val_loader_iter)
|
||||
|
||||
validate_on_fixed_batch(
|
||||
fsdp_model=model,
|
||||
vae_model=vae_model,
|
||||
tokenizer=tokenizer,
|
||||
val_data_cpu=val_data_cpu,
|
||||
training_args=training_args,
|
||||
model_args=model_args,
|
||||
data_args=data_args,
|
||||
inference_args=inference_args,
|
||||
curr_step=0,
|
||||
logger=logger,
|
||||
new_token_ids=new_token_ids,
|
||||
image_token_id=image_token_id,
|
||||
device=DEVICE,
|
||||
save_source_video=False,
|
||||
save_path_gen=inference_args.save_path_gen,
|
||||
save_path_gt="",
|
||||
sample_num_per_prompt=inference_args.sample_num_per_prompt,
|
||||
)
|
||||
|
||||
if GLOBAL_RANK == 0:
|
||||
elapsed = time.time() - start_time
|
||||
avg_time = elapsed / (i + 1)
|
||||
eta_seconds = avg_time * (total_batches - i - 1)
|
||||
expected_finish = datetime.now() + timedelta(seconds=eta_seconds)
|
||||
finish_str = expected_finish.strftime('%Y-%m-%d %H:%M:%S')
|
||||
|
||||
pbar.set_postfix_str(f"ETA: {timedelta(seconds=int(eta_seconds))} | Finish: {finish_str}")
|
||||
pbar.update(1)
|
||||
|
||||
if GLOBAL_RANK == 0:
|
||||
pbar.close()
|
||||
|
||||
if dist.is_initialized():
|
||||
dist.destroy_process_group()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -0,0 +1,113 @@
|
||||
#!/bin/bash
|
||||
|
||||
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
||||
source "$SCRIPT_DIR/../../sample_env.sh"
|
||||
|
||||
# ========================= 推理参数配置 =========================
|
||||
TASK_NAME="t2i"
|
||||
NUM_GPUS=8
|
||||
|
||||
VALIDATION_NUM_TIMESTEPS=50
|
||||
VALIDATION_TIMESTEP_SHIFT=3.5
|
||||
EVALUATION_SEED=42
|
||||
CFG_TEXT_SCALE=4.0
|
||||
CFG_INTERVAL_START=0.4
|
||||
CFG_INTERVAL_END=1.0
|
||||
SAMPLE_NUM_PER_PROMPT=4
|
||||
USE_KVCACHE=true
|
||||
|
||||
VIDEO_HEIGHT=768
|
||||
VIDEO_WIDTH=768
|
||||
|
||||
MODEL_PATH="downloads/Lance_3B"
|
||||
VAL_DATASET_CONFIG_FILE="benchmarks/image_gen/DPG/DPG.jsonl"
|
||||
|
||||
# ========================= 自动生成路径 =========================
|
||||
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
|
||||
KVCACHE_TAG=""
|
||||
if [ "$USE_KVCACHE" = "true" ]; then
|
||||
KVCACHE_TAG="kvcache_"
|
||||
fi
|
||||
SAVE_PATH_GEN="results/DPG_ts${VALIDATION_NUM_TIMESTEPS}_tss${VALIDATION_TIMESTEP_SHIFT}_seed${EVALUATION_SEED}_cfg${CFG_TEXT_SCALE}_${KVCACHE_TAG}${TIMESTAMP}"
|
||||
|
||||
if [ -z "$MODEL_PATH" ]; then
|
||||
echo "错误: 请在脚本顶部配置区手动设置 MODEL_PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# ============================== 环境与分布式配置 ==============================
|
||||
lance_setup_common_env
|
||||
lance_setup_distributed_env "$NUM_GPUS"
|
||||
lance_setup_shard_env 1
|
||||
|
||||
# ========================= 显示任务配置 =========================
|
||||
echo "================================================"
|
||||
echo "DPG T2I 推理"
|
||||
echo "================================================"
|
||||
echo "GPU数量: ${NUM_GPUS}"
|
||||
echo "保存路径: ${SAVE_PATH_GEN}"
|
||||
echo "分辨率: ${VIDEO_HEIGHT}x${VIDEO_WIDTH}"
|
||||
echo "模型路径: ${MODEL_PATH}"
|
||||
if [ -n "$VAL_DATASET_CONFIG_FILE" ]; then
|
||||
echo "数据路径: ${VAL_DATASET_CONFIG_FILE}"
|
||||
fi
|
||||
echo ""
|
||||
echo "关键参数:"
|
||||
echo " - validation_num_timesteps: ${VALIDATION_NUM_TIMESTEPS}"
|
||||
echo " - validation_timestep_shift: ${VALIDATION_TIMESTEP_SHIFT}"
|
||||
echo " - evaluation_seed: ${EVALUATION_SEED}"
|
||||
echo " - cfg_text_scale: ${CFG_TEXT_SCALE}"
|
||||
echo " - cfg_interval: [${CFG_INTERVAL_START}, ${CFG_INTERVAL_END}]"
|
||||
echo " - sample_num_per_prompt: ${SAMPLE_NUM_PER_PROMPT}"
|
||||
echo " - use_KVcache: ${USE_KVCACHE}"
|
||||
echo "================================================"
|
||||
echo ""
|
||||
|
||||
# ============================== 执行推理 ==============================
|
||||
# 注意:请直接修改本脚本顶部的“推理参数配置”区
|
||||
accelerate launch \
|
||||
--num_machines $NUM_MACHINES \
|
||||
--num_processes $TOTAL_RANK \
|
||||
--machine_rank $MACHINE_RANK \
|
||||
--main_process_ip $MAIN_PROCESS_IP \
|
||||
--main_process_port $MAIN_PROCESS_PORT \
|
||||
--mixed_precision bf16 \
|
||||
benchmarks/image_gen/DPG/sample_DPG.py \
|
||||
--model_path "$MODEL_PATH" \
|
||||
--val_dataset_config_file "$VAL_DATASET_CONFIG_FILE" \
|
||||
--vit_type qwen_2_5_vl_original \
|
||||
--llm_qk_norm true \
|
||||
--llm_qk_norm_und true \
|
||||
--llm_qk_norm_gen true \
|
||||
--tie_word_embeddings false \
|
||||
--validation_num_timesteps $VALIDATION_NUM_TIMESTEPS \
|
||||
--validation_timestep_shift $VALIDATION_TIMESTEP_SHIFT \
|
||||
--copy_init_moe true \
|
||||
--use_flex true \
|
||||
--max_num_frames 1 \
|
||||
--max_latent_size 64 \
|
||||
--latent_patch_size 1 1 1 \
|
||||
--num_replicate $NUM_REPLICATE \
|
||||
--num_shard $NUM_SHARD \
|
||||
--visual_und true \
|
||||
--visual_gen true \
|
||||
--vae_model_type wan \
|
||||
--apply_qwen_2_5_vl_pos_emb true \
|
||||
--apply_chat_template false \
|
||||
--cfg_type 0 \
|
||||
--validation_data_seed $EVALUATION_SEED \
|
||||
--video_height $VIDEO_HEIGHT \
|
||||
--video_width $VIDEO_WIDTH \
|
||||
--task $TASK_NAME \
|
||||
--save_path_gen $SAVE_PATH_GEN \
|
||||
--resolution image_768res \
|
||||
--text_template true \
|
||||
--sample_num_per_prompt $SAMPLE_NUM_PER_PROMPT \
|
||||
--cfg_text_scale $CFG_TEXT_SCALE \
|
||||
--cfg_interval $CFG_INTERVAL_START $CFG_INTERVAL_END \
|
||||
--use_KVcache $USE_KVCACHE
|
||||
|
||||
echo ""
|
||||
echo "================================================"
|
||||
echo "完成! 结果: ${SAVE_PATH_GEN}"
|
||||
echo "================================================"
|
||||
@@ -0,0 +1,68 @@
|
||||
[Chinese Version](./README_zh.md)
|
||||
|
||||
# GEdit Image Editing Evaluation
|
||||
|
||||
Benchmark evaluation scripts for GEdit based on the Lance model.
|
||||
|
||||
## Files
|
||||
|
||||
- `sample_GEdit.py` - Python inference script
|
||||
- `sample_GEdit.sh` - Launch script
|
||||
- `GEdit_en.json` - Evaluation dataset
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Basic Usage
|
||||
|
||||
```bash
|
||||
bash benchmarks/image_gen/GEdit/sample_GEdit.sh
|
||||
```
|
||||
|
||||
Before running, edit the "Inference Parameters" section at the top of `benchmarks/image_gen/GEdit/sample_GEdit.sh`.
|
||||
Please follow `https://github.com/stepfun-ai/Step1X-Edit` to download the source images in GEdit-Bench and put all images in `benchmarks/image_gen/GEdit/images/`.
|
||||
|
||||
## Parameters
|
||||
|
||||
| Parameter | Default | Description |
|
||||
|------|--------|------|
|
||||
| `TASK_NAME` | `image_edit` | Task type. GEdit is fixed to image editing. |
|
||||
| `VALIDATION_NUM_TIMESTEPS` | 50 | Number of inference steps. |
|
||||
| `VALIDATION_TIMESTEP_SHIFT` | 3.5 | Timestep shift. |
|
||||
| `EVALUATION_SEED` | 42 | Random seed. |
|
||||
| `CFG_TEXT_SCALE` | 4.0 | CFG scale. |
|
||||
| `CFG_INTERVAL_START` | 0.4 | Start of the CFG interval. |
|
||||
| `CFG_INTERVAL_END` | 1.0 | End of the CFG interval. |
|
||||
| `USE_KVCACHE` | `true` | Whether to enable KV cache. |
|
||||
| `NUM_GPUS` | 8 | Number of GPUs. |
|
||||
| `MODEL_PATH` | `downloads/Lance_3B` | Path to the Lance checkpoint. |
|
||||
| `VAL_DATASET_CONFIG_FILE` | `benchmarks/image_gen/GEdit/GEdit_en.json` | Path to the evaluation data. |
|
||||
|
||||
## How To Modify
|
||||
|
||||
- Edit the "Inference Parameters" section at the top of `benchmarks/image_gen/GEdit/sample_GEdit.sh`.
|
||||
- After updating the parameters, run `bash benchmarks/image_gen/GEdit/sample_GEdit.sh` directly.
|
||||
- `SAVE_PATH_GEN` is generated automatically from the script parameters and does not need to be set manually.
|
||||
|
||||
## Output Format
|
||||
|
||||
Results are saved in a structure like this:
|
||||
|
||||
```
|
||||
results/GEdit_ts50_tss3.5_seed42_cfg4.0_kvcache_20260507_120000/
|
||||
├── fullset/
|
||||
│ ├── add/
|
||||
│ │ ├── en/
|
||||
│ │ │ ├── 000001.webp
|
||||
│ │ │ └── ...
|
||||
│ ├── remove/
|
||||
│ │ └── en/
|
||||
│ │ └── ...
|
||||
├── prompt.json
|
||||
```
|
||||
|
||||
Each case generates one edited image by default and stores it as a `.webp` file under `task_type/instruction_language/key`. A `prompt.json` file is also written to record the generated text.
|
||||
|
||||
## Notes
|
||||
|
||||
- If you need to switch the model, dataset, or resolution, edit the script configuration at the top directly.
|
||||
- The default result directory automatically includes key parameters and a timestamp for easier experiment tracking.
|
||||
@@ -0,0 +1,67 @@
|
||||
[English Version](./README.md)
|
||||
|
||||
# GEdit 图像编辑评估
|
||||
|
||||
基于 Lance 模型的 GEdit 评估基准测试脚本。
|
||||
|
||||
## 文件说明
|
||||
|
||||
- `sample_GEdit.py` - 推理 Python 脚本
|
||||
- `sample_GEdit.sh` - 启动脚本
|
||||
- `GEdit_en.json` - 评估数据集
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 基本用法
|
||||
|
||||
```bash
|
||||
bash benchmarks/image_gen/GEdit/sample_GEdit.sh
|
||||
```
|
||||
|
||||
运行前请直接修改 `benchmarks/image_gen/GEdit/sample_GEdit.sh` 顶部的“推理参数配置”区。
|
||||
请参考 `https://github.com/stepfun-ai/Step1X-Edit` 下载 GEdit-Bench 的源图,并将所有图片放到 `benchmarks/image_gen/GEdit/images/` 中。
|
||||
|
||||
## 参数说明
|
||||
|
||||
| 参数 | 默认值 | 说明 |
|
||||
|------|--------|------|
|
||||
| `TASK_NAME` | `image_edit` | 任务类型,GEdit 固定为图像编辑 |
|
||||
| `VALIDATION_NUM_TIMESTEPS` | 50 | 推理步数 |
|
||||
| `VALIDATION_TIMESTEP_SHIFT` | 3.5 | Timestep shift |
|
||||
| `EVALUATION_SEED` | 42 | 随机种子 |
|
||||
| `CFG_TEXT_SCALE` | 4.0 | CFG scale |
|
||||
| `CFG_INTERVAL_START` | 0.4 | CFG 区间起点 |
|
||||
| `CFG_INTERVAL_END` | 1.0 | CFG 区间终点 |
|
||||
| `USE_KVCACHE` | `true` | 是否启用 KV cache |
|
||||
| `NUM_GPUS` | 8 | GPU 数量 |
|
||||
| `MODEL_PATH` | `downloads/Lance_3B` | Lance checkpoint 路径 |
|
||||
| `VAL_DATASET_CONFIG_FILE` | `benchmarks/image_gen/GEdit/GEdit_en.json` | 评估数据路径 |
|
||||
|
||||
## 修改方式
|
||||
|
||||
- 请手动编辑 `benchmarks/image_gen/GEdit/sample_GEdit.sh` 顶部的“推理参数配置”区。
|
||||
- 修改完成后,直接运行 `bash benchmarks/image_gen/GEdit/sample_GEdit.sh`。
|
||||
- `SAVE_PATH_GEN` 由脚本根据顶部参数自动生成,不需要手动设置。
|
||||
|
||||
## 保存格式
|
||||
|
||||
结果会按照以下结构保存:
|
||||
|
||||
```
|
||||
results/GEdit_ts50_tss3.5_seed42_cfg4.0_kvcache_20260507_120000/
|
||||
├── fullset/
|
||||
│ ├── add/
|
||||
│ │ ├── en/
|
||||
│ │ │ ├── 000001.webp
|
||||
│ │ │ └── ...
|
||||
│ ├── remove/
|
||||
│ │ └── en/
|
||||
│ │ └── ...
|
||||
├── prompt.json
|
||||
```
|
||||
|
||||
每个 case 默认生成 1 张编辑结果图,并按 `task_type/instruction_language/key` 分目录保存为 `.webp` 文件;同时会额外写出 `prompt.json` 用于记录生成文本。
|
||||
## 注意事项
|
||||
|
||||
- 如果需要切换模型、数据集或分辨率,请直接修改脚本顶部配置。
|
||||
- 默认结果目录会自动包含关键参数和时间戳,方便区分不同实验。
|
||||
@@ -0,0 +1,425 @@
|
||||
# Copyright (c) 2025 ByteDance Ltd. and/or its affiliates.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
# coding: utf-8
|
||||
|
||||
import warnings
|
||||
warnings.filterwarnings("ignore", message=".*pkg_resources is deprecated.*", category=UserWarning)
|
||||
warnings.filterwarnings("ignore", category=FutureWarning, module="diffusers.models.transformers.transformer_2d")
|
||||
import os
|
||||
os.environ["TF_CPP_MIN_LOG_LEVEL"] = "2"
|
||||
os.environ["TF_ENABLE_ONEDNN_OPTS"] = "0"
|
||||
|
||||
import os.path as osp
|
||||
from copy import deepcopy
|
||||
import json
|
||||
from typing import Tuple, cast, Optional
|
||||
import torch
|
||||
import torch.distributed as dist
|
||||
from torch.utils.data import DataLoader
|
||||
from transformers import HfArgumentParser, set_seed
|
||||
from transformers.models.qwen2_5_vl.configuration_qwen2_5_vl import Qwen2_5_VLVisionConfig
|
||||
from safetensors.torch import load_file
|
||||
from PIL import Image
|
||||
from tqdm import trange
|
||||
|
||||
from data.dataset_base import DataConfig, simple_custom_collate
|
||||
from data.data_utils import add_special_tokens
|
||||
from modeling.vae.wan.model import WanVideoVAE
|
||||
from modeling.lance import LanceConfig, Lance, Qwen2ForCausalLM
|
||||
from modeling.qwen2 import Qwen2Tokenizer
|
||||
from modeling.qwen2.modeling_qwen2 import Qwen2Config
|
||||
from modeling.vit.qwen2_5_vl_vit import Qwen2_5_VisionTransformerPretrainedModel
|
||||
from common.utils.misc import tuple_mul, AutoEncoderParams
|
||||
from common.val.utils import make_padded_latent, decode_video_tensor
|
||||
from data.datasets_custom import ValidationDataset
|
||||
from config.config_factory import ModelArguments, DataArguments, TrainingArguments, EvaluationArguments, get_model_path
|
||||
|
||||
|
||||
def init_from_vlm_checkpoint(model: Qwen2ForCausalLM, model_args: ModelArguments, log_rank0):
|
||||
def load_safetensors_state_dict(folder_path):
|
||||
safetensor_files = sorted(
|
||||
f for f in os.listdir(folder_path) if f.endswith(".safetensors")
|
||||
)
|
||||
state_dict = {}
|
||||
for filename in safetensor_files:
|
||||
file_path = osp.join(folder_path, filename)
|
||||
state_dict.update(load_file(file_path))
|
||||
return state_dict
|
||||
|
||||
state_dict = load_safetensors_state_dict(model_args.llm_path)
|
||||
|
||||
for k in list(state_dict.keys()):
|
||||
if "visual" in k:
|
||||
state_dict[k.replace("visual", "vit_model")] = state_dict.pop(k)
|
||||
else:
|
||||
state_dict["language_model." + k] = state_dict.pop(k)
|
||||
|
||||
result = model.load_state_dict(state_dict, strict=False)
|
||||
del state_dict
|
||||
import gc; gc.collect(); torch.cuda.empty_cache()
|
||||
return result
|
||||
|
||||
|
||||
def init_from_model_path_if_needed(model: Qwen2ForCausalLM, model_args: ModelArguments):
|
||||
path_dir = model_args.model_path
|
||||
ema_path = osp.join(path_dir, "ema.safetensors")
|
||||
model_path = osp.join(path_dir, "model.safetensors")
|
||||
|
||||
model_path_ft = None
|
||||
if osp.exists(model_path):
|
||||
model_path_ft = model_path
|
||||
elif osp.exists(ema_path):
|
||||
model_path_ft = ema_path
|
||||
|
||||
if model_path_ft:
|
||||
model_state_dict = load_file(model_path_ft, device="cpu")
|
||||
else:
|
||||
raise FileNotFoundError(
|
||||
f"Fine-tuning failed: No valid checkpoint ('ema.safetensors' or 'model.safetensors') found in {path_dir}"
|
||||
)
|
||||
|
||||
if 'latent_pos_embed.pos_embed' in model_state_dict:
|
||||
model_state_dict.pop('latent_pos_embed.pos_embed')
|
||||
|
||||
msg = model.load_state_dict(model_state_dict, strict=False)
|
||||
del model_state_dict
|
||||
import gc; gc.collect(); torch.cuda.empty_cache()
|
||||
return msg
|
||||
|
||||
|
||||
def save_prompt_results(prompt_data_dict, save_path_gen):
|
||||
prompt_json_path = os.path.join(save_path_gen, "prompt.json")
|
||||
with open(prompt_json_path, 'w', encoding='utf-8') as f:
|
||||
json.dump(prompt_data_dict, f, ensure_ascii=False, indent=2)
|
||||
|
||||
|
||||
def resolve_gedit_paths(
|
||||
model_args: ModelArguments,
|
||||
data_args: DataArguments,
|
||||
) -> None:
|
||||
if not model_args.model_path:
|
||||
raise ValueError("GEdit requires --model_path to be provided explicitly.")
|
||||
|
||||
if not model_args.llm_path:
|
||||
model_args.llm_path = model_args.model_path
|
||||
|
||||
if not model_args.vit_path:
|
||||
model_args.vit_path = get_model_path("vit.qwen2_5_vl")
|
||||
|
||||
if not data_args.val_dataset_config_file:
|
||||
data_args.val_dataset_config_file = get_model_path("gedit.data")
|
||||
|
||||
|
||||
def validate_on_fixed_batch(
|
||||
fsdp_model: Lance,
|
||||
vae_model: Optional[WanVideoVAE],
|
||||
val_data_cpu: dict,
|
||||
training_args: TrainingArguments,
|
||||
model_args: ModelArguments,
|
||||
inference_args: EvaluationArguments,
|
||||
new_token_ids,
|
||||
image_token_id: int,
|
||||
device: int,
|
||||
save_path_gen: str = "",
|
||||
):
|
||||
val_data = val_data_cpu.cuda(device).to_dict()
|
||||
fsdp_model = fsdp_model.to(device=device, dtype=torch.bfloat16)
|
||||
|
||||
with torch.no_grad(), torch.amp.autocast("cuda", enabled=True, dtype=torch.bfloat16):
|
||||
if "padded_videos" in val_data.keys():
|
||||
val_data["padded_latent"] = make_padded_latent(val_data["padded_videos"], val_data["vae_data_mode"], vae_model)
|
||||
|
||||
metadata = val_data["additional_info"]
|
||||
task_type = metadata["task_type"]
|
||||
instruction_language = metadata["instruction_language"]
|
||||
save_key = metadata["key"]
|
||||
save_dir_current = os.path.join(save_path_gen, "fullset/{}/{}".format(task_type, instruction_language))
|
||||
os.makedirs(save_dir_current, exist_ok=True)
|
||||
|
||||
# -------------------- GEN branch --------------------
|
||||
params = {
|
||||
"val_packed_text_ids": val_data["packed_text_ids"],
|
||||
"val_packed_text_indexes": val_data["packed_text_indexes"],
|
||||
"val_sample_lens": val_data["sample_lens"],
|
||||
"val_packed_position_ids": val_data["packed_position_ids"],
|
||||
"val_split_lens": val_data["split_lens"],
|
||||
"val_attn_modes": val_data["attn_modes"],
|
||||
"val_sample_N_target": val_data["sample_N_target"],
|
||||
"val_packed_vae_token_indexes": val_data["packed_vae_token_indexes"],
|
||||
"timestep_shift": training_args.validation_timestep_shift,
|
||||
"num_timesteps": training_args.validation_num_timesteps,
|
||||
"val_mse_loss_indexes": val_data.get("mse_loss_indexes", None),
|
||||
"val_padded_latent": val_data["padded_latent"],
|
||||
"video_sizes": val_data["video_sizes"],
|
||||
"cfg_text_scale": model_args.cfg_text_scale,
|
||||
"cfg_interval": training_args.cfg_interval,
|
||||
"cfg_renorm_min": training_args.cfg_renorm_min,
|
||||
"cfg_renorm_type": training_args.cfg_renorm_type,
|
||||
"device": device,
|
||||
"dtype": torch.bfloat16,
|
||||
"new_token_ids": new_token_ids,
|
||||
"max_samples": training_args.validation_max_samples,
|
||||
"validation_noise_seed": training_args.validation_noise_seed,
|
||||
"apply_chat_template": training_args.apply_chat_template,
|
||||
"apply_qwen_2_5_vl_pos_emb": training_args.apply_qwen_2_5_vl_pos_emb,
|
||||
"image_token_id": image_token_id,
|
||||
"val_packed_vit_token_indexes": val_data.get("packed_vit_token_indexes", None),
|
||||
"val_packed_vit_tokens": val_data.get("packed_vit_tokens", None),
|
||||
"vit_video_grid_thw": val_data.get("vit_video_grid_thw", None),
|
||||
"vae_video_grid_thw": val_data["vae_video_grid_thw"],
|
||||
"video_grid_thw": val_data.get("video_grid_thw", None),
|
||||
"caption": val_data.get("caption", None),
|
||||
"sample_task": val_data["sample_task"],
|
||||
"sample_modality": val_data["sample_modality"],
|
||||
"cfg_type": training_args.cfg_type,
|
||||
"cfg_uncond_token_id": training_args.cfg_uncond_token_id,
|
||||
"index": val_data["index"],
|
||||
"val_padded_videos": None,
|
||||
}
|
||||
if inference_args.use_KVcache:
|
||||
denoise_latent, captions, _, _ = fsdp_model.validation_gen_KVcache(**params)
|
||||
else:
|
||||
denoise_latent, captions, _, _ = fsdp_model.validation_gen(**params)
|
||||
|
||||
for i_val, latent in enumerate(denoise_latent):
|
||||
target_latent = latent[-1]
|
||||
v_target = vae_model.vae_decode([target_latent])[0]
|
||||
|
||||
v_thwc = decode_video_tensor([v_target], save_path="", save_half=False)
|
||||
|
||||
if v_thwc.shape[0] != 1:
|
||||
raise NotImplementedError(
|
||||
"GEdit benchmark only supports image output (max_num_frames=1), "
|
||||
f"but got {v_thwc.shape[0]} frames."
|
||||
)
|
||||
|
||||
save_name = f'{save_dir_current}/{save_key}.webp'
|
||||
Image.fromarray(v_thwc[0]).save(save_name)
|
||||
inference_args.prompt_data_dict[save_name] = captions[i_val]
|
||||
|
||||
|
||||
def main():
|
||||
assert torch.cuda.is_available()
|
||||
if "RANK" in os.environ and "WORLD_SIZE" in os.environ:
|
||||
dist.init_process_group("nccl")
|
||||
GLOBAL_RANK = dist.get_rank()
|
||||
WORLD_SIZE = dist.get_world_size()
|
||||
else:
|
||||
GLOBAL_RANK = 0
|
||||
WORLD_SIZE = 1
|
||||
|
||||
LOCAL_RANK = GLOBAL_RANK % torch.cuda.device_count()
|
||||
DEVICE = LOCAL_RANK
|
||||
torch.cuda.set_device(DEVICE)
|
||||
|
||||
parser = HfArgumentParser((ModelArguments, DataArguments, EvaluationArguments))
|
||||
model_args, data_args, inference_args = cast(
|
||||
Tuple[ModelArguments, DataArguments, EvaluationArguments],
|
||||
parser.parse_args_into_dataclasses(),
|
||||
)
|
||||
training_args = inference_args
|
||||
|
||||
training_args.validation_noise_seed = training_args.validation_data_seed
|
||||
|
||||
log_rank0 = print if GLOBAL_RANK == 0 else (lambda *_: None)
|
||||
|
||||
seed = training_args.global_seed * WORLD_SIZE + GLOBAL_RANK
|
||||
set_seed(seed)
|
||||
|
||||
resolve_gedit_paths(model_args, data_args)
|
||||
|
||||
llm_config: Qwen2Config = Qwen2Config.from_json_file(osp.join(model_args.model_path, "llm_config.json"))
|
||||
|
||||
llm_config.layer_module = model_args.layer_module
|
||||
llm_config.qk_norm = model_args.llm_qk_norm
|
||||
llm_config.qk_norm_und = model_args.llm_qk_norm_und
|
||||
llm_config.qk_norm_gen = model_args.llm_qk_norm_gen
|
||||
llm_config.tie_word_embeddings = model_args.tie_word_embeddings
|
||||
llm_config.freeze_und = training_args.freeze_und
|
||||
llm_config.apply_qwen_2_5_vl_pos_emb = training_args.apply_qwen_2_5_vl_pos_emb
|
||||
|
||||
language_model: Qwen2ForCausalLM = Qwen2ForCausalLM(llm_config)
|
||||
|
||||
if training_args.visual_und:
|
||||
if model_args.vit_type in ("qwen2_5_vl", "qwen_2_5_vl_original"):
|
||||
vit_config = Qwen2_5_VLVisionConfig.from_pretrained(model_args.vit_path)
|
||||
vit_model = Qwen2_5_VisionTransformerPretrainedModel(vit_config)
|
||||
vit_weights = load_file(osp.join(model_args.vit_path, "vit.safetensors"))
|
||||
vit_model.load_state_dict(vit_weights, strict=True)
|
||||
else:
|
||||
raise ValueError(f"Unsupported vit_type: {model_args.vit_type}")
|
||||
|
||||
del vit_weights
|
||||
import gc; gc.collect(); torch.cuda.empty_cache()
|
||||
|
||||
if training_args.visual_gen:
|
||||
vae_model = WanVideoVAE()
|
||||
vae_config: AutoEncoderParams = deepcopy(vae_model.vae_config)
|
||||
else:
|
||||
vae_model = None
|
||||
vae_config = None
|
||||
|
||||
config = LanceConfig(
|
||||
visual_gen=training_args.visual_gen,
|
||||
visual_und=training_args.visual_und,
|
||||
llm_config=llm_config,
|
||||
vit_config=vit_config if training_args.visual_und else None,
|
||||
vae_config=vae_config if training_args.visual_gen else None,
|
||||
latent_patch_size=model_args.latent_patch_size,
|
||||
max_num_frames=model_args.max_num_frames,
|
||||
max_latent_size=model_args.max_latent_size,
|
||||
vit_max_num_patch_per_side=model_args.vit_max_num_patch_per_side,
|
||||
connector_act=model_args.connector_act,
|
||||
interpolate_pos=model_args.interpolate_pos,
|
||||
timestep_shift=training_args.timestep_shift,
|
||||
)
|
||||
model: Lance = Lance(
|
||||
language_model=language_model,
|
||||
vit_model=vit_model if training_args.visual_und else None,
|
||||
vit_type=model_args.vit_type,
|
||||
config=config,
|
||||
training_args=training_args,
|
||||
)
|
||||
model = model.to(DEVICE)
|
||||
|
||||
tokenizer: Qwen2Tokenizer = Qwen2Tokenizer.from_pretrained(model_args.model_path)
|
||||
|
||||
tokenizer, new_token_ids, num_new_tokens = add_special_tokens(tokenizer)
|
||||
|
||||
if training_args.copy_init_moe:
|
||||
language_model.init_moe()
|
||||
|
||||
init_from_model_path_if_needed(model, model_args)
|
||||
|
||||
if num_new_tokens > 0:
|
||||
model.language_model.resize_token_embeddings(len(tokenizer))
|
||||
model.config.llm_config.vocab_size = len(tokenizer)
|
||||
model.language_model.config.vocab_size = len(tokenizer)
|
||||
|
||||
if model_args.vit_type.lower() == "qwen2_5_vl":
|
||||
from common.model.hacks import hack_qwen2_5_vl_config
|
||||
language_model = hack_qwen2_5_vl_config(language_model)
|
||||
|
||||
image_token_id = language_model.config.video_token_id
|
||||
new_token_ids.update({"image_token_id": image_token_id})
|
||||
model.update_tokenizer(tokenizer=tokenizer)
|
||||
|
||||
if model_args.tie_word_embeddings:
|
||||
model.language_model.untie_lm_head()
|
||||
model.language_model.copy_new_token_rows_to_lm_head(num_new_tokens)
|
||||
|
||||
model_args.tie_word_embeddings = False
|
||||
llm_config.tie_word_embeddings = False
|
||||
else:
|
||||
assert model.language_model.get_input_embeddings().weight.data.data_ptr() != model.language_model.get_output_embeddings().weight.data.data_ptr(), 'tie_word_embeddings conflict'
|
||||
|
||||
model = model.to(device=DEVICE, dtype=torch.bfloat16)
|
||||
model.eval()
|
||||
if vae_model is not None and hasattr(vae_model, "eval"):
|
||||
vae_model.eval()
|
||||
|
||||
dataset_config = DataConfig(grouped_datasets={})
|
||||
|
||||
if training_args.visual_und:
|
||||
dataset_config.vit_patch_size = model_args.vit_patch_size
|
||||
dataset_config.vit_patch_size_temporal = model_args.vit_patch_size_temporal
|
||||
dataset_config.vit_max_num_patch_per_side = model_args.vit_max_num_patch_per_side
|
||||
if training_args.visual_gen:
|
||||
assert len(model_args.latent_patch_size) == 3, "len(latent_patch_size) must be 3"
|
||||
vae_downsample = tuple_mul(
|
||||
model_args.latent_patch_size, (vae_config.downsample_temporal, vae_config.downsample_spatial, vae_config.downsample_spatial)
|
||||
)
|
||||
dataset_config.latent_patch_size = model_args.latent_patch_size
|
||||
dataset_config.vae_downsample = vae_downsample
|
||||
dataset_config.max_latent_size = model_args.max_latent_size
|
||||
dataset_config.max_num_frames = model_args.max_num_frames
|
||||
|
||||
dataset_config.text_cond_dropout_prob = model_args.text_cond_dropout_prob
|
||||
dataset_config.vae_cond_dropout_prob = model_args.vae_cond_dropout_prob
|
||||
dataset_config.vit_cond_dropout_prob = model_args.vit_cond_dropout_prob
|
||||
|
||||
dataset_config.num_frames = inference_args.num_frames
|
||||
dataset_config.H = inference_args.video_height
|
||||
dataset_config.W = inference_args.video_width
|
||||
dataset_config.task = inference_args.task
|
||||
dataset_config.resolution = inference_args.resolution
|
||||
dataset_config.text_template = inference_args.text_template
|
||||
|
||||
val_dataset = ValidationDataset(
|
||||
jsonl_path=data_args.val_dataset_config_file,
|
||||
tokenizer=tokenizer,
|
||||
data_args=data_args,
|
||||
model_args=model_args,
|
||||
training_args=training_args,
|
||||
new_token_ids=new_token_ids,
|
||||
dataset_config=dataset_config,
|
||||
)
|
||||
|
||||
val_loader = DataLoader(
|
||||
val_dataset,
|
||||
batch_size=1,
|
||||
num_workers=0,
|
||||
pin_memory=True,
|
||||
collate_fn=simple_custom_collate,
|
||||
drop_last=True,
|
||||
)
|
||||
|
||||
val_loader_iter = iter(val_loader)
|
||||
|
||||
if not hasattr(inference_args, "prompt_data_dict"):
|
||||
inference_args.prompt_data_dict = {}
|
||||
|
||||
if not os.path.exists(inference_args.save_path_gen):
|
||||
os.makedirs(inference_args.save_path_gen)
|
||||
|
||||
for epoch in trange(len(val_loader), desc="Validating", unit="batch", leave=True, ncols=80, disable=(GLOBAL_RANK != 0)):
|
||||
try:
|
||||
val_data_cpu = next(val_loader_iter)
|
||||
except StopIteration:
|
||||
break
|
||||
|
||||
validate_on_fixed_batch(
|
||||
fsdp_model=model,
|
||||
vae_model=vae_model,
|
||||
val_data_cpu=val_data_cpu,
|
||||
training_args=training_args,
|
||||
model_args=model_args,
|
||||
inference_args=inference_args,
|
||||
new_token_ids=new_token_ids,
|
||||
image_token_id=image_token_id,
|
||||
device=DEVICE,
|
||||
save_path_gen=inference_args.save_path_gen,
|
||||
)
|
||||
|
||||
if dist.is_initialized():
|
||||
dist.barrier()
|
||||
gathered = [None for _ in range(dist.get_world_size())]
|
||||
dist.all_gather_object(gathered, inference_args.prompt_data_dict)
|
||||
|
||||
if GLOBAL_RANK == 0:
|
||||
merged = {}
|
||||
for d in gathered:
|
||||
merged.update(d)
|
||||
inference_args.prompt_data_dict = merged
|
||||
save_prompt_results(inference_args.prompt_data_dict, inference_args.save_path_gen)
|
||||
|
||||
elif GLOBAL_RANK == 0:
|
||||
save_prompt_results(inference_args.prompt_data_dict, inference_args.save_path_gen)
|
||||
|
||||
if dist.is_initialized():
|
||||
dist.destroy_process_group()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -0,0 +1,106 @@
|
||||
#!/bin/bash
|
||||
|
||||
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
||||
source "$SCRIPT_DIR/../../sample_env.sh"
|
||||
|
||||
# ========================= 推理参数配置 =========================
|
||||
TASK_NAME="image_edit"
|
||||
NUM_GPUS=8
|
||||
|
||||
VALIDATION_NUM_TIMESTEPS=50
|
||||
VALIDATION_TIMESTEP_SHIFT=3.5
|
||||
EVALUATION_SEED=42
|
||||
CFG_TEXT_SCALE=4.0
|
||||
CFG_INTERVAL_START=0.4
|
||||
CFG_INTERVAL_END=1.0
|
||||
USE_KVCACHE=true
|
||||
|
||||
MODEL_PATH="downloads/Lance_3B"
|
||||
VAL_DATASET_CONFIG_FILE="benchmarks/image_gen/GEdit/GEdit_en.json"
|
||||
|
||||
# ========================= 自动生成路径 =========================
|
||||
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
|
||||
KVCACHE_TAG=""
|
||||
if [ "$USE_KVCACHE" = "true" ]; then
|
||||
KVCACHE_TAG="kvcache_"
|
||||
fi
|
||||
SAVE_PATH_GEN="results/GEdit_ts${VALIDATION_NUM_TIMESTEPS}_tss${VALIDATION_TIMESTEP_SHIFT}_seed${EVALUATION_SEED}_cfg${CFG_TEXT_SCALE}_${KVCACHE_TAG}${TIMESTAMP}"
|
||||
|
||||
if [ -z "$MODEL_PATH" ]; then
|
||||
echo "错误: 请在脚本顶部配置区手动设置 MODEL_PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# ============================== 环境与分布式配置 ==============================
|
||||
lance_setup_common_env
|
||||
lance_setup_distributed_env "$NUM_GPUS"
|
||||
lance_setup_shard_env 1
|
||||
|
||||
# ========================= 显示任务配置 =========================
|
||||
echo "================================================"
|
||||
echo "GEdit 图像编辑评估"
|
||||
echo "================================================"
|
||||
echo "GPU数量: ${NUM_GPUS}"
|
||||
echo "保存路径: ${SAVE_PATH_GEN}"
|
||||
echo "模型路径: ${MODEL_PATH}"
|
||||
if [ -n "$VAL_DATASET_CONFIG_FILE" ]; then
|
||||
echo "数据路径: ${VAL_DATASET_CONFIG_FILE}"
|
||||
fi
|
||||
echo ""
|
||||
echo "关键参数:"
|
||||
echo " - validation_num_timesteps: ${VALIDATION_NUM_TIMESTEPS}"
|
||||
echo " - validation_timestep_shift: ${VALIDATION_TIMESTEP_SHIFT}"
|
||||
echo " - evaluation_seed: ${EVALUATION_SEED}"
|
||||
echo " - cfg_text_scale: ${CFG_TEXT_SCALE}"
|
||||
echo " - cfg_interval: [${CFG_INTERVAL_START}, ${CFG_INTERVAL_END}]"
|
||||
echo " - use_KVcache: ${USE_KVCACHE}"
|
||||
echo "================================================"
|
||||
echo ""
|
||||
|
||||
# ============================== 执行推理 ==============================
|
||||
# 注意:请直接修改本脚本顶部的“推理参数配置”区
|
||||
accelerate launch \
|
||||
--num_machines $NUM_MACHINES \
|
||||
--num_processes $TOTAL_RANK \
|
||||
--machine_rank $MACHINE_RANK \
|
||||
--main_process_ip $MAIN_PROCESS_IP \
|
||||
--main_process_port $MAIN_PROCESS_PORT \
|
||||
--mixed_precision bf16 \
|
||||
benchmarks/image_gen/GEdit/sample_GEdit.py \
|
||||
--model_path "$MODEL_PATH" \
|
||||
--val_dataset_config_file "$VAL_DATASET_CONFIG_FILE" \
|
||||
--vit_type qwen_2_5_vl_original \
|
||||
--llm_qk_norm true \
|
||||
--llm_qk_norm_und true \
|
||||
--llm_qk_norm_gen true \
|
||||
--tie_word_embeddings false \
|
||||
--validation_num_timesteps $VALIDATION_NUM_TIMESTEPS \
|
||||
--validation_timestep_shift $VALIDATION_TIMESTEP_SHIFT \
|
||||
--copy_init_moe true \
|
||||
--use_flex true \
|
||||
--max_num_frames 1 \
|
||||
--max_latent_size 64 \
|
||||
--latent_patch_size 1 1 1 \
|
||||
--num_replicate $NUM_REPLICATE \
|
||||
--num_shard $NUM_SHARD \
|
||||
--visual_und true \
|
||||
--visual_gen true \
|
||||
--vae_model_type wan \
|
||||
--apply_qwen_2_5_vl_pos_emb true \
|
||||
--apply_chat_template false \
|
||||
--cfg_type 0 \
|
||||
--validation_data_seed $EVALUATION_SEED \
|
||||
--validation_max_samples 100000 \
|
||||
--task $TASK_NAME \
|
||||
--save_path_gen $SAVE_PATH_GEN \
|
||||
--resolution image_768res \
|
||||
--text_template true \
|
||||
--sample_num_per_prompt 1 \
|
||||
--cfg_text_scale $CFG_TEXT_SCALE \
|
||||
--cfg_interval $CFG_INTERVAL_START $CFG_INTERVAL_END \
|
||||
--use_KVcache $USE_KVCACHE
|
||||
|
||||
echo ""
|
||||
echo "================================================"
|
||||
echo "完成! 结果: ${SAVE_PATH_GEN}"
|
||||
echo "================================================"
|
||||
@@ -0,0 +1,553 @@
|
||||
{"index": 0, "data": "a photo of a bench", "additional_info": {"tag": "single_object", "include": [{"class": "bench", "count": 1}], "prompt": "a photo of a bench"}}
|
||||
{"index": 1, "data": "a photo of a cow", "additional_info": {"tag": "single_object", "include": [{"class": "cow", "count": 1}], "prompt": "a photo of a cow"}}
|
||||
{"index": 2, "data": "a photo of a bicycle", "additional_info": {"tag": "single_object", "include": [{"class": "bicycle", "count": 1}], "prompt": "a photo of a bicycle"}}
|
||||
{"index": 3, "data": "a photo of a clock", "additional_info": {"tag": "single_object", "include": [{"class": "clock", "count": 1}], "prompt": "a photo of a clock"}}
|
||||
{"index": 4, "data": "a photo of a carrot", "additional_info": {"tag": "single_object", "include": [{"class": "carrot", "count": 1}], "prompt": "a photo of a carrot"}}
|
||||
{"index": 5, "data": "a photo of a suitcase", "additional_info": {"tag": "single_object", "include": [{"class": "suitcase", "count": 1}], "prompt": "a photo of a suitcase"}}
|
||||
{"index": 6, "data": "a photo of a fork", "additional_info": {"tag": "single_object", "include": [{"class": "fork", "count": 1}], "prompt": "a photo of a fork"}}
|
||||
{"index": 7, "data": "a photo of a surfboard", "additional_info": {"tag": "single_object", "include": [{"class": "surfboard", "count": 1}], "prompt": "a photo of a surfboard"}}
|
||||
{"index": 8, "data": "a photo of a refrigerator", "additional_info": {"tag": "single_object", "include": [{"class": "refrigerator", "count": 1}], "prompt": "a photo of a refrigerator"}}
|
||||
{"index": 9, "data": "a photo of a cup", "additional_info": {"tag": "single_object", "include": [{"class": "cup", "count": 1}], "prompt": "a photo of a cup"}}
|
||||
{"index": 10, "data": "a photo of a microwave", "additional_info": {"tag": "single_object", "include": [{"class": "microwave", "count": 1}], "prompt": "a photo of a microwave"}}
|
||||
{"index": 11, "data": "a photo of a potted plant", "additional_info": {"tag": "single_object", "include": [{"class": "potted plant", "count": 1}], "prompt": "a photo of a potted plant"}}
|
||||
{"index": 12, "data": "a photo of a snowboard", "additional_info": {"tag": "single_object", "include": [{"class": "snowboard", "count": 1}], "prompt": "a photo of a snowboard"}}
|
||||
{"index": 13, "data": "a photo of a zebra", "additional_info": {"tag": "single_object", "include": [{"class": "zebra", "count": 1}], "prompt": "a photo of a zebra"}}
|
||||
{"index": 14, "data": "a photo of a parking meter", "additional_info": {"tag": "single_object", "include": [{"class": "parking meter", "count": 1}], "prompt": "a photo of a parking meter"}}
|
||||
{"index": 15, "data": "a photo of a spoon", "additional_info": {"tag": "single_object", "include": [{"class": "spoon", "count": 1}], "prompt": "a photo of a spoon"}}
|
||||
{"index": 16, "data": "a photo of a skateboard", "additional_info": {"tag": "single_object", "include": [{"class": "skateboard", "count": 1}], "prompt": "a photo of a skateboard"}}
|
||||
{"index": 17, "data": "a photo of a car", "additional_info": {"tag": "single_object", "include": [{"class": "car", "count": 1}], "prompt": "a photo of a car"}}
|
||||
{"index": 18, "data": "a photo of a motorcycle", "additional_info": {"tag": "single_object", "include": [{"class": "motorcycle", "count": 1}], "prompt": "a photo of a motorcycle"}}
|
||||
{"index": 19, "data": "a photo of a traffic light", "additional_info": {"tag": "single_object", "include": [{"class": "traffic light", "count": 1}], "prompt": "a photo of a traffic light"}}
|
||||
{"index": 20, "data": "a photo of a book", "additional_info": {"tag": "single_object", "include": [{"class": "book", "count": 1}], "prompt": "a photo of a book"}}
|
||||
{"index": 21, "data": "a photo of a couch", "additional_info": {"tag": "single_object", "include": [{"class": "couch", "count": 1}], "prompt": "a photo of a couch"}}
|
||||
{"index": 22, "data": "a photo of a backpack", "additional_info": {"tag": "single_object", "include": [{"class": "backpack", "count": 1}], "prompt": "a photo of a backpack"}}
|
||||
{"index": 23, "data": "a photo of a computer keyboard", "additional_info": {"tag": "single_object", "include": [{"class": "computer keyboard", "count": 1}], "prompt": "a photo of a computer keyboard"}}
|
||||
{"index": 24, "data": "a photo of a toaster", "additional_info": {"tag": "single_object", "include": [{"class": "toaster", "count": 1}], "prompt": "a photo of a toaster"}}
|
||||
{"index": 25, "data": "a photo of a bird", "additional_info": {"tag": "single_object", "include": [{"class": "bird", "count": 1}], "prompt": "a photo of a bird"}}
|
||||
{"index": 26, "data": "a photo of a bowl", "additional_info": {"tag": "single_object", "include": [{"class": "bowl", "count": 1}], "prompt": "a photo of a bowl"}}
|
||||
{"index": 27, "data": "a photo of a dog", "additional_info": {"tag": "single_object", "include": [{"class": "dog", "count": 1}], "prompt": "a photo of a dog"}}
|
||||
{"index": 28, "data": "a photo of a tie", "additional_info": {"tag": "single_object", "include": [{"class": "tie", "count": 1}], "prompt": "a photo of a tie"}}
|
||||
{"index": 29, "data": "a photo of a laptop", "additional_info": {"tag": "single_object", "include": [{"class": "laptop", "count": 1}], "prompt": "a photo of a laptop"}}
|
||||
{"index": 30, "data": "a photo of a computer mouse", "additional_info": {"tag": "single_object", "include": [{"class": "computer mouse", "count": 1}], "prompt": "a photo of a computer mouse"}}
|
||||
{"index": 31, "data": "a photo of a sandwich", "additional_info": {"tag": "single_object", "include": [{"class": "sandwich", "count": 1}], "prompt": "a photo of a sandwich"}}
|
||||
{"index": 32, "data": "a photo of a baseball bat", "additional_info": {"tag": "single_object", "include": [{"class": "baseball bat", "count": 1}], "prompt": "a photo of a baseball bat"}}
|
||||
{"index": 33, "data": "a photo of a train", "additional_info": {"tag": "single_object", "include": [{"class": "train", "count": 1}], "prompt": "a photo of a train"}}
|
||||
{"index": 34, "data": "a photo of a cell phone", "additional_info": {"tag": "single_object", "include": [{"class": "cell phone", "count": 1}], "prompt": "a photo of a cell phone"}}
|
||||
{"index": 35, "data": "a photo of a chair", "additional_info": {"tag": "single_object", "include": [{"class": "chair", "count": 1}], "prompt": "a photo of a chair"}}
|
||||
{"index": 36, "data": "a photo of a tv", "additional_info": {"tag": "single_object", "include": [{"class": "tv", "count": 1}], "prompt": "a photo of a tv"}}
|
||||
{"index": 37, "data": "a photo of a broccoli", "additional_info": {"tag": "single_object", "include": [{"class": "broccoli", "count": 1}], "prompt": "a photo of a broccoli"}}
|
||||
{"index": 38, "data": "a photo of a bed", "additional_info": {"tag": "single_object", "include": [{"class": "bed", "count": 1}], "prompt": "a photo of a bed"}}
|
||||
{"index": 39, "data": "a photo of a skis", "additional_info": {"tag": "single_object", "include": [{"class": "skis", "count": 1}], "prompt": "a photo of a skis"}}
|
||||
{"index": 40, "data": "a photo of a handbag", "additional_info": {"tag": "single_object", "include": [{"class": "handbag", "count": 1}], "prompt": "a photo of a handbag"}}
|
||||
{"index": 41, "data": "a photo of a pizza", "additional_info": {"tag": "single_object", "include": [{"class": "pizza", "count": 1}], "prompt": "a photo of a pizza"}}
|
||||
{"index": 42, "data": "a photo of a frisbee", "additional_info": {"tag": "single_object", "include": [{"class": "frisbee", "count": 1}], "prompt": "a photo of a frisbee"}}
|
||||
{"index": 43, "data": "a photo of a scissors", "additional_info": {"tag": "single_object", "include": [{"class": "scissors", "count": 1}], "prompt": "a photo of a scissors"}}
|
||||
{"index": 44, "data": "a photo of a bottle", "additional_info": {"tag": "single_object", "include": [{"class": "bottle", "count": 1}], "prompt": "a photo of a bottle"}}
|
||||
{"index": 45, "data": "a photo of an elephant", "additional_info": {"tag": "single_object", "include": [{"class": "elephant", "count": 1}], "prompt": "a photo of an elephant"}}
|
||||
{"index": 46, "data": "a photo of a toilet", "additional_info": {"tag": "single_object", "include": [{"class": "toilet", "count": 1}], "prompt": "a photo of a toilet"}}
|
||||
{"index": 47, "data": "a photo of an oven", "additional_info": {"tag": "single_object", "include": [{"class": "oven", "count": 1}], "prompt": "a photo of an oven"}}
|
||||
{"index": 48, "data": "a photo of an orange", "additional_info": {"tag": "single_object", "include": [{"class": "orange", "count": 1}], "prompt": "a photo of an orange"}}
|
||||
{"index": 49, "data": "a photo of a person", "additional_info": {"tag": "single_object", "include": [{"class": "person", "count": 1}], "prompt": "a photo of a person"}}
|
||||
{"index": 50, "data": "a photo of a teddy bear", "additional_info": {"tag": "single_object", "include": [{"class": "teddy bear", "count": 1}], "prompt": "a photo of a teddy bear"}}
|
||||
{"index": 51, "data": "a photo of a vase", "additional_info": {"tag": "single_object", "include": [{"class": "vase", "count": 1}], "prompt": "a photo of a vase"}}
|
||||
{"index": 52, "data": "a photo of a banana", "additional_info": {"tag": "single_object", "include": [{"class": "banana", "count": 1}], "prompt": "a photo of a banana"}}
|
||||
{"index": 53, "data": "a photo of a toothbrush", "additional_info": {"tag": "single_object", "include": [{"class": "toothbrush", "count": 1}], "prompt": "a photo of a toothbrush"}}
|
||||
{"index": 54, "data": "a photo of a tv remote", "additional_info": {"tag": "single_object", "include": [{"class": "tv remote", "count": 1}], "prompt": "a photo of a tv remote"}}
|
||||
{"index": 55, "data": "a photo of a dining table", "additional_info": {"tag": "single_object", "include": [{"class": "dining table", "count": 1}], "prompt": "a photo of a dining table"}}
|
||||
{"index": 56, "data": "a photo of a stop sign", "additional_info": {"tag": "single_object", "include": [{"class": "stop sign", "count": 1}], "prompt": "a photo of a stop sign"}}
|
||||
{"index": 57, "data": "a photo of a sheep", "additional_info": {"tag": "single_object", "include": [{"class": "sheep", "count": 1}], "prompt": "a photo of a sheep"}}
|
||||
{"index": 58, "data": "a photo of a fire hydrant", "additional_info": {"tag": "single_object", "include": [{"class": "fire hydrant", "count": 1}], "prompt": "a photo of a fire hydrant"}}
|
||||
{"index": 59, "data": "a photo of an airplane", "additional_info": {"tag": "single_object", "include": [{"class": "airplane", "count": 1}], "prompt": "a photo of an airplane"}}
|
||||
{"index": 60, "data": "a photo of a giraffe", "additional_info": {"tag": "single_object", "include": [{"class": "giraffe", "count": 1}], "prompt": "a photo of a giraffe"}}
|
||||
{"index": 61, "data": "a photo of a horse", "additional_info": {"tag": "single_object", "include": [{"class": "horse", "count": 1}], "prompt": "a photo of a horse"}}
|
||||
{"index": 62, "data": "a photo of a cat", "additional_info": {"tag": "single_object", "include": [{"class": "cat", "count": 1}], "prompt": "a photo of a cat"}}
|
||||
{"index": 63, "data": "a photo of a donut", "additional_info": {"tag": "single_object", "include": [{"class": "donut", "count": 1}], "prompt": "a photo of a donut"}}
|
||||
{"index": 64, "data": "a photo of a boat", "additional_info": {"tag": "single_object", "include": [{"class": "boat", "count": 1}], "prompt": "a photo of a boat"}}
|
||||
{"index": 65, "data": "a photo of a baseball glove", "additional_info": {"tag": "single_object", "include": [{"class": "baseball glove", "count": 1}], "prompt": "a photo of a baseball glove"}}
|
||||
{"index": 66, "data": "a photo of a hair drier", "additional_info": {"tag": "single_object", "include": [{"class": "hair drier", "count": 1}], "prompt": "a photo of a hair drier"}}
|
||||
{"index": 67, "data": "a photo of a sink", "additional_info": {"tag": "single_object", "include": [{"class": "sink", "count": 1}], "prompt": "a photo of a sink"}}
|
||||
{"index": 68, "data": "a photo of a cake", "additional_info": {"tag": "single_object", "include": [{"class": "cake", "count": 1}], "prompt": "a photo of a cake"}}
|
||||
{"index": 69, "data": "a photo of a wine glass", "additional_info": {"tag": "single_object", "include": [{"class": "wine glass", "count": 1}], "prompt": "a photo of a wine glass"}}
|
||||
{"index": 70, "data": "a photo of an apple", "additional_info": {"tag": "single_object", "include": [{"class": "apple", "count": 1}], "prompt": "a photo of an apple"}}
|
||||
{"index": 71, "data": "a photo of a bus", "additional_info": {"tag": "single_object", "include": [{"class": "bus", "count": 1}], "prompt": "a photo of a bus"}}
|
||||
{"index": 72, "data": "a photo of a tennis racket", "additional_info": {"tag": "single_object", "include": [{"class": "tennis racket", "count": 1}], "prompt": "a photo of a tennis racket"}}
|
||||
{"index": 73, "data": "a photo of a knife", "additional_info": {"tag": "single_object", "include": [{"class": "knife", "count": 1}], "prompt": "a photo of a knife"}}
|
||||
{"index": 74, "data": "a photo of a hot dog", "additional_info": {"tag": "single_object", "include": [{"class": "hot dog", "count": 1}], "prompt": "a photo of a hot dog"}}
|
||||
{"index": 75, "data": "a photo of a truck", "additional_info": {"tag": "single_object", "include": [{"class": "truck", "count": 1}], "prompt": "a photo of a truck"}}
|
||||
{"index": 76, "data": "a photo of an umbrella", "additional_info": {"tag": "single_object", "include": [{"class": "umbrella", "count": 1}], "prompt": "a photo of an umbrella"}}
|
||||
{"index": 77, "data": "a photo of a sports ball", "additional_info": {"tag": "single_object", "include": [{"class": "sports ball", "count": 1}], "prompt": "a photo of a sports ball"}}
|
||||
{"index": 78, "data": "a photo of a bear", "additional_info": {"tag": "single_object", "include": [{"class": "bear", "count": 1}], "prompt": "a photo of a bear"}}
|
||||
{"index": 79, "data": "a photo of a kite", "additional_info": {"tag": "single_object", "include": [{"class": "kite", "count": 1}], "prompt": "a photo of a kite"}}
|
||||
{"index": 80, "data": "a photo of a bench and a sports ball", "additional_info": {"tag": "two_object", "include": [{"class": "bench", "count": 1}, {"class": "sports ball", "count": 1}], "prompt": "a photo of a bench and a sports ball"}}
|
||||
{"index": 81, "data": "a photo of a toothbrush and a snowboard", "additional_info": {"tag": "two_object", "include": [{"class": "toothbrush", "count": 1}, {"class": "snowboard", "count": 1}], "prompt": "a photo of a toothbrush and a snowboard"}}
|
||||
{"index": 82, "data": "a photo of a toaster and an oven", "additional_info": {"tag": "two_object", "include": [{"class": "toaster", "count": 1}, {"class": "oven", "count": 1}], "prompt": "a photo of a toaster and an oven"}}
|
||||
{"index": 83, "data": "a photo of a broccoli and a vase", "additional_info": {"tag": "two_object", "include": [{"class": "broccoli", "count": 1}, {"class": "vase", "count": 1}], "prompt": "a photo of a broccoli and a vase"}}
|
||||
{"index": 84, "data": "a photo of a tennis racket and a wine glass", "additional_info": {"tag": "two_object", "include": [{"class": "tennis racket", "count": 1}, {"class": "wine glass", "count": 1}], "prompt": "a photo of a tennis racket and a wine glass"}}
|
||||
{"index": 85, "data": "a photo of a fork and a knife", "additional_info": {"tag": "two_object", "include": [{"class": "fork", "count": 1}, {"class": "knife", "count": 1}], "prompt": "a photo of a fork and a knife"}}
|
||||
{"index": 86, "data": "a photo of a hair drier and a cake", "additional_info": {"tag": "two_object", "include": [{"class": "hair drier", "count": 1}, {"class": "cake", "count": 1}], "prompt": "a photo of a hair drier and a cake"}}
|
||||
{"index": 87, "data": "a photo of a horse and a giraffe", "additional_info": {"tag": "two_object", "include": [{"class": "horse", "count": 1}, {"class": "giraffe", "count": 1}], "prompt": "a photo of a horse and a giraffe"}}
|
||||
{"index": 88, "data": "a photo of a horse and a computer keyboard", "additional_info": {"tag": "two_object", "include": [{"class": "horse", "count": 1}, {"class": "computer keyboard", "count": 1}], "prompt": "a photo of a horse and a computer keyboard"}}
|
||||
{"index": 89, "data": "a photo of a toothbrush and a carrot", "additional_info": {"tag": "two_object", "include": [{"class": "toothbrush", "count": 1}, {"class": "carrot", "count": 1}], "prompt": "a photo of a toothbrush and a carrot"}}
|
||||
{"index": 90, "data": "a photo of a cake and a zebra", "additional_info": {"tag": "two_object", "include": [{"class": "cake", "count": 1}, {"class": "zebra", "count": 1}], "prompt": "a photo of a cake and a zebra"}}
|
||||
{"index": 91, "data": "a photo of a hair drier and a bear", "additional_info": {"tag": "two_object", "include": [{"class": "hair drier", "count": 1}, {"class": "bear", "count": 1}], "prompt": "a photo of a hair drier and a bear"}}
|
||||
{"index": 92, "data": "a photo of a knife and a zebra", "additional_info": {"tag": "two_object", "include": [{"class": "knife", "count": 1}, {"class": "zebra", "count": 1}], "prompt": "a photo of a knife and a zebra"}}
|
||||
{"index": 93, "data": "a photo of a couch and a wine glass", "additional_info": {"tag": "two_object", "include": [{"class": "couch", "count": 1}, {"class": "wine glass", "count": 1}], "prompt": "a photo of a couch and a wine glass"}}
|
||||
{"index": 94, "data": "a photo of a frisbee and a vase", "additional_info": {"tag": "two_object", "include": [{"class": "frisbee", "count": 1}, {"class": "vase", "count": 1}], "prompt": "a photo of a frisbee and a vase"}}
|
||||
{"index": 95, "data": "a photo of a book and a laptop", "additional_info": {"tag": "two_object", "include": [{"class": "book", "count": 1}, {"class": "laptop", "count": 1}], "prompt": "a photo of a book and a laptop"}}
|
||||
{"index": 96, "data": "a photo of a dining table and a bear", "additional_info": {"tag": "two_object", "include": [{"class": "dining table", "count": 1}, {"class": "bear", "count": 1}], "prompt": "a photo of a dining table and a bear"}}
|
||||
{"index": 97, "data": "a photo of a frisbee and a couch", "additional_info": {"tag": "two_object", "include": [{"class": "frisbee", "count": 1}, {"class": "couch", "count": 1}], "prompt": "a photo of a frisbee and a couch"}}
|
||||
{"index": 98, "data": "a photo of a couch and a horse", "additional_info": {"tag": "two_object", "include": [{"class": "couch", "count": 1}, {"class": "horse", "count": 1}], "prompt": "a photo of a couch and a horse"}}
|
||||
{"index": 99, "data": "a photo of a toilet and a computer mouse", "additional_info": {"tag": "two_object", "include": [{"class": "toilet", "count": 1}, {"class": "computer mouse", "count": 1}], "prompt": "a photo of a toilet and a computer mouse"}}
|
||||
{"index": 100, "data": "a photo of a bottle and a refrigerator", "additional_info": {"tag": "two_object", "include": [{"class": "bottle", "count": 1}, {"class": "refrigerator", "count": 1}], "prompt": "a photo of a bottle and a refrigerator"}}
|
||||
{"index": 101, "data": "a photo of a potted plant and a backpack", "additional_info": {"tag": "two_object", "include": [{"class": "potted plant", "count": 1}, {"class": "backpack", "count": 1}], "prompt": "a photo of a potted plant and a backpack"}}
|
||||
{"index": 102, "data": "a photo of a skateboard and a cake", "additional_info": {"tag": "two_object", "include": [{"class": "skateboard", "count": 1}, {"class": "cake", "count": 1}], "prompt": "a photo of a skateboard and a cake"}}
|
||||
{"index": 103, "data": "a photo of a broccoli and a parking meter", "additional_info": {"tag": "two_object", "include": [{"class": "broccoli", "count": 1}, {"class": "parking meter", "count": 1}], "prompt": "a photo of a broccoli and a parking meter"}}
|
||||
{"index": 104, "data": "a photo of a zebra and a bed", "additional_info": {"tag": "two_object", "include": [{"class": "zebra", "count": 1}, {"class": "bed", "count": 1}], "prompt": "a photo of a zebra and a bed"}}
|
||||
{"index": 105, "data": "a photo of an oven and a bed", "additional_info": {"tag": "two_object", "include": [{"class": "oven", "count": 1}, {"class": "bed", "count": 1}], "prompt": "a photo of an oven and a bed"}}
|
||||
{"index": 106, "data": "a photo of a baseball bat and a fork", "additional_info": {"tag": "two_object", "include": [{"class": "baseball bat", "count": 1}, {"class": "fork", "count": 1}], "prompt": "a photo of a baseball bat and a fork"}}
|
||||
{"index": 107, "data": "a photo of a vase and a spoon", "additional_info": {"tag": "two_object", "include": [{"class": "vase", "count": 1}, {"class": "spoon", "count": 1}], "prompt": "a photo of a vase and a spoon"}}
|
||||
{"index": 108, "data": "a photo of a skateboard and a sink", "additional_info": {"tag": "two_object", "include": [{"class": "skateboard", "count": 1}, {"class": "sink", "count": 1}], "prompt": "a photo of a skateboard and a sink"}}
|
||||
{"index": 109, "data": "a photo of a pizza and a bench", "additional_info": {"tag": "two_object", "include": [{"class": "pizza", "count": 1}, {"class": "bench", "count": 1}], "prompt": "a photo of a pizza and a bench"}}
|
||||
{"index": 110, "data": "a photo of a bowl and a pizza", "additional_info": {"tag": "two_object", "include": [{"class": "bowl", "count": 1}, {"class": "pizza", "count": 1}], "prompt": "a photo of a bowl and a pizza"}}
|
||||
{"index": 111, "data": "a photo of a tennis racket and a bird", "additional_info": {"tag": "two_object", "include": [{"class": "tennis racket", "count": 1}, {"class": "bird", "count": 1}], "prompt": "a photo of a tennis racket and a bird"}}
|
||||
{"index": 112, "data": "a photo of a wine glass and a bear", "additional_info": {"tag": "two_object", "include": [{"class": "wine glass", "count": 1}, {"class": "bear", "count": 1}], "prompt": "a photo of a wine glass and a bear"}}
|
||||
{"index": 113, "data": "a photo of a fork and a book", "additional_info": {"tag": "two_object", "include": [{"class": "fork", "count": 1}, {"class": "book", "count": 1}], "prompt": "a photo of a fork and a book"}}
|
||||
{"index": 114, "data": "a photo of a scissors and a bowl", "additional_info": {"tag": "two_object", "include": [{"class": "scissors", "count": 1}, {"class": "bowl", "count": 1}], "prompt": "a photo of a scissors and a bowl"}}
|
||||
{"index": 115, "data": "a photo of a laptop and a carrot", "additional_info": {"tag": "two_object", "include": [{"class": "laptop", "count": 1}, {"class": "carrot", "count": 1}], "prompt": "a photo of a laptop and a carrot"}}
|
||||
{"index": 116, "data": "a photo of a stop sign and a bottle", "additional_info": {"tag": "two_object", "include": [{"class": "stop sign", "count": 1}, {"class": "bottle", "count": 1}], "prompt": "a photo of a stop sign and a bottle"}}
|
||||
{"index": 117, "data": "a photo of a microwave and a truck", "additional_info": {"tag": "two_object", "include": [{"class": "microwave", "count": 1}, {"class": "truck", "count": 1}], "prompt": "a photo of a microwave and a truck"}}
|
||||
{"index": 118, "data": "a photo of a person and a bear", "additional_info": {"tag": "two_object", "include": [{"class": "person", "count": 1}, {"class": "bear", "count": 1}], "prompt": "a photo of a person and a bear"}}
|
||||
{"index": 119, "data": "a photo of a frisbee and a cell phone", "additional_info": {"tag": "two_object", "include": [{"class": "frisbee", "count": 1}, {"class": "cell phone", "count": 1}], "prompt": "a photo of a frisbee and a cell phone"}}
|
||||
{"index": 120, "data": "a photo of a parking meter and a teddy bear", "additional_info": {"tag": "two_object", "include": [{"class": "parking meter", "count": 1}, {"class": "teddy bear", "count": 1}], "prompt": "a photo of a parking meter and a teddy bear"}}
|
||||
{"index": 121, "data": "a photo of a tennis racket and a bicycle", "additional_info": {"tag": "two_object", "include": [{"class": "tennis racket", "count": 1}, {"class": "bicycle", "count": 1}], "prompt": "a photo of a tennis racket and a bicycle"}}
|
||||
{"index": 122, "data": "a photo of a stop sign and a motorcycle", "additional_info": {"tag": "two_object", "include": [{"class": "stop sign", "count": 1}, {"class": "motorcycle", "count": 1}], "prompt": "a photo of a stop sign and a motorcycle"}}
|
||||
{"index": 123, "data": "a photo of a fire hydrant and a tennis racket", "additional_info": {"tag": "two_object", "include": [{"class": "fire hydrant", "count": 1}, {"class": "tennis racket", "count": 1}], "prompt": "a photo of a fire hydrant and a tennis racket"}}
|
||||
{"index": 124, "data": "a photo of a scissors and a sandwich", "additional_info": {"tag": "two_object", "include": [{"class": "scissors", "count": 1}, {"class": "sandwich", "count": 1}], "prompt": "a photo of a scissors and a sandwich"}}
|
||||
{"index": 125, "data": "a photo of a pizza and a book", "additional_info": {"tag": "two_object", "include": [{"class": "pizza", "count": 1}, {"class": "book", "count": 1}], "prompt": "a photo of a pizza and a book"}}
|
||||
{"index": 126, "data": "a photo of a giraffe and a computer mouse", "additional_info": {"tag": "two_object", "include": [{"class": "giraffe", "count": 1}, {"class": "computer mouse", "count": 1}], "prompt": "a photo of a giraffe and a computer mouse"}}
|
||||
{"index": 127, "data": "a photo of a stop sign and a toaster", "additional_info": {"tag": "two_object", "include": [{"class": "stop sign", "count": 1}, {"class": "toaster", "count": 1}], "prompt": "a photo of a stop sign and a toaster"}}
|
||||
{"index": 128, "data": "a photo of a computer mouse and a zebra", "additional_info": {"tag": "two_object", "include": [{"class": "computer mouse", "count": 1}, {"class": "zebra", "count": 1}], "prompt": "a photo of a computer mouse and a zebra"}}
|
||||
{"index": 129, "data": "a photo of a chair and a bench", "additional_info": {"tag": "two_object", "include": [{"class": "chair", "count": 1}, {"class": "bench", "count": 1}], "prompt": "a photo of a chair and a bench"}}
|
||||
{"index": 130, "data": "a photo of a tv and a carrot", "additional_info": {"tag": "two_object", "include": [{"class": "tv", "count": 1}, {"class": "carrot", "count": 1}], "prompt": "a photo of a tv and a carrot"}}
|
||||
{"index": 131, "data": "a photo of a surfboard and a suitcase", "additional_info": {"tag": "two_object", "include": [{"class": "surfboard", "count": 1}, {"class": "suitcase", "count": 1}], "prompt": "a photo of a surfboard and a suitcase"}}
|
||||
{"index": 132, "data": "a photo of a computer keyboard and a laptop", "additional_info": {"tag": "two_object", "include": [{"class": "computer keyboard", "count": 1}, {"class": "laptop", "count": 1}], "prompt": "a photo of a computer keyboard and a laptop"}}
|
||||
{"index": 133, "data": "a photo of a computer keyboard and a microwave", "additional_info": {"tag": "two_object", "include": [{"class": "computer keyboard", "count": 1}, {"class": "microwave", "count": 1}], "prompt": "a photo of a computer keyboard and a microwave"}}
|
||||
{"index": 134, "data": "a photo of a scissors and a bird", "additional_info": {"tag": "two_object", "include": [{"class": "scissors", "count": 1}, {"class": "bird", "count": 1}], "prompt": "a photo of a scissors and a bird"}}
|
||||
{"index": 135, "data": "a photo of a person and a snowboard", "additional_info": {"tag": "two_object", "include": [{"class": "person", "count": 1}, {"class": "snowboard", "count": 1}], "prompt": "a photo of a person and a snowboard"}}
|
||||
{"index": 136, "data": "a photo of a cow and a horse", "additional_info": {"tag": "two_object", "include": [{"class": "cow", "count": 1}, {"class": "horse", "count": 1}], "prompt": "a photo of a cow and a horse"}}
|
||||
{"index": 137, "data": "a photo of a handbag and a refrigerator", "additional_info": {"tag": "two_object", "include": [{"class": "handbag", "count": 1}, {"class": "refrigerator", "count": 1}], "prompt": "a photo of a handbag and a refrigerator"}}
|
||||
{"index": 138, "data": "a photo of a chair and a laptop", "additional_info": {"tag": "two_object", "include": [{"class": "chair", "count": 1}, {"class": "laptop", "count": 1}], "prompt": "a photo of a chair and a laptop"}}
|
||||
{"index": 139, "data": "a photo of a toothbrush and a bench", "additional_info": {"tag": "two_object", "include": [{"class": "toothbrush", "count": 1}, {"class": "bench", "count": 1}], "prompt": "a photo of a toothbrush and a bench"}}
|
||||
{"index": 140, "data": "a photo of a book and a baseball bat", "additional_info": {"tag": "two_object", "include": [{"class": "book", "count": 1}, {"class": "baseball bat", "count": 1}], "prompt": "a photo of a book and a baseball bat"}}
|
||||
{"index": 141, "data": "a photo of a horse and a train", "additional_info": {"tag": "two_object", "include": [{"class": "horse", "count": 1}, {"class": "train", "count": 1}], "prompt": "a photo of a horse and a train"}}
|
||||
{"index": 142, "data": "a photo of a bench and a vase", "additional_info": {"tag": "two_object", "include": [{"class": "bench", "count": 1}, {"class": "vase", "count": 1}], "prompt": "a photo of a bench and a vase"}}
|
||||
{"index": 143, "data": "a photo of a traffic light and a backpack", "additional_info": {"tag": "two_object", "include": [{"class": "traffic light", "count": 1}, {"class": "backpack", "count": 1}], "prompt": "a photo of a traffic light and a backpack"}}
|
||||
{"index": 144, "data": "a photo of a sports ball and a cow", "additional_info": {"tag": "two_object", "include": [{"class": "sports ball", "count": 1}, {"class": "cow", "count": 1}], "prompt": "a photo of a sports ball and a cow"}}
|
||||
{"index": 145, "data": "a photo of a computer mouse and a spoon", "additional_info": {"tag": "two_object", "include": [{"class": "computer mouse", "count": 1}, {"class": "spoon", "count": 1}], "prompt": "a photo of a computer mouse and a spoon"}}
|
||||
{"index": 146, "data": "a photo of a tv and a bicycle", "additional_info": {"tag": "two_object", "include": [{"class": "tv", "count": 1}, {"class": "bicycle", "count": 1}], "prompt": "a photo of a tv and a bicycle"}}
|
||||
{"index": 147, "data": "a photo of a bench and a snowboard", "additional_info": {"tag": "two_object", "include": [{"class": "bench", "count": 1}, {"class": "snowboard", "count": 1}], "prompt": "a photo of a bench and a snowboard"}}
|
||||
{"index": 148, "data": "a photo of a toothbrush and a toilet", "additional_info": {"tag": "two_object", "include": [{"class": "toothbrush", "count": 1}, {"class": "toilet", "count": 1}], "prompt": "a photo of a toothbrush and a toilet"}}
|
||||
{"index": 149, "data": "a photo of a person and an apple", "additional_info": {"tag": "two_object", "include": [{"class": "person", "count": 1}, {"class": "apple", "count": 1}], "prompt": "a photo of a person and an apple"}}
|
||||
{"index": 150, "data": "a photo of a sink and a sports ball", "additional_info": {"tag": "two_object", "include": [{"class": "sink", "count": 1}, {"class": "sports ball", "count": 1}], "prompt": "a photo of a sink and a sports ball"}}
|
||||
{"index": 151, "data": "a photo of a stop sign and a dog", "additional_info": {"tag": "two_object", "include": [{"class": "stop sign", "count": 1}, {"class": "dog", "count": 1}], "prompt": "a photo of a stop sign and a dog"}}
|
||||
{"index": 152, "data": "a photo of a knife and a stop sign", "additional_info": {"tag": "two_object", "include": [{"class": "knife", "count": 1}, {"class": "stop sign", "count": 1}], "prompt": "a photo of a knife and a stop sign"}}
|
||||
{"index": 153, "data": "a photo of a wine glass and a handbag", "additional_info": {"tag": "two_object", "include": [{"class": "wine glass", "count": 1}, {"class": "handbag", "count": 1}], "prompt": "a photo of a wine glass and a handbag"}}
|
||||
{"index": 154, "data": "a photo of a bowl and a skis", "additional_info": {"tag": "two_object", "include": [{"class": "bowl", "count": 1}, {"class": "skis", "count": 1}], "prompt": "a photo of a bowl and a skis"}}
|
||||
{"index": 155, "data": "a photo of a frisbee and an apple", "additional_info": {"tag": "two_object", "include": [{"class": "frisbee", "count": 1}, {"class": "apple", "count": 1}], "prompt": "a photo of a frisbee and an apple"}}
|
||||
{"index": 156, "data": "a photo of a computer keyboard and a cell phone", "additional_info": {"tag": "two_object", "include": [{"class": "computer keyboard", "count": 1}, {"class": "cell phone", "count": 1}], "prompt": "a photo of a computer keyboard and a cell phone"}}
|
||||
{"index": 157, "data": "a photo of a stop sign and a fork", "additional_info": {"tag": "two_object", "include": [{"class": "stop sign", "count": 1}, {"class": "fork", "count": 1}], "prompt": "a photo of a stop sign and a fork"}}
|
||||
{"index": 158, "data": "a photo of a potted plant and a boat", "additional_info": {"tag": "two_object", "include": [{"class": "potted plant", "count": 1}, {"class": "boat", "count": 1}], "prompt": "a photo of a potted plant and a boat"}}
|
||||
{"index": 159, "data": "a photo of a tv and a cell phone", "additional_info": {"tag": "two_object", "include": [{"class": "tv", "count": 1}, {"class": "cell phone", "count": 1}], "prompt": "a photo of a tv and a cell phone"}}
|
||||
{"index": 160, "data": "a photo of a tie and a broccoli", "additional_info": {"tag": "two_object", "include": [{"class": "tie", "count": 1}, {"class": "broccoli", "count": 1}], "prompt": "a photo of a tie and a broccoli"}}
|
||||
{"index": 161, "data": "a photo of a potted plant and a donut", "additional_info": {"tag": "two_object", "include": [{"class": "potted plant", "count": 1}, {"class": "donut", "count": 1}], "prompt": "a photo of a potted plant and a donut"}}
|
||||
{"index": 162, "data": "a photo of a person and a sink", "additional_info": {"tag": "two_object", "include": [{"class": "person", "count": 1}, {"class": "sink", "count": 1}], "prompt": "a photo of a person and a sink"}}
|
||||
{"index": 163, "data": "a photo of a couch and a snowboard", "additional_info": {"tag": "two_object", "include": [{"class": "couch", "count": 1}, {"class": "snowboard", "count": 1}], "prompt": "a photo of a couch and a snowboard"}}
|
||||
{"index": 164, "data": "a photo of a fork and a baseball glove", "additional_info": {"tag": "two_object", "include": [{"class": "fork", "count": 1}, {"class": "baseball glove", "count": 1}], "prompt": "a photo of a fork and a baseball glove"}}
|
||||
{"index": 165, "data": "a photo of an apple and a toothbrush", "additional_info": {"tag": "two_object", "include": [{"class": "apple", "count": 1}, {"class": "toothbrush", "count": 1}], "prompt": "a photo of an apple and a toothbrush"}}
|
||||
{"index": 166, "data": "a photo of a bus and a baseball glove", "additional_info": {"tag": "two_object", "include": [{"class": "bus", "count": 1}, {"class": "baseball glove", "count": 1}], "prompt": "a photo of a bus and a baseball glove"}}
|
||||
{"index": 167, "data": "a photo of a person and a stop sign", "additional_info": {"tag": "two_object", "include": [{"class": "person", "count": 1}, {"class": "stop sign", "count": 1}], "prompt": "a photo of a person and a stop sign"}}
|
||||
{"index": 168, "data": "a photo of a carrot and a couch", "additional_info": {"tag": "two_object", "include": [{"class": "carrot", "count": 1}, {"class": "couch", "count": 1}], "prompt": "a photo of a carrot and a couch"}}
|
||||
{"index": 169, "data": "a photo of a baseball bat and a bear", "additional_info": {"tag": "two_object", "include": [{"class": "baseball bat", "count": 1}, {"class": "bear", "count": 1}], "prompt": "a photo of a baseball bat and a bear"}}
|
||||
{"index": 170, "data": "a photo of a fire hydrant and a train", "additional_info": {"tag": "two_object", "include": [{"class": "fire hydrant", "count": 1}, {"class": "train", "count": 1}], "prompt": "a photo of a fire hydrant and a train"}}
|
||||
{"index": 171, "data": "a photo of a baseball glove and a carrot", "additional_info": {"tag": "two_object", "include": [{"class": "baseball glove", "count": 1}, {"class": "carrot", "count": 1}], "prompt": "a photo of a baseball glove and a carrot"}}
|
||||
{"index": 172, "data": "a photo of a microwave and a bench", "additional_info": {"tag": "two_object", "include": [{"class": "microwave", "count": 1}, {"class": "bench", "count": 1}], "prompt": "a photo of a microwave and a bench"}}
|
||||
{"index": 173, "data": "a photo of a cake and a stop sign", "additional_info": {"tag": "two_object", "include": [{"class": "cake", "count": 1}, {"class": "stop sign", "count": 1}], "prompt": "a photo of a cake and a stop sign"}}
|
||||
{"index": 174, "data": "a photo of a car and a computer mouse", "additional_info": {"tag": "two_object", "include": [{"class": "car", "count": 1}, {"class": "computer mouse", "count": 1}], "prompt": "a photo of a car and a computer mouse"}}
|
||||
{"index": 175, "data": "a photo of a suitcase and a dining table", "additional_info": {"tag": "two_object", "include": [{"class": "suitcase", "count": 1}, {"class": "dining table", "count": 1}], "prompt": "a photo of a suitcase and a dining table"}}
|
||||
{"index": 176, "data": "a photo of a person and a traffic light", "additional_info": {"tag": "two_object", "include": [{"class": "person", "count": 1}, {"class": "traffic light", "count": 1}], "prompt": "a photo of a person and a traffic light"}}
|
||||
{"index": 177, "data": "a photo of a cell phone and a horse", "additional_info": {"tag": "two_object", "include": [{"class": "cell phone", "count": 1}, {"class": "horse", "count": 1}], "prompt": "a photo of a cell phone and a horse"}}
|
||||
{"index": 178, "data": "a photo of a baseball bat and a giraffe", "additional_info": {"tag": "two_object", "include": [{"class": "baseball bat", "count": 1}, {"class": "giraffe", "count": 1}], "prompt": "a photo of a baseball bat and a giraffe"}}
|
||||
{"index": 179, "data": "a photo of two clocks", "additional_info": {"tag": "counting", "include": [{"class": "clock", "count": 2}], "exclude": [{"class": "clock", "count": 3}], "prompt": "a photo of two clocks"}}
|
||||
{"index": 180, "data": "a photo of two backpacks", "additional_info": {"tag": "counting", "include": [{"class": "backpack", "count": 2}], "exclude": [{"class": "backpack", "count": 3}], "prompt": "a photo of two backpacks"}}
|
||||
{"index": 181, "data": "a photo of four handbags", "additional_info": {"tag": "counting", "include": [{"class": "handbag", "count": 4}], "exclude": [{"class": "handbag", "count": 5}], "prompt": "a photo of four handbags"}}
|
||||
{"index": 182, "data": "a photo of two frisbees", "additional_info": {"tag": "counting", "include": [{"class": "frisbee", "count": 2}], "exclude": [{"class": "frisbee", "count": 3}], "prompt": "a photo of two frisbees"}}
|
||||
{"index": 183, "data": "a photo of three sports balls", "additional_info": {"tag": "counting", "include": [{"class": "sports ball", "count": 3}], "exclude": [{"class": "sports ball", "count": 4}], "prompt": "a photo of three sports balls"}}
|
||||
{"index": 184, "data": "a photo of two bears", "additional_info": {"tag": "counting", "include": [{"class": "bear", "count": 2}], "exclude": [{"class": "bear", "count": 3}], "prompt": "a photo of two bears"}}
|
||||
{"index": 185, "data": "a photo of two ties", "additional_info": {"tag": "counting", "include": [{"class": "tie", "count": 2}], "exclude": [{"class": "tie", "count": 3}], "prompt": "a photo of two ties"}}
|
||||
{"index": 186, "data": "a photo of four sinks", "additional_info": {"tag": "counting", "include": [{"class": "sink", "count": 4}], "exclude": [{"class": "sink", "count": 5}], "prompt": "a photo of four sinks"}}
|
||||
{"index": 187, "data": "a photo of two toothbrushs", "additional_info": {"tag": "counting", "include": [{"class": "toothbrush", "count": 2}], "exclude": [{"class": "toothbrush", "count": 3}], "prompt": "a photo of two toothbrushs"}}
|
||||
{"index": 188, "data": "a photo of three persons", "additional_info": {"tag": "counting", "include": [{"class": "person", "count": 3}], "exclude": [{"class": "person", "count": 4}], "prompt": "a photo of three persons"}}
|
||||
{"index": 189, "data": "a photo of three tennis rackets", "additional_info": {"tag": "counting", "include": [{"class": "tennis racket", "count": 3}], "exclude": [{"class": "tennis racket", "count": 4}], "prompt": "a photo of three tennis rackets"}}
|
||||
{"index": 190, "data": "a photo of four bowls", "additional_info": {"tag": "counting", "include": [{"class": "bowl", "count": 4}], "exclude": [{"class": "bowl", "count": 5}], "prompt": "a photo of four bowls"}}
|
||||
{"index": 191, "data": "a photo of four vases", "additional_info": {"tag": "counting", "include": [{"class": "vase", "count": 4}], "exclude": [{"class": "vase", "count": 5}], "prompt": "a photo of four vases"}}
|
||||
{"index": 192, "data": "a photo of three cups", "additional_info": {"tag": "counting", "include": [{"class": "cup", "count": 3}], "exclude": [{"class": "cup", "count": 4}], "prompt": "a photo of three cups"}}
|
||||
{"index": 193, "data": "a photo of four computer keyboards", "additional_info": {"tag": "counting", "include": [{"class": "computer keyboard", "count": 4}], "exclude": [{"class": "computer keyboard", "count": 5}], "prompt": "a photo of four computer keyboards"}}
|
||||
{"index": 194, "data": "a photo of three sinks", "additional_info": {"tag": "counting", "include": [{"class": "sink", "count": 3}], "exclude": [{"class": "sink", "count": 4}], "prompt": "a photo of three sinks"}}
|
||||
{"index": 195, "data": "a photo of two ovens", "additional_info": {"tag": "counting", "include": [{"class": "oven", "count": 2}], "exclude": [{"class": "oven", "count": 3}], "prompt": "a photo of two ovens"}}
|
||||
{"index": 196, "data": "a photo of two toilets", "additional_info": {"tag": "counting", "include": [{"class": "toilet", "count": 2}], "exclude": [{"class": "toilet", "count": 3}], "prompt": "a photo of two toilets"}}
|
||||
{"index": 197, "data": "a photo of two bicycles", "additional_info": {"tag": "counting", "include": [{"class": "bicycle", "count": 2}], "exclude": [{"class": "bicycle", "count": 3}], "prompt": "a photo of two bicycles"}}
|
||||
{"index": 198, "data": "a photo of two trains", "additional_info": {"tag": "counting", "include": [{"class": "train", "count": 2}], "exclude": [{"class": "train", "count": 3}], "prompt": "a photo of two trains"}}
|
||||
{"index": 199, "data": "a photo of three oranges", "additional_info": {"tag": "counting", "include": [{"class": "orange", "count": 3}], "exclude": [{"class": "orange", "count": 4}], "prompt": "a photo of three oranges"}}
|
||||
{"index": 200, "data": "a photo of three buses", "additional_info": {"tag": "counting", "include": [{"class": "bus", "count": 3}], "exclude": [{"class": "bus", "count": 4}], "prompt": "a photo of three buses"}}
|
||||
{"index": 201, "data": "a photo of three handbags", "additional_info": {"tag": "counting", "include": [{"class": "handbag", "count": 3}], "exclude": [{"class": "handbag", "count": 4}], "prompt": "a photo of three handbags"}}
|
||||
{"index": 202, "data": "a photo of three snowboards", "additional_info": {"tag": "counting", "include": [{"class": "snowboard", "count": 3}], "exclude": [{"class": "snowboard", "count": 4}], "prompt": "a photo of three snowboards"}}
|
||||
{"index": 203, "data": "a photo of two snowboards", "additional_info": {"tag": "counting", "include": [{"class": "snowboard", "count": 2}], "exclude": [{"class": "snowboard", "count": 3}], "prompt": "a photo of two snowboards"}}
|
||||
{"index": 204, "data": "a photo of four dogs", "additional_info": {"tag": "counting", "include": [{"class": "dog", "count": 4}], "exclude": [{"class": "dog", "count": 5}], "prompt": "a photo of four dogs"}}
|
||||
{"index": 205, "data": "a photo of three apples", "additional_info": {"tag": "counting", "include": [{"class": "apple", "count": 3}], "exclude": [{"class": "apple", "count": 4}], "prompt": "a photo of three apples"}}
|
||||
{"index": 206, "data": "a photo of two sheeps", "additional_info": {"tag": "counting", "include": [{"class": "sheep", "count": 2}], "exclude": [{"class": "sheep", "count": 3}], "prompt": "a photo of two sheeps"}}
|
||||
{"index": 207, "data": "a photo of three hot dogs", "additional_info": {"tag": "counting", "include": [{"class": "hot dog", "count": 3}], "exclude": [{"class": "hot dog", "count": 4}], "prompt": "a photo of three hot dogs"}}
|
||||
{"index": 208, "data": "a photo of three zebras", "additional_info": {"tag": "counting", "include": [{"class": "zebra", "count": 3}], "exclude": [{"class": "zebra", "count": 4}], "prompt": "a photo of three zebras"}}
|
||||
{"index": 209, "data": "a photo of three kites", "additional_info": {"tag": "counting", "include": [{"class": "kite", "count": 3}], "exclude": [{"class": "kite", "count": 4}], "prompt": "a photo of three kites"}}
|
||||
{"index": 210, "data": "a photo of four apples", "additional_info": {"tag": "counting", "include": [{"class": "apple", "count": 4}], "exclude": [{"class": "apple", "count": 5}], "prompt": "a photo of four apples"}}
|
||||
{"index": 211, "data": "a photo of three cell phones", "additional_info": {"tag": "counting", "include": [{"class": "cell phone", "count": 3}], "exclude": [{"class": "cell phone", "count": 4}], "prompt": "a photo of three cell phones"}}
|
||||
{"index": 212, "data": "a photo of four baseball gloves", "additional_info": {"tag": "counting", "include": [{"class": "baseball glove", "count": 4}], "exclude": [{"class": "baseball glove", "count": 5}], "prompt": "a photo of four baseball gloves"}}
|
||||
{"index": 213, "data": "a photo of three computer keyboards", "additional_info": {"tag": "counting", "include": [{"class": "computer keyboard", "count": 3}], "exclude": [{"class": "computer keyboard", "count": 4}], "prompt": "a photo of three computer keyboards"}}
|
||||
{"index": 214, "data": "a photo of two beds", "additional_info": {"tag": "counting", "include": [{"class": "bed", "count": 2}], "exclude": [{"class": "bed", "count": 3}], "prompt": "a photo of two beds"}}
|
||||
{"index": 215, "data": "a photo of two tv remotes", "additional_info": {"tag": "counting", "include": [{"class": "tv remote", "count": 2}], "exclude": [{"class": "tv remote", "count": 3}], "prompt": "a photo of two tv remotes"}}
|
||||
{"index": 216, "data": "a photo of three fire hydrants", "additional_info": {"tag": "counting", "include": [{"class": "fire hydrant", "count": 3}], "exclude": [{"class": "fire hydrant", "count": 4}], "prompt": "a photo of three fire hydrants"}}
|
||||
{"index": 217, "data": "a photo of three books", "additional_info": {"tag": "counting", "include": [{"class": "book", "count": 3}], "exclude": [{"class": "book", "count": 4}], "prompt": "a photo of three books"}}
|
||||
{"index": 218, "data": "a photo of four giraffes", "additional_info": {"tag": "counting", "include": [{"class": "giraffe", "count": 4}], "exclude": [{"class": "giraffe", "count": 5}], "prompt": "a photo of four giraffes"}}
|
||||
{"index": 219, "data": "a photo of two vases", "additional_info": {"tag": "counting", "include": [{"class": "vase", "count": 2}], "exclude": [{"class": "vase", "count": 3}], "prompt": "a photo of two vases"}}
|
||||
{"index": 220, "data": "a photo of four donuts", "additional_info": {"tag": "counting", "include": [{"class": "donut", "count": 4}], "exclude": [{"class": "donut", "count": 5}], "prompt": "a photo of four donuts"}}
|
||||
{"index": 221, "data": "a photo of four chairs", "additional_info": {"tag": "counting", "include": [{"class": "chair", "count": 4}], "exclude": [{"class": "chair", "count": 5}], "prompt": "a photo of four chairs"}}
|
||||
{"index": 222, "data": "a photo of three baseball bats", "additional_info": {"tag": "counting", "include": [{"class": "baseball bat", "count": 3}], "exclude": [{"class": "baseball bat", "count": 4}], "prompt": "a photo of three baseball bats"}}
|
||||
{"index": 223, "data": "a photo of four stop signs", "additional_info": {"tag": "counting", "include": [{"class": "stop sign", "count": 4}], "exclude": [{"class": "stop sign", "count": 5}], "prompt": "a photo of four stop signs"}}
|
||||
{"index": 224, "data": "a photo of two pizzas", "additional_info": {"tag": "counting", "include": [{"class": "pizza", "count": 2}], "exclude": [{"class": "pizza", "count": 3}], "prompt": "a photo of two pizzas"}}
|
||||
{"index": 225, "data": "a photo of three refrigerators", "additional_info": {"tag": "counting", "include": [{"class": "refrigerator", "count": 3}], "exclude": [{"class": "refrigerator", "count": 4}], "prompt": "a photo of three refrigerators"}}
|
||||
{"index": 226, "data": "a photo of two fire hydrants", "additional_info": {"tag": "counting", "include": [{"class": "fire hydrant", "count": 2}], "exclude": [{"class": "fire hydrant", "count": 3}], "prompt": "a photo of two fire hydrants"}}
|
||||
{"index": 227, "data": "a photo of three giraffes", "additional_info": {"tag": "counting", "include": [{"class": "giraffe", "count": 3}], "exclude": [{"class": "giraffe", "count": 4}], "prompt": "a photo of three giraffes"}}
|
||||
{"index": 228, "data": "a photo of four tvs", "additional_info": {"tag": "counting", "include": [{"class": "tv", "count": 4}], "exclude": [{"class": "tv", "count": 5}], "prompt": "a photo of four tvs"}}
|
||||
{"index": 229, "data": "a photo of three wine glasses", "additional_info": {"tag": "counting", "include": [{"class": "wine glass", "count": 3}], "exclude": [{"class": "wine glass", "count": 4}], "prompt": "a photo of three wine glasses"}}
|
||||
{"index": 230, "data": "a photo of four broccolis", "additional_info": {"tag": "counting", "include": [{"class": "broccoli", "count": 4}], "exclude": [{"class": "broccoli", "count": 5}], "prompt": "a photo of four broccolis"}}
|
||||
{"index": 231, "data": "a photo of three trucks", "additional_info": {"tag": "counting", "include": [{"class": "truck", "count": 3}], "exclude": [{"class": "truck", "count": 4}], "prompt": "a photo of three trucks"}}
|
||||
{"index": 232, "data": "a photo of two trucks", "additional_info": {"tag": "counting", "include": [{"class": "truck", "count": 2}], "exclude": [{"class": "truck", "count": 3}], "prompt": "a photo of two trucks"}}
|
||||
{"index": 233, "data": "a photo of two carrots", "additional_info": {"tag": "counting", "include": [{"class": "carrot", "count": 2}], "exclude": [{"class": "carrot", "count": 3}], "prompt": "a photo of two carrots"}}
|
||||
{"index": 234, "data": "a photo of two sandwichs", "additional_info": {"tag": "counting", "include": [{"class": "sandwich", "count": 2}], "exclude": [{"class": "sandwich", "count": 3}], "prompt": "a photo of two sandwichs"}}
|
||||
{"index": 235, "data": "a photo of four traffic lights", "additional_info": {"tag": "counting", "include": [{"class": "traffic light", "count": 4}], "exclude": [{"class": "traffic light", "count": 5}], "prompt": "a photo of four traffic lights"}}
|
||||
{"index": 236, "data": "a photo of four clocks", "additional_info": {"tag": "counting", "include": [{"class": "clock", "count": 4}], "exclude": [{"class": "clock", "count": 5}], "prompt": "a photo of four clocks"}}
|
||||
{"index": 237, "data": "a photo of two cars", "additional_info": {"tag": "counting", "include": [{"class": "car", "count": 2}], "exclude": [{"class": "car", "count": 3}], "prompt": "a photo of two cars"}}
|
||||
{"index": 238, "data": "a photo of two bananas", "additional_info": {"tag": "counting", "include": [{"class": "banana", "count": 2}], "exclude": [{"class": "banana", "count": 3}], "prompt": "a photo of two bananas"}}
|
||||
{"index": 239, "data": "a photo of two wine glasses", "additional_info": {"tag": "counting", "include": [{"class": "wine glass", "count": 2}], "exclude": [{"class": "wine glass", "count": 3}], "prompt": "a photo of two wine glasses"}}
|
||||
{"index": 240, "data": "a photo of three pizzas", "additional_info": {"tag": "counting", "include": [{"class": "pizza", "count": 3}], "exclude": [{"class": "pizza", "count": 4}], "prompt": "a photo of three pizzas"}}
|
||||
{"index": 241, "data": "a photo of four knifes", "additional_info": {"tag": "counting", "include": [{"class": "knife", "count": 4}], "exclude": [{"class": "knife", "count": 5}], "prompt": "a photo of four knifes"}}
|
||||
{"index": 242, "data": "a photo of three suitcases", "additional_info": {"tag": "counting", "include": [{"class": "suitcase", "count": 3}], "exclude": [{"class": "suitcase", "count": 4}], "prompt": "a photo of three suitcases"}}
|
||||
{"index": 243, "data": "a photo of four zebras", "additional_info": {"tag": "counting", "include": [{"class": "zebra", "count": 4}], "exclude": [{"class": "zebra", "count": 5}], "prompt": "a photo of four zebras"}}
|
||||
{"index": 244, "data": "a photo of two teddy bears", "additional_info": {"tag": "counting", "include": [{"class": "teddy bear", "count": 2}], "exclude": [{"class": "teddy bear", "count": 3}], "prompt": "a photo of two teddy bears"}}
|
||||
{"index": 245, "data": "a photo of four skateboards", "additional_info": {"tag": "counting", "include": [{"class": "skateboard", "count": 4}], "exclude": [{"class": "skateboard", "count": 5}], "prompt": "a photo of four skateboards"}}
|
||||
{"index": 246, "data": "a photo of four hot dogs", "additional_info": {"tag": "counting", "include": [{"class": "hot dog", "count": 4}], "exclude": [{"class": "hot dog", "count": 5}], "prompt": "a photo of four hot dogs"}}
|
||||
{"index": 247, "data": "a photo of three birds", "additional_info": {"tag": "counting", "include": [{"class": "bird", "count": 3}], "exclude": [{"class": "bird", "count": 4}], "prompt": "a photo of three birds"}}
|
||||
{"index": 248, "data": "a photo of four boats", "additional_info": {"tag": "counting", "include": [{"class": "boat", "count": 4}], "exclude": [{"class": "boat", "count": 5}], "prompt": "a photo of four boats"}}
|
||||
{"index": 249, "data": "a photo of four microwaves", "additional_info": {"tag": "counting", "include": [{"class": "microwave", "count": 4}], "exclude": [{"class": "microwave", "count": 5}], "prompt": "a photo of four microwaves"}}
|
||||
{"index": 250, "data": "a photo of two hair driers", "additional_info": {"tag": "counting", "include": [{"class": "hair drier", "count": 2}], "exclude": [{"class": "hair drier", "count": 3}], "prompt": "a photo of two hair driers"}}
|
||||
{"index": 251, "data": "a photo of three laptops", "additional_info": {"tag": "counting", "include": [{"class": "laptop", "count": 3}], "exclude": [{"class": "laptop", "count": 4}], "prompt": "a photo of three laptops"}}
|
||||
{"index": 252, "data": "a photo of three cows", "additional_info": {"tag": "counting", "include": [{"class": "cow", "count": 3}], "exclude": [{"class": "cow", "count": 4}], "prompt": "a photo of three cows"}}
|
||||
{"index": 253, "data": "a photo of two parking meters", "additional_info": {"tag": "counting", "include": [{"class": "parking meter", "count": 2}], "exclude": [{"class": "parking meter", "count": 3}], "prompt": "a photo of two parking meters"}}
|
||||
{"index": 254, "data": "a photo of four benchs", "additional_info": {"tag": "counting", "include": [{"class": "bench", "count": 4}], "exclude": [{"class": "bench", "count": 5}], "prompt": "a photo of four benchs"}}
|
||||
{"index": 255, "data": "a photo of three benchs", "additional_info": {"tag": "counting", "include": [{"class": "bench", "count": 3}], "exclude": [{"class": "bench", "count": 4}], "prompt": "a photo of three benchs"}}
|
||||
{"index": 256, "data": "a photo of four frisbees", "additional_info": {"tag": "counting", "include": [{"class": "frisbee", "count": 4}], "exclude": [{"class": "frisbee", "count": 5}], "prompt": "a photo of four frisbees"}}
|
||||
{"index": 257, "data": "a photo of four books", "additional_info": {"tag": "counting", "include": [{"class": "book", "count": 4}], "exclude": [{"class": "book", "count": 5}], "prompt": "a photo of four books"}}
|
||||
{"index": 258, "data": "a photo of four buses", "additional_info": {"tag": "counting", "include": [{"class": "bus", "count": 4}], "exclude": [{"class": "bus", "count": 5}], "prompt": "a photo of four buses"}}
|
||||
{"index": 259, "data": "a photo of a blue fire hydrant", "additional_info": {"tag": "colors", "include": [{"class": "fire hydrant", "count": 1, "color": "blue"}], "prompt": "a photo of a blue fire hydrant"}}
|
||||
{"index": 260, "data": "a photo of a pink car", "additional_info": {"tag": "colors", "include": [{"class": "car", "count": 1, "color": "pink"}], "prompt": "a photo of a pink car"}}
|
||||
{"index": 261, "data": "a photo of a purple cup", "additional_info": {"tag": "colors", "include": [{"class": "cup", "count": 1, "color": "purple"}], "prompt": "a photo of a purple cup"}}
|
||||
{"index": 262, "data": "a photo of a blue cow", "additional_info": {"tag": "colors", "include": [{"class": "cow", "count": 1, "color": "blue"}], "prompt": "a photo of a blue cow"}}
|
||||
{"index": 263, "data": "a photo of a yellow boat", "additional_info": {"tag": "colors", "include": [{"class": "boat", "count": 1, "color": "yellow"}], "prompt": "a photo of a yellow boat"}}
|
||||
{"index": 264, "data": "a photo of a blue umbrella", "additional_info": {"tag": "colors", "include": [{"class": "umbrella", "count": 1, "color": "blue"}], "prompt": "a photo of a blue umbrella"}}
|
||||
{"index": 265, "data": "a photo of a blue elephant", "additional_info": {"tag": "colors", "include": [{"class": "elephant", "count": 1, "color": "blue"}], "prompt": "a photo of a blue elephant"}}
|
||||
{"index": 266, "data": "a photo of a yellow elephant", "additional_info": {"tag": "colors", "include": [{"class": "elephant", "count": 1, "color": "yellow"}], "prompt": "a photo of a yellow elephant"}}
|
||||
{"index": 267, "data": "a photo of a red bicycle", "additional_info": {"tag": "colors", "include": [{"class": "bicycle", "count": 1, "color": "red"}], "prompt": "a photo of a red bicycle"}}
|
||||
{"index": 268, "data": "a photo of a purple suitcase", "additional_info": {"tag": "colors", "include": [{"class": "suitcase", "count": 1, "color": "purple"}], "prompt": "a photo of a purple suitcase"}}
|
||||
{"index": 269, "data": "a photo of a purple hair drier", "additional_info": {"tag": "colors", "include": [{"class": "hair drier", "count": 1, "color": "purple"}], "prompt": "a photo of a purple hair drier"}}
|
||||
{"index": 270, "data": "a photo of a white sandwich", "additional_info": {"tag": "colors", "include": [{"class": "sandwich", "count": 1, "color": "white"}], "prompt": "a photo of a white sandwich"}}
|
||||
{"index": 271, "data": "a photo of a purple elephant", "additional_info": {"tag": "colors", "include": [{"class": "elephant", "count": 1, "color": "purple"}], "prompt": "a photo of a purple elephant"}}
|
||||
{"index": 272, "data": "a photo of a green microwave", "additional_info": {"tag": "colors", "include": [{"class": "microwave", "count": 1, "color": "green"}], "prompt": "a photo of a green microwave"}}
|
||||
{"index": 273, "data": "a photo of a red zebra", "additional_info": {"tag": "colors", "include": [{"class": "zebra", "count": 1, "color": "red"}], "prompt": "a photo of a red zebra"}}
|
||||
{"index": 274, "data": "a photo of a red apple", "additional_info": {"tag": "colors", "include": [{"class": "apple", "count": 1, "color": "red"}], "prompt": "a photo of a red apple"}}
|
||||
{"index": 275, "data": "a photo of a yellow tv remote", "additional_info": {"tag": "colors", "include": [{"class": "tv remote", "count": 1, "color": "yellow"}], "prompt": "a photo of a yellow tv remote"}}
|
||||
{"index": 276, "data": "a photo of a blue toilet", "additional_info": {"tag": "colors", "include": [{"class": "toilet", "count": 1, "color": "blue"}], "prompt": "a photo of a blue toilet"}}
|
||||
{"index": 277, "data": "a photo of an orange orange", "additional_info": {"tag": "colors", "include": [{"class": "orange", "count": 1, "color": "orange"}], "prompt": "a photo of an orange orange"}}
|
||||
{"index": 278, "data": "a photo of a black donut", "additional_info": {"tag": "colors", "include": [{"class": "donut", "count": 1, "color": "black"}], "prompt": "a photo of a black donut"}}
|
||||
{"index": 279, "data": "a photo of a red vase", "additional_info": {"tag": "colors", "include": [{"class": "vase", "count": 1, "color": "red"}], "prompt": "a photo of a red vase"}}
|
||||
{"index": 280, "data": "a photo of a purple pizza", "additional_info": {"tag": "colors", "include": [{"class": "pizza", "count": 1, "color": "purple"}], "prompt": "a photo of a purple pizza"}}
|
||||
{"index": 281, "data": "a photo of a pink skateboard", "additional_info": {"tag": "colors", "include": [{"class": "skateboard", "count": 1, "color": "pink"}], "prompt": "a photo of a pink skateboard"}}
|
||||
{"index": 282, "data": "a photo of a green skateboard", "additional_info": {"tag": "colors", "include": [{"class": "skateboard", "count": 1, "color": "green"}], "prompt": "a photo of a green skateboard"}}
|
||||
{"index": 283, "data": "a photo of a purple bear", "additional_info": {"tag": "colors", "include": [{"class": "bear", "count": 1, "color": "purple"}], "prompt": "a photo of a purple bear"}}
|
||||
{"index": 284, "data": "a photo of a brown chair", "additional_info": {"tag": "colors", "include": [{"class": "chair", "count": 1, "color": "brown"}], "prompt": "a photo of a brown chair"}}
|
||||
{"index": 285, "data": "a photo of a brown computer keyboard", "additional_info": {"tag": "colors", "include": [{"class": "computer keyboard", "count": 1, "color": "brown"}], "prompt": "a photo of a brown computer keyboard"}}
|
||||
{"index": 286, "data": "a photo of an orange cow", "additional_info": {"tag": "colors", "include": [{"class": "cow", "count": 1, "color": "orange"}], "prompt": "a photo of an orange cow"}}
|
||||
{"index": 287, "data": "a photo of a brown skis", "additional_info": {"tag": "colors", "include": [{"class": "skis", "count": 1, "color": "brown"}], "prompt": "a photo of a brown skis"}}
|
||||
{"index": 288, "data": "a photo of a white kite", "additional_info": {"tag": "colors", "include": [{"class": "kite", "count": 1, "color": "white"}], "prompt": "a photo of a white kite"}}
|
||||
{"index": 289, "data": "a photo of a red dog", "additional_info": {"tag": "colors", "include": [{"class": "dog", "count": 1, "color": "red"}], "prompt": "a photo of a red dog"}}
|
||||
{"index": 290, "data": "a photo of a green couch", "additional_info": {"tag": "colors", "include": [{"class": "couch", "count": 1, "color": "green"}], "prompt": "a photo of a green couch"}}
|
||||
{"index": 291, "data": "a photo of a yellow airplane", "additional_info": {"tag": "colors", "include": [{"class": "airplane", "count": 1, "color": "yellow"}], "prompt": "a photo of a yellow airplane"}}
|
||||
{"index": 292, "data": "a photo of an orange tv", "additional_info": {"tag": "colors", "include": [{"class": "tv", "count": 1, "color": "orange"}], "prompt": "a photo of an orange tv"}}
|
||||
{"index": 293, "data": "a photo of a white scissors", "additional_info": {"tag": "colors", "include": [{"class": "scissors", "count": 1, "color": "white"}], "prompt": "a photo of a white scissors"}}
|
||||
{"index": 294, "data": "a photo of a pink cell phone", "additional_info": {"tag": "colors", "include": [{"class": "cell phone", "count": 1, "color": "pink"}], "prompt": "a photo of a pink cell phone"}}
|
||||
{"index": 295, "data": "a photo of a green surfboard", "additional_info": {"tag": "colors", "include": [{"class": "surfboard", "count": 1, "color": "green"}], "prompt": "a photo of a green surfboard"}}
|
||||
{"index": 296, "data": "a photo of a white fire hydrant", "additional_info": {"tag": "colors", "include": [{"class": "fire hydrant", "count": 1, "color": "white"}], "prompt": "a photo of a white fire hydrant"}}
|
||||
{"index": 297, "data": "a photo of a black bicycle", "additional_info": {"tag": "colors", "include": [{"class": "bicycle", "count": 1, "color": "black"}], "prompt": "a photo of a black bicycle"}}
|
||||
{"index": 298, "data": "a photo of a purple carrot", "additional_info": {"tag": "colors", "include": [{"class": "carrot", "count": 1, "color": "purple"}], "prompt": "a photo of a purple carrot"}}
|
||||
{"index": 299, "data": "a photo of a black dining table", "additional_info": {"tag": "colors", "include": [{"class": "dining table", "count": 1, "color": "black"}], "prompt": "a photo of a black dining table"}}
|
||||
{"index": 300, "data": "a photo of a purple potted plant", "additional_info": {"tag": "colors", "include": [{"class": "potted plant", "count": 1, "color": "purple"}], "prompt": "a photo of a purple potted plant"}}
|
||||
{"index": 301, "data": "a photo of a purple backpack", "additional_info": {"tag": "colors", "include": [{"class": "backpack", "count": 1, "color": "purple"}], "prompt": "a photo of a purple backpack"}}
|
||||
{"index": 302, "data": "a photo of a yellow train", "additional_info": {"tag": "colors", "include": [{"class": "train", "count": 1, "color": "yellow"}], "prompt": "a photo of a yellow train"}}
|
||||
{"index": 303, "data": "a photo of a pink potted plant", "additional_info": {"tag": "colors", "include": [{"class": "potted plant", "count": 1, "color": "pink"}], "prompt": "a photo of a pink potted plant"}}
|
||||
{"index": 304, "data": "a photo of a red giraffe", "additional_info": {"tag": "colors", "include": [{"class": "giraffe", "count": 1, "color": "red"}], "prompt": "a photo of a red giraffe"}}
|
||||
{"index": 305, "data": "a photo of a brown bear", "additional_info": {"tag": "colors", "include": [{"class": "bear", "count": 1, "color": "brown"}], "prompt": "a photo of a brown bear"}}
|
||||
{"index": 306, "data": "a photo of a black train", "additional_info": {"tag": "colors", "include": [{"class": "train", "count": 1, "color": "black"}], "prompt": "a photo of a black train"}}
|
||||
{"index": 307, "data": "a photo of an orange laptop", "additional_info": {"tag": "colors", "include": [{"class": "laptop", "count": 1, "color": "orange"}], "prompt": "a photo of an orange laptop"}}
|
||||
{"index": 308, "data": "a photo of a green hot dog", "additional_info": {"tag": "colors", "include": [{"class": "hot dog", "count": 1, "color": "green"}], "prompt": "a photo of a green hot dog"}}
|
||||
{"index": 309, "data": "a photo of a yellow parking meter", "additional_info": {"tag": "colors", "include": [{"class": "parking meter", "count": 1, "color": "yellow"}], "prompt": "a photo of a yellow parking meter"}}
|
||||
{"index": 310, "data": "a photo of a red potted plant", "additional_info": {"tag": "colors", "include": [{"class": "potted plant", "count": 1, "color": "red"}], "prompt": "a photo of a red potted plant"}}
|
||||
{"index": 311, "data": "a photo of a green traffic light", "additional_info": {"tag": "colors", "include": [{"class": "traffic light", "count": 1, "color": "green"}], "prompt": "a photo of a green traffic light"}}
|
||||
{"index": 312, "data": "a photo of a blue tv", "additional_info": {"tag": "colors", "include": [{"class": "tv", "count": 1, "color": "blue"}], "prompt": "a photo of a blue tv"}}
|
||||
{"index": 313, "data": "a photo of a brown refrigerator", "additional_info": {"tag": "colors", "include": [{"class": "refrigerator", "count": 1, "color": "brown"}], "prompt": "a photo of a brown refrigerator"}}
|
||||
{"index": 314, "data": "a photo of a black tv remote", "additional_info": {"tag": "colors", "include": [{"class": "tv remote", "count": 1, "color": "black"}], "prompt": "a photo of a black tv remote"}}
|
||||
{"index": 315, "data": "a photo of a purple scissors", "additional_info": {"tag": "colors", "include": [{"class": "scissors", "count": 1, "color": "purple"}], "prompt": "a photo of a purple scissors"}}
|
||||
{"index": 316, "data": "a photo of a yellow orange", "additional_info": {"tag": "colors", "include": [{"class": "orange", "count": 1, "color": "yellow"}], "prompt": "a photo of a yellow orange"}}
|
||||
{"index": 317, "data": "a photo of a brown toaster", "additional_info": {"tag": "colors", "include": [{"class": "toaster", "count": 1, "color": "brown"}], "prompt": "a photo of a brown toaster"}}
|
||||
{"index": 318, "data": "a photo of a red parking meter", "additional_info": {"tag": "colors", "include": [{"class": "parking meter", "count": 1, "color": "red"}], "prompt": "a photo of a red parking meter"}}
|
||||
{"index": 319, "data": "a photo of a brown orange", "additional_info": {"tag": "colors", "include": [{"class": "orange", "count": 1, "color": "brown"}], "prompt": "a photo of a brown orange"}}
|
||||
{"index": 320, "data": "a photo of a green clock", "additional_info": {"tag": "colors", "include": [{"class": "clock", "count": 1, "color": "green"}], "prompt": "a photo of a green clock"}}
|
||||
{"index": 321, "data": "a photo of a white sheep", "additional_info": {"tag": "colors", "include": [{"class": "sheep", "count": 1, "color": "white"}], "prompt": "a photo of a white sheep"}}
|
||||
{"index": 322, "data": "a photo of a yellow oven", "additional_info": {"tag": "colors", "include": [{"class": "oven", "count": 1, "color": "yellow"}], "prompt": "a photo of a yellow oven"}}
|
||||
{"index": 323, "data": "a photo of a green vase", "additional_info": {"tag": "colors", "include": [{"class": "vase", "count": 1, "color": "green"}], "prompt": "a photo of a green vase"}}
|
||||
{"index": 324, "data": "a photo of a black teddy bear", "additional_info": {"tag": "colors", "include": [{"class": "teddy bear", "count": 1, "color": "black"}], "prompt": "a photo of a black teddy bear"}}
|
||||
{"index": 325, "data": "a photo of a yellow carrot", "additional_info": {"tag": "colors", "include": [{"class": "carrot", "count": 1, "color": "yellow"}], "prompt": "a photo of a yellow carrot"}}
|
||||
{"index": 326, "data": "a photo of a black hot dog", "additional_info": {"tag": "colors", "include": [{"class": "hot dog", "count": 1, "color": "black"}], "prompt": "a photo of a black hot dog"}}
|
||||
{"index": 327, "data": "a photo of a red scissors", "additional_info": {"tag": "colors", "include": [{"class": "scissors", "count": 1, "color": "red"}], "prompt": "a photo of a red scissors"}}
|
||||
{"index": 328, "data": "a photo of a white teddy bear", "additional_info": {"tag": "colors", "include": [{"class": "teddy bear", "count": 1, "color": "white"}], "prompt": "a photo of a white teddy bear"}}
|
||||
{"index": 329, "data": "a photo of a black skis", "additional_info": {"tag": "colors", "include": [{"class": "skis", "count": 1, "color": "black"}], "prompt": "a photo of a black skis"}}
|
||||
{"index": 330, "data": "a photo of a blue dining table", "additional_info": {"tag": "colors", "include": [{"class": "dining table", "count": 1, "color": "blue"}], "prompt": "a photo of a blue dining table"}}
|
||||
{"index": 331, "data": "a photo of a black refrigerator", "additional_info": {"tag": "colors", "include": [{"class": "refrigerator", "count": 1, "color": "black"}], "prompt": "a photo of a black refrigerator"}}
|
||||
{"index": 332, "data": "a photo of a white dog", "additional_info": {"tag": "colors", "include": [{"class": "dog", "count": 1, "color": "white"}], "prompt": "a photo of a white dog"}}
|
||||
{"index": 333, "data": "a photo of an orange scissors", "additional_info": {"tag": "colors", "include": [{"class": "scissors", "count": 1, "color": "orange"}], "prompt": "a photo of an orange scissors"}}
|
||||
{"index": 334, "data": "a photo of a red cell phone", "additional_info": {"tag": "colors", "include": [{"class": "cell phone", "count": 1, "color": "red"}], "prompt": "a photo of a red cell phone"}}
|
||||
{"index": 335, "data": "a photo of a white orange", "additional_info": {"tag": "colors", "include": [{"class": "orange", "count": 1, "color": "white"}], "prompt": "a photo of a white orange"}}
|
||||
{"index": 336, "data": "a photo of a blue clock", "additional_info": {"tag": "colors", "include": [{"class": "clock", "count": 1, "color": "blue"}], "prompt": "a photo of a blue clock"}}
|
||||
{"index": 337, "data": "a photo of a blue carrot", "additional_info": {"tag": "colors", "include": [{"class": "carrot", "count": 1, "color": "blue"}], "prompt": "a photo of a blue carrot"}}
|
||||
{"index": 338, "data": "a photo of a green motorcycle", "additional_info": {"tag": "colors", "include": [{"class": "motorcycle", "count": 1, "color": "green"}], "prompt": "a photo of a green motorcycle"}}
|
||||
{"index": 339, "data": "a photo of a pink stop sign", "additional_info": {"tag": "colors", "include": [{"class": "stop sign", "count": 1, "color": "pink"}], "prompt": "a photo of a pink stop sign"}}
|
||||
{"index": 340, "data": "a photo of a black vase", "additional_info": {"tag": "colors", "include": [{"class": "vase", "count": 1, "color": "black"}], "prompt": "a photo of a black vase"}}
|
||||
{"index": 341, "data": "a photo of a black backpack", "additional_info": {"tag": "colors", "include": [{"class": "backpack", "count": 1, "color": "black"}], "prompt": "a photo of a black backpack"}}
|
||||
{"index": 342, "data": "a photo of a red car", "additional_info": {"tag": "colors", "include": [{"class": "car", "count": 1, "color": "red"}], "prompt": "a photo of a red car"}}
|
||||
{"index": 343, "data": "a photo of a green computer mouse", "additional_info": {"tag": "colors", "include": [{"class": "computer mouse", "count": 1, "color": "green"}], "prompt": "a photo of a green computer mouse"}}
|
||||
{"index": 344, "data": "a photo of a red backpack", "additional_info": {"tag": "colors", "include": [{"class": "backpack", "count": 1, "color": "red"}], "prompt": "a photo of a red backpack"}}
|
||||
{"index": 345, "data": "a photo of a green bus", "additional_info": {"tag": "colors", "include": [{"class": "bus", "count": 1, "color": "green"}], "prompt": "a photo of a green bus"}}
|
||||
{"index": 346, "data": "a photo of an orange toaster", "additional_info": {"tag": "colors", "include": [{"class": "toaster", "count": 1, "color": "orange"}], "prompt": "a photo of an orange toaster"}}
|
||||
{"index": 347, "data": "a photo of a yellow fork", "additional_info": {"tag": "colors", "include": [{"class": "fork", "count": 1, "color": "yellow"}], "prompt": "a photo of a yellow fork"}}
|
||||
{"index": 348, "data": "a photo of a pink parking meter", "additional_info": {"tag": "colors", "include": [{"class": "parking meter", "count": 1, "color": "pink"}], "prompt": "a photo of a pink parking meter"}}
|
||||
{"index": 349, "data": "a photo of a blue book", "additional_info": {"tag": "colors", "include": [{"class": "book", "count": 1, "color": "blue"}], "prompt": "a photo of a blue book"}}
|
||||
{"index": 350, "data": "a photo of a yellow broccoli", "additional_info": {"tag": "colors", "include": [{"class": "broccoli", "count": 1, "color": "yellow"}], "prompt": "a photo of a yellow broccoli"}}
|
||||
{"index": 351, "data": "a photo of an orange computer mouse", "additional_info": {"tag": "colors", "include": [{"class": "computer mouse", "count": 1, "color": "orange"}], "prompt": "a photo of an orange computer mouse"}}
|
||||
{"index": 352, "data": "a photo of a red cake", "additional_info": {"tag": "colors", "include": [{"class": "cake", "count": 1, "color": "red"}], "prompt": "a photo of a red cake"}}
|
||||
{"index": 353, "data": "a photo of a dog right of a teddy bear", "additional_info": {"tag": "position", "include": [{"class": "teddy bear", "count": 1}, {"class": "dog", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a dog right of a teddy bear"}}
|
||||
{"index": 354, "data": "a photo of a wine glass above a kite", "additional_info": {"tag": "position", "include": [{"class": "kite", "count": 1}, {"class": "wine glass", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a wine glass above a kite"}}
|
||||
{"index": 355, "data": "a photo of a couch below a cup", "additional_info": {"tag": "position", "include": [{"class": "cup", "count": 1}, {"class": "couch", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a couch below a cup"}}
|
||||
{"index": 356, "data": "a photo of a laptop left of a cow", "additional_info": {"tag": "position", "include": [{"class": "cow", "count": 1}, {"class": "laptop", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a laptop left of a cow"}}
|
||||
{"index": 357, "data": "a photo of a fork above a hair drier", "additional_info": {"tag": "position", "include": [{"class": "hair drier", "count": 1}, {"class": "fork", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a fork above a hair drier"}}
|
||||
{"index": 358, "data": "a photo of a tie right of a baseball bat", "additional_info": {"tag": "position", "include": [{"class": "baseball bat", "count": 1}, {"class": "tie", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a tie right of a baseball bat"}}
|
||||
{"index": 359, "data": "a photo of a stop sign above a fork", "additional_info": {"tag": "position", "include": [{"class": "fork", "count": 1}, {"class": "stop sign", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a stop sign above a fork"}}
|
||||
{"index": 360, "data": "a photo of a bird below a skateboard", "additional_info": {"tag": "position", "include": [{"class": "skateboard", "count": 1}, {"class": "bird", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a bird below a skateboard"}}
|
||||
{"index": 361, "data": "a photo of an apple above a tv", "additional_info": {"tag": "position", "include": [{"class": "tv", "count": 1}, {"class": "apple", "count": 1, "position": ["above", 0]}], "prompt": "a photo of an apple above a tv"}}
|
||||
{"index": 362, "data": "a photo of a train above a potted plant", "additional_info": {"tag": "position", "include": [{"class": "potted plant", "count": 1}, {"class": "train", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a train above a potted plant"}}
|
||||
{"index": 363, "data": "a photo of a truck left of a refrigerator", "additional_info": {"tag": "position", "include": [{"class": "refrigerator", "count": 1}, {"class": "truck", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a truck left of a refrigerator"}}
|
||||
{"index": 364, "data": "a photo of a tv remote below a cow", "additional_info": {"tag": "position", "include": [{"class": "cow", "count": 1}, {"class": "tv remote", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a tv remote below a cow"}}
|
||||
{"index": 365, "data": "a photo of a bottle right of a train", "additional_info": {"tag": "position", "include": [{"class": "train", "count": 1}, {"class": "bottle", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a bottle right of a train"}}
|
||||
{"index": 366, "data": "a photo of a dog above a cow", "additional_info": {"tag": "position", "include": [{"class": "cow", "count": 1}, {"class": "dog", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a dog above a cow"}}
|
||||
{"index": 367, "data": "a photo of a skateboard above a person", "additional_info": {"tag": "position", "include": [{"class": "person", "count": 1}, {"class": "skateboard", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a skateboard above a person"}}
|
||||
{"index": 368, "data": "a photo of a baseball glove below an umbrella", "additional_info": {"tag": "position", "include": [{"class": "umbrella", "count": 1}, {"class": "baseball glove", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a baseball glove below an umbrella"}}
|
||||
{"index": 369, "data": "a photo of a dining table right of an oven", "additional_info": {"tag": "position", "include": [{"class": "oven", "count": 1}, {"class": "dining table", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a dining table right of an oven"}}
|
||||
{"index": 370, "data": "a photo of a hot dog left of a suitcase", "additional_info": {"tag": "position", "include": [{"class": "suitcase", "count": 1}, {"class": "hot dog", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a hot dog left of a suitcase"}}
|
||||
{"index": 371, "data": "a photo of a bus below a toothbrush", "additional_info": {"tag": "position", "include": [{"class": "toothbrush", "count": 1}, {"class": "bus", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a bus below a toothbrush"}}
|
||||
{"index": 372, "data": "a photo of a backpack right of a sandwich", "additional_info": {"tag": "position", "include": [{"class": "sandwich", "count": 1}, {"class": "backpack", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a backpack right of a sandwich"}}
|
||||
{"index": 373, "data": "a photo of a cake below a baseball bat", "additional_info": {"tag": "position", "include": [{"class": "baseball bat", "count": 1}, {"class": "cake", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a cake below a baseball bat"}}
|
||||
{"index": 374, "data": "a photo of a dog right of a tie", "additional_info": {"tag": "position", "include": [{"class": "tie", "count": 1}, {"class": "dog", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a dog right of a tie"}}
|
||||
{"index": 375, "data": "a photo of a suitcase right of a boat", "additional_info": {"tag": "position", "include": [{"class": "boat", "count": 1}, {"class": "suitcase", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a suitcase right of a boat"}}
|
||||
{"index": 376, "data": "a photo of a bear above a clock", "additional_info": {"tag": "position", "include": [{"class": "clock", "count": 1}, {"class": "bear", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a bear above a clock"}}
|
||||
{"index": 377, "data": "a photo of a tv remote left of an umbrella", "additional_info": {"tag": "position", "include": [{"class": "umbrella", "count": 1}, {"class": "tv remote", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a tv remote left of an umbrella"}}
|
||||
{"index": 378, "data": "a photo of a sports ball left of an umbrella", "additional_info": {"tag": "position", "include": [{"class": "umbrella", "count": 1}, {"class": "sports ball", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a sports ball left of an umbrella"}}
|
||||
{"index": 379, "data": "a photo of a train right of a dining table", "additional_info": {"tag": "position", "include": [{"class": "dining table", "count": 1}, {"class": "train", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a train right of a dining table"}}
|
||||
{"index": 380, "data": "a photo of a hair drier below an elephant", "additional_info": {"tag": "position", "include": [{"class": "elephant", "count": 1}, {"class": "hair drier", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a hair drier below an elephant"}}
|
||||
{"index": 381, "data": "a photo of a tennis racket right of a spoon", "additional_info": {"tag": "position", "include": [{"class": "spoon", "count": 1}, {"class": "tennis racket", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a tennis racket right of a spoon"}}
|
||||
{"index": 382, "data": "a photo of a wine glass right of a hot dog", "additional_info": {"tag": "position", "include": [{"class": "hot dog", "count": 1}, {"class": "wine glass", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a wine glass right of a hot dog"}}
|
||||
{"index": 383, "data": "a photo of a computer mouse left of a bench", "additional_info": {"tag": "position", "include": [{"class": "bench", "count": 1}, {"class": "computer mouse", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a computer mouse left of a bench"}}
|
||||
{"index": 384, "data": "a photo of a carrot left of an orange", "additional_info": {"tag": "position", "include": [{"class": "orange", "count": 1}, {"class": "carrot", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a carrot left of an orange"}}
|
||||
{"index": 385, "data": "a photo of a kite above a toothbrush", "additional_info": {"tag": "position", "include": [{"class": "toothbrush", "count": 1}, {"class": "kite", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a kite above a toothbrush"}}
|
||||
{"index": 386, "data": "a photo of a toaster below a traffic light", "additional_info": {"tag": "position", "include": [{"class": "traffic light", "count": 1}, {"class": "toaster", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a toaster below a traffic light"}}
|
||||
{"index": 387, "data": "a photo of a cat below a baseball glove", "additional_info": {"tag": "position", "include": [{"class": "baseball glove", "count": 1}, {"class": "cat", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a cat below a baseball glove"}}
|
||||
{"index": 388, "data": "a photo of a skis right of a zebra", "additional_info": {"tag": "position", "include": [{"class": "zebra", "count": 1}, {"class": "skis", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a skis right of a zebra"}}
|
||||
{"index": 389, "data": "a photo of a stop sign above a chair", "additional_info": {"tag": "position", "include": [{"class": "chair", "count": 1}, {"class": "stop sign", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a stop sign above a chair"}}
|
||||
{"index": 390, "data": "a photo of a stop sign above a parking meter", "additional_info": {"tag": "position", "include": [{"class": "parking meter", "count": 1}, {"class": "stop sign", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a stop sign above a parking meter"}}
|
||||
{"index": 391, "data": "a photo of a hot dog right of a skateboard", "additional_info": {"tag": "position", "include": [{"class": "skateboard", "count": 1}, {"class": "hot dog", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a hot dog right of a skateboard"}}
|
||||
{"index": 392, "data": "a photo of a pizza below a computer keyboard", "additional_info": {"tag": "position", "include": [{"class": "computer keyboard", "count": 1}, {"class": "pizza", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a pizza below a computer keyboard"}}
|
||||
{"index": 393, "data": "a photo of a hair drier left of a toilet", "additional_info": {"tag": "position", "include": [{"class": "toilet", "count": 1}, {"class": "hair drier", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a hair drier left of a toilet"}}
|
||||
{"index": 394, "data": "a photo of a cow left of a stop sign", "additional_info": {"tag": "position", "include": [{"class": "stop sign", "count": 1}, {"class": "cow", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a cow left of a stop sign"}}
|
||||
{"index": 395, "data": "a photo of a suitcase above a skis", "additional_info": {"tag": "position", "include": [{"class": "skis", "count": 1}, {"class": "suitcase", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a suitcase above a skis"}}
|
||||
{"index": 396, "data": "a photo of a book above a laptop", "additional_info": {"tag": "position", "include": [{"class": "laptop", "count": 1}, {"class": "book", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a book above a laptop"}}
|
||||
{"index": 397, "data": "a photo of a toothbrush below a pizza", "additional_info": {"tag": "position", "include": [{"class": "pizza", "count": 1}, {"class": "toothbrush", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a toothbrush below a pizza"}}
|
||||
{"index": 398, "data": "a photo of a toilet left of a kite", "additional_info": {"tag": "position", "include": [{"class": "kite", "count": 1}, {"class": "toilet", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a toilet left of a kite"}}
|
||||
{"index": 399, "data": "a photo of a tie above a sink", "additional_info": {"tag": "position", "include": [{"class": "sink", "count": 1}, {"class": "tie", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a tie above a sink"}}
|
||||
{"index": 400, "data": "a photo of a bird left of a couch", "additional_info": {"tag": "position", "include": [{"class": "couch", "count": 1}, {"class": "bird", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a bird left of a couch"}}
|
||||
{"index": 401, "data": "a photo of a bed right of a sports ball", "additional_info": {"tag": "position", "include": [{"class": "sports ball", "count": 1}, {"class": "bed", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a bed right of a sports ball"}}
|
||||
{"index": 402, "data": "a photo of an elephant below a surfboard", "additional_info": {"tag": "position", "include": [{"class": "surfboard", "count": 1}, {"class": "elephant", "count": 1, "position": ["below", 0]}], "prompt": "a photo of an elephant below a surfboard"}}
|
||||
{"index": 403, "data": "a photo of a frisbee right of a motorcycle", "additional_info": {"tag": "position", "include": [{"class": "motorcycle", "count": 1}, {"class": "frisbee", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a frisbee right of a motorcycle"}}
|
||||
{"index": 404, "data": "a photo of a vase above a fire hydrant", "additional_info": {"tag": "position", "include": [{"class": "fire hydrant", "count": 1}, {"class": "vase", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a vase above a fire hydrant"}}
|
||||
{"index": 405, "data": "a photo of a zebra left of an elephant", "additional_info": {"tag": "position", "include": [{"class": "elephant", "count": 1}, {"class": "zebra", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a zebra left of an elephant"}}
|
||||
{"index": 406, "data": "a photo of a bench left of a bear", "additional_info": {"tag": "position", "include": [{"class": "bear", "count": 1}, {"class": "bench", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a bench left of a bear"}}
|
||||
{"index": 407, "data": "a photo of a donut right of a bench", "additional_info": {"tag": "position", "include": [{"class": "bench", "count": 1}, {"class": "donut", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a donut right of a bench"}}
|
||||
{"index": 408, "data": "a photo of a frisbee below a horse", "additional_info": {"tag": "position", "include": [{"class": "horse", "count": 1}, {"class": "frisbee", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a frisbee below a horse"}}
|
||||
{"index": 409, "data": "a photo of a computer keyboard above a snowboard", "additional_info": {"tag": "position", "include": [{"class": "snowboard", "count": 1}, {"class": "computer keyboard", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a computer keyboard above a snowboard"}}
|
||||
{"index": 410, "data": "a photo of a tv below a cow", "additional_info": {"tag": "position", "include": [{"class": "cow", "count": 1}, {"class": "tv", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a tv below a cow"}}
|
||||
{"index": 411, "data": "a photo of an elephant below a horse", "additional_info": {"tag": "position", "include": [{"class": "horse", "count": 1}, {"class": "elephant", "count": 1, "position": ["below", 0]}], "prompt": "a photo of an elephant below a horse"}}
|
||||
{"index": 412, "data": "a photo of a suitcase left of a banana", "additional_info": {"tag": "position", "include": [{"class": "banana", "count": 1}, {"class": "suitcase", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a suitcase left of a banana"}}
|
||||
{"index": 413, "data": "a photo of a train below an airplane", "additional_info": {"tag": "position", "include": [{"class": "airplane", "count": 1}, {"class": "train", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a train below an airplane"}}
|
||||
{"index": 414, "data": "a photo of a cat below a backpack", "additional_info": {"tag": "position", "include": [{"class": "backpack", "count": 1}, {"class": "cat", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a cat below a backpack"}}
|
||||
{"index": 415, "data": "a photo of a backpack below a cake", "additional_info": {"tag": "position", "include": [{"class": "cake", "count": 1}, {"class": "backpack", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a backpack below a cake"}}
|
||||
{"index": 416, "data": "a photo of a sandwich below a knife", "additional_info": {"tag": "position", "include": [{"class": "knife", "count": 1}, {"class": "sandwich", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a sandwich below a knife"}}
|
||||
{"index": 417, "data": "a photo of a bicycle above a parking meter", "additional_info": {"tag": "position", "include": [{"class": "parking meter", "count": 1}, {"class": "bicycle", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a bicycle above a parking meter"}}
|
||||
{"index": 418, "data": "a photo of a knife right of a suitcase", "additional_info": {"tag": "position", "include": [{"class": "suitcase", "count": 1}, {"class": "knife", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a knife right of a suitcase"}}
|
||||
{"index": 419, "data": "a photo of a hot dog above a knife", "additional_info": {"tag": "position", "include": [{"class": "knife", "count": 1}, {"class": "hot dog", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a hot dog above a knife"}}
|
||||
{"index": 420, "data": "a photo of a zebra right of a parking meter", "additional_info": {"tag": "position", "include": [{"class": "parking meter", "count": 1}, {"class": "zebra", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a zebra right of a parking meter"}}
|
||||
{"index": 421, "data": "a photo of a chair left of a zebra", "additional_info": {"tag": "position", "include": [{"class": "zebra", "count": 1}, {"class": "chair", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a chair left of a zebra"}}
|
||||
{"index": 422, "data": "a photo of a cow below an airplane", "additional_info": {"tag": "position", "include": [{"class": "airplane", "count": 1}, {"class": "cow", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a cow below an airplane"}}
|
||||
{"index": 423, "data": "a photo of a cup left of an umbrella", "additional_info": {"tag": "position", "include": [{"class": "umbrella", "count": 1}, {"class": "cup", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a cup left of an umbrella"}}
|
||||
{"index": 424, "data": "a photo of a zebra below a computer keyboard", "additional_info": {"tag": "position", "include": [{"class": "computer keyboard", "count": 1}, {"class": "zebra", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a zebra below a computer keyboard"}}
|
||||
{"index": 425, "data": "a photo of a zebra below a broccoli", "additional_info": {"tag": "position", "include": [{"class": "broccoli", "count": 1}, {"class": "zebra", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a zebra below a broccoli"}}
|
||||
{"index": 426, "data": "a photo of a laptop below a sports ball", "additional_info": {"tag": "position", "include": [{"class": "sports ball", "count": 1}, {"class": "laptop", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a laptop below a sports ball"}}
|
||||
{"index": 427, "data": "a photo of a truck left of a baseball bat", "additional_info": {"tag": "position", "include": [{"class": "baseball bat", "count": 1}, {"class": "truck", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a truck left of a baseball bat"}}
|
||||
{"index": 428, "data": "a photo of a refrigerator above a baseball bat", "additional_info": {"tag": "position", "include": [{"class": "baseball bat", "count": 1}, {"class": "refrigerator", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a refrigerator above a baseball bat"}}
|
||||
{"index": 429, "data": "a photo of a tv above a baseball bat", "additional_info": {"tag": "position", "include": [{"class": "baseball bat", "count": 1}, {"class": "tv", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a tv above a baseball bat"}}
|
||||
{"index": 430, "data": "a photo of a baseball glove right of a bear", "additional_info": {"tag": "position", "include": [{"class": "bear", "count": 1}, {"class": "baseball glove", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a baseball glove right of a bear"}}
|
||||
{"index": 431, "data": "a photo of a refrigerator below a scissors", "additional_info": {"tag": "position", "include": [{"class": "scissors", "count": 1}, {"class": "refrigerator", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a refrigerator below a scissors"}}
|
||||
{"index": 432, "data": "a photo of a dining table above a suitcase", "additional_info": {"tag": "position", "include": [{"class": "suitcase", "count": 1}, {"class": "dining table", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a dining table above a suitcase"}}
|
||||
{"index": 433, "data": "a photo of a parking meter above a broccoli", "additional_info": {"tag": "position", "include": [{"class": "broccoli", "count": 1}, {"class": "parking meter", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a parking meter above a broccoli"}}
|
||||
{"index": 434, "data": "a photo of a frisbee above a truck", "additional_info": {"tag": "position", "include": [{"class": "truck", "count": 1}, {"class": "frisbee", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a frisbee above a truck"}}
|
||||
{"index": 435, "data": "a photo of a pizza right of a banana", "additional_info": {"tag": "position", "include": [{"class": "banana", "count": 1}, {"class": "pizza", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a pizza right of a banana"}}
|
||||
{"index": 436, "data": "a photo of a bus above a boat", "additional_info": {"tag": "position", "include": [{"class": "boat", "count": 1}, {"class": "bus", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a bus above a boat"}}
|
||||
{"index": 437, "data": "a photo of a cell phone left of a tennis racket", "additional_info": {"tag": "position", "include": [{"class": "tennis racket", "count": 1}, {"class": "cell phone", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a cell phone left of a tennis racket"}}
|
||||
{"index": 438, "data": "a photo of a horse right of a broccoli", "additional_info": {"tag": "position", "include": [{"class": "broccoli", "count": 1}, {"class": "horse", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a horse right of a broccoli"}}
|
||||
{"index": 439, "data": "a photo of a broccoli above a bottle", "additional_info": {"tag": "position", "include": [{"class": "bottle", "count": 1}, {"class": "broccoli", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a broccoli above a bottle"}}
|
||||
{"index": 440, "data": "a photo of a vase right of a horse", "additional_info": {"tag": "position", "include": [{"class": "horse", "count": 1}, {"class": "vase", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a vase right of a horse"}}
|
||||
{"index": 441, "data": "a photo of a bear above a spoon", "additional_info": {"tag": "position", "include": [{"class": "spoon", "count": 1}, {"class": "bear", "count": 1, "position": ["above", 0]}], "prompt": "a photo of a bear above a spoon"}}
|
||||
{"index": 442, "data": "a photo of a zebra right of a bed", "additional_info": {"tag": "position", "include": [{"class": "bed", "count": 1}, {"class": "zebra", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a zebra right of a bed"}}
|
||||
{"index": 443, "data": "a photo of a cow right of a laptop", "additional_info": {"tag": "position", "include": [{"class": "laptop", "count": 1}, {"class": "cow", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a cow right of a laptop"}}
|
||||
{"index": 444, "data": "a photo of a bed right of a frisbee", "additional_info": {"tag": "position", "include": [{"class": "frisbee", "count": 1}, {"class": "bed", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a bed right of a frisbee"}}
|
||||
{"index": 445, "data": "a photo of a tie right of a motorcycle", "additional_info": {"tag": "position", "include": [{"class": "motorcycle", "count": 1}, {"class": "tie", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a tie right of a motorcycle"}}
|
||||
{"index": 446, "data": "a photo of a laptop right of a tv", "additional_info": {"tag": "position", "include": [{"class": "tv", "count": 1}, {"class": "laptop", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a laptop right of a tv"}}
|
||||
{"index": 447, "data": "a photo of a cell phone right of a chair", "additional_info": {"tag": "position", "include": [{"class": "chair", "count": 1}, {"class": "cell phone", "count": 1, "position": ["right of", 0]}], "prompt": "a photo of a cell phone right of a chair"}}
|
||||
{"index": 448, "data": "a photo of a couch below a potted plant", "additional_info": {"tag": "position", "include": [{"class": "potted plant", "count": 1}, {"class": "couch", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a couch below a potted plant"}}
|
||||
{"index": 449, "data": "a photo of a clock below a tv", "additional_info": {"tag": "position", "include": [{"class": "tv", "count": 1}, {"class": "clock", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a clock below a tv"}}
|
||||
{"index": 450, "data": "a photo of a couch below a vase", "additional_info": {"tag": "position", "include": [{"class": "vase", "count": 1}, {"class": "couch", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a couch below a vase"}}
|
||||
{"index": 451, "data": "a photo of a donut below a cat", "additional_info": {"tag": "position", "include": [{"class": "cat", "count": 1}, {"class": "donut", "count": 1, "position": ["below", 0]}], "prompt": "a photo of a donut below a cat"}}
|
||||
{"index": 452, "data": "a photo of a couch left of a toaster", "additional_info": {"tag": "position", "include": [{"class": "toaster", "count": 1}, {"class": "couch", "count": 1, "position": ["left of", 0]}], "prompt": "a photo of a couch left of a toaster"}}
|
||||
{"index": 453, "data": "a photo of a purple wine glass and a black apple", "additional_info": {"tag": "color_attr", "include": [{"class": "wine glass", "count": 1, "color": "purple"}, {"class": "apple", "count": 1, "color": "black"}], "prompt": "a photo of a purple wine glass and a black apple"}}
|
||||
{"index": 454, "data": "a photo of a green bus and a purple microwave", "additional_info": {"tag": "color_attr", "include": [{"class": "bus", "count": 1, "color": "green"}, {"class": "microwave", "count": 1, "color": "purple"}], "prompt": "a photo of a green bus and a purple microwave"}}
|
||||
{"index": 455, "data": "a photo of a green skis and a brown airplane", "additional_info": {"tag": "color_attr", "include": [{"class": "skis", "count": 1, "color": "green"}, {"class": "airplane", "count": 1, "color": "brown"}], "prompt": "a photo of a green skis and a brown airplane"}}
|
||||
{"index": 456, "data": "a photo of a yellow computer keyboard and a black sink", "additional_info": {"tag": "color_attr", "include": [{"class": "computer keyboard", "count": 1, "color": "yellow"}, {"class": "sink", "count": 1, "color": "black"}], "prompt": "a photo of a yellow computer keyboard and a black sink"}}
|
||||
{"index": 457, "data": "a photo of a pink oven and a green motorcycle", "additional_info": {"tag": "color_attr", "include": [{"class": "oven", "count": 1, "color": "pink"}, {"class": "motorcycle", "count": 1, "color": "green"}], "prompt": "a photo of a pink oven and a green motorcycle"}}
|
||||
{"index": 458, "data": "a photo of a purple parking meter and a red laptop", "additional_info": {"tag": "color_attr", "include": [{"class": "parking meter", "count": 1, "color": "purple"}, {"class": "laptop", "count": 1, "color": "red"}], "prompt": "a photo of a purple parking meter and a red laptop"}}
|
||||
{"index": 459, "data": "a photo of a yellow skateboard and an orange computer mouse", "additional_info": {"tag": "color_attr", "include": [{"class": "skateboard", "count": 1, "color": "yellow"}, {"class": "computer mouse", "count": 1, "color": "orange"}], "prompt": "a photo of a yellow skateboard and an orange computer mouse"}}
|
||||
{"index": 460, "data": "a photo of a red skis and a brown tie", "additional_info": {"tag": "color_attr", "include": [{"class": "skis", "count": 1, "color": "red"}, {"class": "tie", "count": 1, "color": "brown"}], "prompt": "a photo of a red skis and a brown tie"}}
|
||||
{"index": 461, "data": "a photo of a pink skateboard and a black train", "additional_info": {"tag": "color_attr", "include": [{"class": "skateboard", "count": 1, "color": "pink"}, {"class": "train", "count": 1, "color": "black"}], "prompt": "a photo of a pink skateboard and a black train"}}
|
||||
{"index": 462, "data": "a photo of a white handbag and a purple bed", "additional_info": {"tag": "color_attr", "include": [{"class": "handbag", "count": 1, "color": "white"}, {"class": "bed", "count": 1, "color": "purple"}], "prompt": "a photo of a white handbag and a purple bed"}}
|
||||
{"index": 463, "data": "a photo of a purple elephant and a brown sports ball", "additional_info": {"tag": "color_attr", "include": [{"class": "elephant", "count": 1, "color": "purple"}, {"class": "sports ball", "count": 1, "color": "brown"}], "prompt": "a photo of a purple elephant and a brown sports ball"}}
|
||||
{"index": 464, "data": "a photo of a purple dog and a black dining table", "additional_info": {"tag": "color_attr", "include": [{"class": "dog", "count": 1, "color": "purple"}, {"class": "dining table", "count": 1, "color": "black"}], "prompt": "a photo of a purple dog and a black dining table"}}
|
||||
{"index": 465, "data": "a photo of a white dining table and a red car", "additional_info": {"tag": "color_attr", "include": [{"class": "dining table", "count": 1, "color": "white"}, {"class": "car", "count": 1, "color": "red"}], "prompt": "a photo of a white dining table and a red car"}}
|
||||
{"index": 466, "data": "a photo of a blue cell phone and a green apple", "additional_info": {"tag": "color_attr", "include": [{"class": "cell phone", "count": 1, "color": "blue"}, {"class": "apple", "count": 1, "color": "green"}], "prompt": "a photo of a blue cell phone and a green apple"}}
|
||||
{"index": 467, "data": "a photo of a red car and an orange potted plant", "additional_info": {"tag": "color_attr", "include": [{"class": "car", "count": 1, "color": "red"}, {"class": "potted plant", "count": 1, "color": "orange"}], "prompt": "a photo of a red car and an orange potted plant"}}
|
||||
{"index": 468, "data": "a photo of a brown carrot and a white potted plant", "additional_info": {"tag": "color_attr", "include": [{"class": "carrot", "count": 1, "color": "brown"}, {"class": "potted plant", "count": 1, "color": "white"}], "prompt": "a photo of a brown carrot and a white potted plant"}}
|
||||
{"index": 469, "data": "a photo of a black kite and a green bear", "additional_info": {"tag": "color_attr", "include": [{"class": "kite", "count": 1, "color": "black"}, {"class": "bear", "count": 1, "color": "green"}], "prompt": "a photo of a black kite and a green bear"}}
|
||||
{"index": 470, "data": "a photo of a blue laptop and a brown bear", "additional_info": {"tag": "color_attr", "include": [{"class": "laptop", "count": 1, "color": "blue"}, {"class": "bear", "count": 1, "color": "brown"}], "prompt": "a photo of a blue laptop and a brown bear"}}
|
||||
{"index": 471, "data": "a photo of a green teddy bear and a brown kite", "additional_info": {"tag": "color_attr", "include": [{"class": "teddy bear", "count": 1, "color": "green"}, {"class": "kite", "count": 1, "color": "brown"}], "prompt": "a photo of a green teddy bear and a brown kite"}}
|
||||
{"index": 472, "data": "a photo of a yellow stop sign and a blue potted plant", "additional_info": {"tag": "color_attr", "include": [{"class": "stop sign", "count": 1, "color": "yellow"}, {"class": "potted plant", "count": 1, "color": "blue"}], "prompt": "a photo of a yellow stop sign and a blue potted plant"}}
|
||||
{"index": 473, "data": "a photo of an orange snowboard and a green cat", "additional_info": {"tag": "color_attr", "include": [{"class": "snowboard", "count": 1, "color": "orange"}, {"class": "cat", "count": 1, "color": "green"}], "prompt": "a photo of an orange snowboard and a green cat"}}
|
||||
{"index": 474, "data": "a photo of an orange truck and a pink sink", "additional_info": {"tag": "color_attr", "include": [{"class": "truck", "count": 1, "color": "orange"}, {"class": "sink", "count": 1, "color": "pink"}], "prompt": "a photo of an orange truck and a pink sink"}}
|
||||
{"index": 475, "data": "a photo of a brown hot dog and a purple pizza", "additional_info": {"tag": "color_attr", "include": [{"class": "hot dog", "count": 1, "color": "brown"}, {"class": "pizza", "count": 1, "color": "purple"}], "prompt": "a photo of a brown hot dog and a purple pizza"}}
|
||||
{"index": 476, "data": "a photo of a green couch and an orange umbrella", "additional_info": {"tag": "color_attr", "include": [{"class": "couch", "count": 1, "color": "green"}, {"class": "umbrella", "count": 1, "color": "orange"}], "prompt": "a photo of a green couch and an orange umbrella"}}
|
||||
{"index": 477, "data": "a photo of a brown bed and a pink cell phone", "additional_info": {"tag": "color_attr", "include": [{"class": "bed", "count": 1, "color": "brown"}, {"class": "cell phone", "count": 1, "color": "pink"}], "prompt": "a photo of a brown bed and a pink cell phone"}}
|
||||
{"index": 478, "data": "a photo of a black broccoli and a yellow cake", "additional_info": {"tag": "color_attr", "include": [{"class": "broccoli", "count": 1, "color": "black"}, {"class": "cake", "count": 1, "color": "yellow"}], "prompt": "a photo of a black broccoli and a yellow cake"}}
|
||||
{"index": 479, "data": "a photo of a red train and a purple bear", "additional_info": {"tag": "color_attr", "include": [{"class": "train", "count": 1, "color": "red"}, {"class": "bear", "count": 1, "color": "purple"}], "prompt": "a photo of a red train and a purple bear"}}
|
||||
{"index": 480, "data": "a photo of a purple tennis racket and a black sink", "additional_info": {"tag": "color_attr", "include": [{"class": "tennis racket", "count": 1, "color": "purple"}, {"class": "sink", "count": 1, "color": "black"}], "prompt": "a photo of a purple tennis racket and a black sink"}}
|
||||
{"index": 481, "data": "a photo of a blue vase and a black banana", "additional_info": {"tag": "color_attr", "include": [{"class": "vase", "count": 1, "color": "blue"}, {"class": "banana", "count": 1, "color": "black"}], "prompt": "a photo of a blue vase and a black banana"}}
|
||||
{"index": 482, "data": "a photo of a blue clock and a white cup", "additional_info": {"tag": "color_attr", "include": [{"class": "clock", "count": 1, "color": "blue"}, {"class": "cup", "count": 1, "color": "white"}], "prompt": "a photo of a blue clock and a white cup"}}
|
||||
{"index": 483, "data": "a photo of a red umbrella and a blue couch", "additional_info": {"tag": "color_attr", "include": [{"class": "umbrella", "count": 1, "color": "red"}, {"class": "couch", "count": 1, "color": "blue"}], "prompt": "a photo of a red umbrella and a blue couch"}}
|
||||
{"index": 484, "data": "a photo of a white handbag and a red giraffe", "additional_info": {"tag": "color_attr", "include": [{"class": "handbag", "count": 1, "color": "white"}, {"class": "giraffe", "count": 1, "color": "red"}], "prompt": "a photo of a white handbag and a red giraffe"}}
|
||||
{"index": 485, "data": "a photo of a pink tv remote and a blue airplane", "additional_info": {"tag": "color_attr", "include": [{"class": "tv remote", "count": 1, "color": "pink"}, {"class": "airplane", "count": 1, "color": "blue"}], "prompt": "a photo of a pink tv remote and a blue airplane"}}
|
||||
{"index": 486, "data": "a photo of a pink handbag and a black scissors", "additional_info": {"tag": "color_attr", "include": [{"class": "handbag", "count": 1, "color": "pink"}, {"class": "scissors", "count": 1, "color": "black"}], "prompt": "a photo of a pink handbag and a black scissors"}}
|
||||
{"index": 487, "data": "a photo of a brown car and a pink hair drier", "additional_info": {"tag": "color_attr", "include": [{"class": "car", "count": 1, "color": "brown"}, {"class": "hair drier", "count": 1, "color": "pink"}], "prompt": "a photo of a brown car and a pink hair drier"}}
|
||||
{"index": 488, "data": "a photo of a black bus and a brown cell phone", "additional_info": {"tag": "color_attr", "include": [{"class": "bus", "count": 1, "color": "black"}, {"class": "cell phone", "count": 1, "color": "brown"}], "prompt": "a photo of a black bus and a brown cell phone"}}
|
||||
{"index": 489, "data": "a photo of a purple sheep and a pink banana", "additional_info": {"tag": "color_attr", "include": [{"class": "sheep", "count": 1, "color": "purple"}, {"class": "banana", "count": 1, "color": "pink"}], "prompt": "a photo of a purple sheep and a pink banana"}}
|
||||
{"index": 490, "data": "a photo of a blue handbag and a white cell phone", "additional_info": {"tag": "color_attr", "include": [{"class": "handbag", "count": 1, "color": "blue"}, {"class": "cell phone", "count": 1, "color": "white"}], "prompt": "a photo of a blue handbag and a white cell phone"}}
|
||||
{"index": 491, "data": "a photo of a white pizza and a green umbrella", "additional_info": {"tag": "color_attr", "include": [{"class": "pizza", "count": 1, "color": "white"}, {"class": "umbrella", "count": 1, "color": "green"}], "prompt": "a photo of a white pizza and a green umbrella"}}
|
||||
{"index": 492, "data": "a photo of a white tie and a purple skateboard", "additional_info": {"tag": "color_attr", "include": [{"class": "tie", "count": 1, "color": "white"}, {"class": "skateboard", "count": 1, "color": "purple"}], "prompt": "a photo of a white tie and a purple skateboard"}}
|
||||
{"index": 493, "data": "a photo of a yellow sports ball and a green boat", "additional_info": {"tag": "color_attr", "include": [{"class": "sports ball", "count": 1, "color": "yellow"}, {"class": "boat", "count": 1, "color": "green"}], "prompt": "a photo of a yellow sports ball and a green boat"}}
|
||||
{"index": 494, "data": "a photo of a white wine glass and a brown giraffe", "additional_info": {"tag": "color_attr", "include": [{"class": "wine glass", "count": 1, "color": "white"}, {"class": "giraffe", "count": 1, "color": "brown"}], "prompt": "a photo of a white wine glass and a brown giraffe"}}
|
||||
{"index": 495, "data": "a photo of a yellow bowl and a white baseball glove", "additional_info": {"tag": "color_attr", "include": [{"class": "bowl", "count": 1, "color": "yellow"}, {"class": "baseball glove", "count": 1, "color": "white"}], "prompt": "a photo of a yellow bowl and a white baseball glove"}}
|
||||
{"index": 496, "data": "a photo of an orange microwave and a black spoon", "additional_info": {"tag": "color_attr", "include": [{"class": "microwave", "count": 1, "color": "orange"}, {"class": "spoon", "count": 1, "color": "black"}], "prompt": "a photo of an orange microwave and a black spoon"}}
|
||||
{"index": 497, "data": "a photo of an orange skateboard and a pink bowl", "additional_info": {"tag": "color_attr", "include": [{"class": "skateboard", "count": 1, "color": "orange"}, {"class": "bowl", "count": 1, "color": "pink"}], "prompt": "a photo of an orange skateboard and a pink bowl"}}
|
||||
{"index": 498, "data": "a photo of a blue toilet and a white suitcase", "additional_info": {"tag": "color_attr", "include": [{"class": "toilet", "count": 1, "color": "blue"}, {"class": "suitcase", "count": 1, "color": "white"}], "prompt": "a photo of a blue toilet and a white suitcase"}}
|
||||
{"index": 499, "data": "a photo of a white boat and an orange hot dog", "additional_info": {"tag": "color_attr", "include": [{"class": "boat", "count": 1, "color": "white"}, {"class": "hot dog", "count": 1, "color": "orange"}], "prompt": "a photo of a white boat and an orange hot dog"}}
|
||||
{"index": 500, "data": "a photo of a yellow dining table and a pink dog", "additional_info": {"tag": "color_attr", "include": [{"class": "dining table", "count": 1, "color": "yellow"}, {"class": "dog", "count": 1, "color": "pink"}], "prompt": "a photo of a yellow dining table and a pink dog"}}
|
||||
{"index": 501, "data": "a photo of a red cake and a purple chair", "additional_info": {"tag": "color_attr", "include": [{"class": "cake", "count": 1, "color": "red"}, {"class": "chair", "count": 1, "color": "purple"}], "prompt": "a photo of a red cake and a purple chair"}}
|
||||
{"index": 502, "data": "a photo of a blue tie and a pink dining table", "additional_info": {"tag": "color_attr", "include": [{"class": "tie", "count": 1, "color": "blue"}, {"class": "dining table", "count": 1, "color": "pink"}], "prompt": "a photo of a blue tie and a pink dining table"}}
|
||||
{"index": 503, "data": "a photo of a blue cow and a black computer keyboard", "additional_info": {"tag": "color_attr", "include": [{"class": "cow", "count": 1, "color": "blue"}, {"class": "computer keyboard", "count": 1, "color": "black"}], "prompt": "a photo of a blue cow and a black computer keyboard"}}
|
||||
{"index": 504, "data": "a photo of a yellow pizza and a green oven", "additional_info": {"tag": "color_attr", "include": [{"class": "pizza", "count": 1, "color": "yellow"}, {"class": "oven", "count": 1, "color": "green"}], "prompt": "a photo of a yellow pizza and a green oven"}}
|
||||
{"index": 505, "data": "a photo of a red laptop and a brown car", "additional_info": {"tag": "color_attr", "include": [{"class": "laptop", "count": 1, "color": "red"}, {"class": "car", "count": 1, "color": "brown"}], "prompt": "a photo of a red laptop and a brown car"}}
|
||||
{"index": 506, "data": "a photo of a purple computer keyboard and a blue scissors", "additional_info": {"tag": "color_attr", "include": [{"class": "computer keyboard", "count": 1, "color": "purple"}, {"class": "scissors", "count": 1, "color": "blue"}], "prompt": "a photo of a purple computer keyboard and a blue scissors"}}
|
||||
{"index": 507, "data": "a photo of a green surfboard and an orange oven", "additional_info": {"tag": "color_attr", "include": [{"class": "surfboard", "count": 1, "color": "green"}, {"class": "oven", "count": 1, "color": "orange"}], "prompt": "a photo of a green surfboard and an orange oven"}}
|
||||
{"index": 508, "data": "a photo of a yellow parking meter and a pink refrigerator", "additional_info": {"tag": "color_attr", "include": [{"class": "parking meter", "count": 1, "color": "yellow"}, {"class": "refrigerator", "count": 1, "color": "pink"}], "prompt": "a photo of a yellow parking meter and a pink refrigerator"}}
|
||||
{"index": 509, "data": "a photo of a brown computer mouse and a purple bottle", "additional_info": {"tag": "color_attr", "include": [{"class": "computer mouse", "count": 1, "color": "brown"}, {"class": "bottle", "count": 1, "color": "purple"}], "prompt": "a photo of a brown computer mouse and a purple bottle"}}
|
||||
{"index": 510, "data": "a photo of a red umbrella and a green cow", "additional_info": {"tag": "color_attr", "include": [{"class": "umbrella", "count": 1, "color": "red"}, {"class": "cow", "count": 1, "color": "green"}], "prompt": "a photo of a red umbrella and a green cow"}}
|
||||
{"index": 511, "data": "a photo of a red giraffe and a black cell phone", "additional_info": {"tag": "color_attr", "include": [{"class": "giraffe", "count": 1, "color": "red"}, {"class": "cell phone", "count": 1, "color": "black"}], "prompt": "a photo of a red giraffe and a black cell phone"}}
|
||||
{"index": 512, "data": "a photo of a brown oven and a purple train", "additional_info": {"tag": "color_attr", "include": [{"class": "oven", "count": 1, "color": "brown"}, {"class": "train", "count": 1, "color": "purple"}], "prompt": "a photo of a brown oven and a purple train"}}
|
||||
{"index": 513, "data": "a photo of a blue baseball bat and a pink book", "additional_info": {"tag": "color_attr", "include": [{"class": "baseball bat", "count": 1, "color": "blue"}, {"class": "book", "count": 1, "color": "pink"}], "prompt": "a photo of a blue baseball bat and a pink book"}}
|
||||
{"index": 514, "data": "a photo of a green cup and a yellow bowl", "additional_info": {"tag": "color_attr", "include": [{"class": "cup", "count": 1, "color": "green"}, {"class": "bowl", "count": 1, "color": "yellow"}], "prompt": "a photo of a green cup and a yellow bowl"}}
|
||||
{"index": 515, "data": "a photo of a yellow suitcase and a brown bus", "additional_info": {"tag": "color_attr", "include": [{"class": "suitcase", "count": 1, "color": "yellow"}, {"class": "bus", "count": 1, "color": "brown"}], "prompt": "a photo of a yellow suitcase and a brown bus"}}
|
||||
{"index": 516, "data": "a photo of an orange motorcycle and a pink donut", "additional_info": {"tag": "color_attr", "include": [{"class": "motorcycle", "count": 1, "color": "orange"}, {"class": "donut", "count": 1, "color": "pink"}], "prompt": "a photo of an orange motorcycle and a pink donut"}}
|
||||
{"index": 517, "data": "a photo of an orange giraffe and a white baseball glove", "additional_info": {"tag": "color_attr", "include": [{"class": "giraffe", "count": 1, "color": "orange"}, {"class": "baseball glove", "count": 1, "color": "white"}], "prompt": "a photo of an orange giraffe and a white baseball glove"}}
|
||||
{"index": 518, "data": "a photo of an orange handbag and a green carrot", "additional_info": {"tag": "color_attr", "include": [{"class": "handbag", "count": 1, "color": "orange"}, {"class": "carrot", "count": 1, "color": "green"}], "prompt": "a photo of an orange handbag and a green carrot"}}
|
||||
{"index": 519, "data": "a photo of a black bottle and a white refrigerator", "additional_info": {"tag": "color_attr", "include": [{"class": "bottle", "count": 1, "color": "black"}, {"class": "refrigerator", "count": 1, "color": "white"}], "prompt": "a photo of a black bottle and a white refrigerator"}}
|
||||
{"index": 520, "data": "a photo of a white dog and a blue potted plant", "additional_info": {"tag": "color_attr", "include": [{"class": "dog", "count": 1, "color": "white"}, {"class": "potted plant", "count": 1, "color": "blue"}], "prompt": "a photo of a white dog and a blue potted plant"}}
|
||||
{"index": 521, "data": "a photo of an orange handbag and a red car", "additional_info": {"tag": "color_attr", "include": [{"class": "handbag", "count": 1, "color": "orange"}, {"class": "car", "count": 1, "color": "red"}], "prompt": "a photo of an orange handbag and a red car"}}
|
||||
{"index": 522, "data": "a photo of a red stop sign and a blue book", "additional_info": {"tag": "color_attr", "include": [{"class": "stop sign", "count": 1, "color": "red"}, {"class": "book", "count": 1, "color": "blue"}], "prompt": "a photo of a red stop sign and a blue book"}}
|
||||
{"index": 523, "data": "a photo of a yellow car and an orange toothbrush", "additional_info": {"tag": "color_attr", "include": [{"class": "car", "count": 1, "color": "yellow"}, {"class": "toothbrush", "count": 1, "color": "orange"}], "prompt": "a photo of a yellow car and an orange toothbrush"}}
|
||||
{"index": 524, "data": "a photo of a black potted plant and a yellow toilet", "additional_info": {"tag": "color_attr", "include": [{"class": "potted plant", "count": 1, "color": "black"}, {"class": "toilet", "count": 1, "color": "yellow"}], "prompt": "a photo of a black potted plant and a yellow toilet"}}
|
||||
{"index": 525, "data": "a photo of a brown dining table and a white suitcase", "additional_info": {"tag": "color_attr", "include": [{"class": "dining table", "count": 1, "color": "brown"}, {"class": "suitcase", "count": 1, "color": "white"}], "prompt": "a photo of a brown dining table and a white suitcase"}}
|
||||
{"index": 526, "data": "a photo of an orange donut and a yellow stop sign", "additional_info": {"tag": "color_attr", "include": [{"class": "donut", "count": 1, "color": "orange"}, {"class": "stop sign", "count": 1, "color": "yellow"}], "prompt": "a photo of an orange donut and a yellow stop sign"}}
|
||||
{"index": 527, "data": "a photo of a green suitcase and a blue boat", "additional_info": {"tag": "color_attr", "include": [{"class": "suitcase", "count": 1, "color": "green"}, {"class": "boat", "count": 1, "color": "blue"}], "prompt": "a photo of a green suitcase and a blue boat"}}
|
||||
{"index": 528, "data": "a photo of an orange tennis racket and a yellow sports ball", "additional_info": {"tag": "color_attr", "include": [{"class": "tennis racket", "count": 1, "color": "orange"}, {"class": "sports ball", "count": 1, "color": "yellow"}], "prompt": "a photo of an orange tennis racket and a yellow sports ball"}}
|
||||
{"index": 529, "data": "a photo of a purple computer keyboard and a red chair", "additional_info": {"tag": "color_attr", "include": [{"class": "computer keyboard", "count": 1, "color": "purple"}, {"class": "chair", "count": 1, "color": "red"}], "prompt": "a photo of a purple computer keyboard and a red chair"}}
|
||||
{"index": 530, "data": "a photo of a purple suitcase and an orange pizza", "additional_info": {"tag": "color_attr", "include": [{"class": "suitcase", "count": 1, "color": "purple"}, {"class": "pizza", "count": 1, "color": "orange"}], "prompt": "a photo of a purple suitcase and an orange pizza"}}
|
||||
{"index": 531, "data": "a photo of a white bottle and a blue sheep", "additional_info": {"tag": "color_attr", "include": [{"class": "bottle", "count": 1, "color": "white"}, {"class": "sheep", "count": 1, "color": "blue"}], "prompt": "a photo of a white bottle and a blue sheep"}}
|
||||
{"index": 532, "data": "a photo of a purple backpack and a white umbrella", "additional_info": {"tag": "color_attr", "include": [{"class": "backpack", "count": 1, "color": "purple"}, {"class": "umbrella", "count": 1, "color": "white"}], "prompt": "a photo of a purple backpack and a white umbrella"}}
|
||||
{"index": 533, "data": "a photo of an orange potted plant and a black spoon", "additional_info": {"tag": "color_attr", "include": [{"class": "potted plant", "count": 1, "color": "orange"}, {"class": "spoon", "count": 1, "color": "black"}], "prompt": "a photo of an orange potted plant and a black spoon"}}
|
||||
{"index": 534, "data": "a photo of a green tennis racket and a black dog", "additional_info": {"tag": "color_attr", "include": [{"class": "tennis racket", "count": 1, "color": "green"}, {"class": "dog", "count": 1, "color": "black"}], "prompt": "a photo of a green tennis racket and a black dog"}}
|
||||
{"index": 535, "data": "a photo of a yellow handbag and a blue refrigerator", "additional_info": {"tag": "color_attr", "include": [{"class": "handbag", "count": 1, "color": "yellow"}, {"class": "refrigerator", "count": 1, "color": "blue"}], "prompt": "a photo of a yellow handbag and a blue refrigerator"}}
|
||||
{"index": 536, "data": "a photo of a pink broccoli and a red sink", "additional_info": {"tag": "color_attr", "include": [{"class": "broccoli", "count": 1, "color": "pink"}, {"class": "sink", "count": 1, "color": "red"}], "prompt": "a photo of a pink broccoli and a red sink"}}
|
||||
{"index": 537, "data": "a photo of a red bowl and a pink sink", "additional_info": {"tag": "color_attr", "include": [{"class": "bowl", "count": 1, "color": "red"}, {"class": "sink", "count": 1, "color": "pink"}], "prompt": "a photo of a red bowl and a pink sink"}}
|
||||
{"index": 538, "data": "a photo of a white toilet and a red apple", "additional_info": {"tag": "color_attr", "include": [{"class": "toilet", "count": 1, "color": "white"}, {"class": "apple", "count": 1, "color": "red"}], "prompt": "a photo of a white toilet and a red apple"}}
|
||||
{"index": 539, "data": "a photo of a pink dining table and a black sandwich", "additional_info": {"tag": "color_attr", "include": [{"class": "dining table", "count": 1, "color": "pink"}, {"class": "sandwich", "count": 1, "color": "black"}], "prompt": "a photo of a pink dining table and a black sandwich"}}
|
||||
{"index": 540, "data": "a photo of a black car and a green parking meter", "additional_info": {"tag": "color_attr", "include": [{"class": "car", "count": 1, "color": "black"}, {"class": "parking meter", "count": 1, "color": "green"}], "prompt": "a photo of a black car and a green parking meter"}}
|
||||
{"index": 541, "data": "a photo of a yellow bird and a black motorcycle", "additional_info": {"tag": "color_attr", "include": [{"class": "bird", "count": 1, "color": "yellow"}, {"class": "motorcycle", "count": 1, "color": "black"}], "prompt": "a photo of a yellow bird and a black motorcycle"}}
|
||||
{"index": 542, "data": "a photo of a brown giraffe and a white stop sign", "additional_info": {"tag": "color_attr", "include": [{"class": "giraffe", "count": 1, "color": "brown"}, {"class": "stop sign", "count": 1, "color": "white"}], "prompt": "a photo of a brown giraffe and a white stop sign"}}
|
||||
{"index": 543, "data": "a photo of a white banana and a black elephant", "additional_info": {"tag": "color_attr", "include": [{"class": "banana", "count": 1, "color": "white"}, {"class": "elephant", "count": 1, "color": "black"}], "prompt": "a photo of a white banana and a black elephant"}}
|
||||
{"index": 544, "data": "a photo of an orange cow and a purple sandwich", "additional_info": {"tag": "color_attr", "include": [{"class": "cow", "count": 1, "color": "orange"}, {"class": "sandwich", "count": 1, "color": "purple"}], "prompt": "a photo of an orange cow and a purple sandwich"}}
|
||||
{"index": 545, "data": "a photo of a red clock and a black cell phone", "additional_info": {"tag": "color_attr", "include": [{"class": "clock", "count": 1, "color": "red"}, {"class": "cell phone", "count": 1, "color": "black"}], "prompt": "a photo of a red clock and a black cell phone"}}
|
||||
{"index": 546, "data": "a photo of a brown knife and a blue donut", "additional_info": {"tag": "color_attr", "include": [{"class": "knife", "count": 1, "color": "brown"}, {"class": "donut", "count": 1, "color": "blue"}], "prompt": "a photo of a brown knife and a blue donut"}}
|
||||
{"index": 547, "data": "a photo of a red cup and a pink handbag", "additional_info": {"tag": "color_attr", "include": [{"class": "cup", "count": 1, "color": "red"}, {"class": "handbag", "count": 1, "color": "pink"}], "prompt": "a photo of a red cup and a pink handbag"}}
|
||||
{"index": 548, "data": "a photo of a yellow bicycle and a red motorcycle", "additional_info": {"tag": "color_attr", "include": [{"class": "bicycle", "count": 1, "color": "yellow"}, {"class": "motorcycle", "count": 1, "color": "red"}], "prompt": "a photo of a yellow bicycle and a red motorcycle"}}
|
||||
{"index": 549, "data": "a photo of a red orange and a purple broccoli", "additional_info": {"tag": "color_attr", "include": [{"class": "orange", "count": 1, "color": "red"}, {"class": "broccoli", "count": 1, "color": "purple"}], "prompt": "a photo of a red orange and a purple broccoli"}}
|
||||
{"index": 550, "data": "a photo of an orange traffic light and a white toilet", "additional_info": {"tag": "color_attr", "include": [{"class": "traffic light", "count": 1, "color": "orange"}, {"class": "toilet", "count": 1, "color": "white"}], "prompt": "a photo of an orange traffic light and a white toilet"}}
|
||||
{"index": 551, "data": "a photo of a green cup and a red pizza", "additional_info": {"tag": "color_attr", "include": [{"class": "cup", "count": 1, "color": "green"}, {"class": "pizza", "count": 1, "color": "red"}], "prompt": "a photo of a green cup and a red pizza"}}
|
||||
{"index": 552, "data": "a photo of a blue pizza and a yellow baseball glove", "additional_info": {"tag": "color_attr", "include": [{"class": "pizza", "count": 1, "color": "blue"}, {"class": "baseball glove", "count": 1, "color": "yellow"}], "prompt": "a photo of a blue pizza and a yellow baseball glove"}}
|
||||
@@ -0,0 +1,73 @@
|
||||
[Chinese Version](./README_zh.md)
|
||||
|
||||
# GenEVAL Image Generation Evaluation
|
||||
|
||||
Benchmark evaluation scripts for GenEVAL based on the Lance model.
|
||||
|
||||
## Files
|
||||
|
||||
- `sample_GenEVAL.py` - Python inference script
|
||||
- `sample_GenEVAL.sh` - Launch script (recommended)
|
||||
- `GenEVAL.jsonl` - Evaluation dataset
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Basic Usage
|
||||
|
||||
```bash
|
||||
bash benchmarks/image_gen/GenEVAL/sample_GenEVAL.sh
|
||||
```
|
||||
|
||||
Before running, edit the "Inference Parameters" section at the top of `benchmarks/image_gen/GenEVAL/sample_GenEVAL.sh`.
|
||||
|
||||
## Parameters
|
||||
|
||||
| Parameter | Default | Description |
|
||||
|------|--------|------|
|
||||
| `TASK_NAME` | `t2i` | Task type. GenEVAL is fixed to image generation. |
|
||||
| `VALIDATION_NUM_TIMESTEPS` | 50 | Number of inference steps. |
|
||||
| `VALIDATION_TIMESTEP_SHIFT` | 3.5 | Timestep shift. |
|
||||
| `EVALUATION_SEED` | 42 | Random seed. |
|
||||
| `CFG_TEXT_SCALE` | 4.0 | CFG scale. |
|
||||
| `CFG_INTERVAL_START` | 0.4 | Start of the CFG interval. |
|
||||
| `CFG_INTERVAL_END` | 1.0 | End of the CFG interval. |
|
||||
| `SAMPLE_NUM_PER_PROMPT` | 4 | Number of images generated per case. GenEVAL defaults to 4 images. |
|
||||
| `USE_KVCACHE` | `true` | Whether to enable KV cache. |
|
||||
| `NUM_GPUS` | 8 | Number of GPUs. |
|
||||
| `VIDEO_HEIGHT`/`VIDEO_WIDTH` | 768 | Image resolution. |
|
||||
| `MODEL_PATH` | `downloads/Lance_3B` | Path to the Lance checkpoint. |
|
||||
| `VAL_DATASET_CONFIG_FILE` | `benchmarks/image_gen/GenEVAL/GenEVAL.jsonl` | Path to the evaluation data. |
|
||||
|
||||
## How To Modify
|
||||
|
||||
- Edit the "Inference Parameters" section at the top of `benchmarks/image_gen/GenEVAL/sample_GenEVAL.sh`.
|
||||
- After updating the parameters, run `bash benchmarks/image_gen/GenEVAL/sample_GenEVAL.sh` directly.
|
||||
- `SAVE_PATH_GEN` is generated automatically from the script parameters and does not need to be set manually.
|
||||
|
||||
## Output Format
|
||||
|
||||
Results are saved in a structure like this:
|
||||
|
||||
```
|
||||
results/GenEVAL_ts50_tss3.5_seed42_cfg4.0_kvcache_20260507_120000/
|
||||
├── 00000/
|
||||
│ ├── metadata.jsonl
|
||||
│ ├── grid.png
|
||||
│ └── samples/
|
||||
│ ├── 0.png
|
||||
│ ├── 1.png
|
||||
│ ├── 2.png
|
||||
│ └── 3.png
|
||||
├── 00001/
|
||||
│ ├── metadata.jsonl
|
||||
│ ├── grid.png
|
||||
│ └── samples/
|
||||
│ ...
|
||||
```
|
||||
|
||||
Each case generates 4 images by default (`sample_num_per_prompt=4`).
|
||||
|
||||
## Notes
|
||||
|
||||
- If you need to switch the model, dataset, or resolution, edit the script configuration at the top directly.
|
||||
- The ViT path is resolved automatically by the code and usually does not need to be configured separately.
|
||||
@@ -0,0 +1,73 @@
|
||||
[English Version](./README.md)
|
||||
|
||||
# GenEVAL 图像生成评估
|
||||
|
||||
基于 Lance 模型的 GenEVAL 评估基准测试脚本。
|
||||
|
||||
## 文件说明
|
||||
|
||||
- `sample_GenEVAL.py` - 推理 Python 脚本
|
||||
- `sample_GenEVAL.sh` - 启动脚本(推荐使用)
|
||||
- `GenEVAL.jsonl` - 评估数据集
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 基本用法
|
||||
|
||||
```bash
|
||||
bash benchmarks/image_gen/GenEVAL/sample_GenEVAL.sh
|
||||
```
|
||||
|
||||
运行前请直接修改 `benchmarks/image_gen/GenEVAL/sample_GenEVAL.sh` 顶部的“推理参数配置”区。
|
||||
|
||||
## 参数说明
|
||||
|
||||
| 参数 | 默认值 | 说明 |
|
||||
|------|--------|------|
|
||||
| `TASK_NAME` | `t2i` | 任务类型,GenEVAL 固定为图像生成 |
|
||||
| `VALIDATION_NUM_TIMESTEPS` | 50 | 推理步数 |
|
||||
| `VALIDATION_TIMESTEP_SHIFT` | 3.5 | Timestep shift |
|
||||
| `EVALUATION_SEED` | 42 | 随机种子 |
|
||||
| `CFG_TEXT_SCALE` | 4.0 | CFG scale |
|
||||
| `CFG_INTERVAL_START` | 0.4 | CFG 区间起点 |
|
||||
| `CFG_INTERVAL_END` | 1.0 | CFG 区间终点 |
|
||||
| `SAMPLE_NUM_PER_PROMPT` | 4 | 每个 case 生成的图像数量(GenEVAL 默认为 4 张图) |
|
||||
| `USE_KVCACHE` | `true` | 是否启用 KV cache |
|
||||
| `NUM_GPUS` | 8 | GPU 数量 |
|
||||
| `VIDEO_HEIGHT`/`VIDEO_WIDTH` | 768 | 图像分辨率 |
|
||||
| `MODEL_PATH` | `downloads/Lance_3B` | Lance checkpoint 路径 |
|
||||
| `VAL_DATASET_CONFIG_FILE` | `benchmarks/image_gen/GenEVAL/GenEVAL.jsonl` | 评估数据路径 |
|
||||
|
||||
## 修改方式
|
||||
|
||||
- 请手动编辑 `benchmarks/image_gen/GenEVAL/sample_GenEVAL.sh` 顶部的“推理参数配置”区。
|
||||
- 修改完成后,直接运行 `bash benchmarks/image_gen/GenEVAL/sample_GenEVAL.sh`。
|
||||
- `SAVE_PATH_GEN` 由脚本根据顶部参数自动生成,不需要手动设置。
|
||||
|
||||
## 保存格式
|
||||
|
||||
结果会按照以下结构保存:
|
||||
|
||||
```
|
||||
results/GenEVAL_ts50_tss3.5_seed42_cfg4.0_kvcache_20260507_120000/
|
||||
├── 00000/
|
||||
│ ├── metadata.jsonl
|
||||
│ ├── grid.png
|
||||
│ └── samples/
|
||||
│ ├── 0.png
|
||||
│ ├── 1.png
|
||||
│ ├── 2.png
|
||||
│ └── 3.png
|
||||
├── 00001/
|
||||
│ ├── metadata.jsonl
|
||||
│ ├── grid.png
|
||||
│ └── samples/
|
||||
│ ...
|
||||
```
|
||||
|
||||
每个案例生成 4 张图像(`sample_num_per_prompt=4`)。
|
||||
|
||||
## 注意事项
|
||||
|
||||
- 如果需要切换模型、数据集或分辨率,请直接修改脚本顶部配置。
|
||||
- ViT 路径默认由代码内部自动解析,无需单独配置。
|
||||
@@ -0,0 +1,463 @@
|
||||
# Copyright (c) 2025 ByteDance Ltd. and/or its affiliates.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
# coding: utf-8
|
||||
|
||||
import warnings
|
||||
warnings.filterwarnings("ignore", message=".*pkg_resources is deprecated.*", category=UserWarning)
|
||||
warnings.filterwarnings("ignore", category=FutureWarning, module="diffusers.models.transformers.transformer_2d")
|
||||
import os
|
||||
os.environ["TF_CPP_MIN_LOG_LEVEL"] = "2"
|
||||
os.environ["TF_ENABLE_ONEDNN_OPTS"] = "0"
|
||||
|
||||
import os.path as osp
|
||||
from copy import deepcopy
|
||||
import json
|
||||
from typing import Tuple, cast, Optional
|
||||
import torch
|
||||
import torch.distributed as dist
|
||||
from torch.utils.data import DataLoader
|
||||
from transformers import HfArgumentParser, set_seed
|
||||
from transformers.models.qwen2_5_vl.configuration_qwen2_5_vl import Qwen2_5_VLVisionConfig
|
||||
from safetensors.torch import load_file
|
||||
from PIL import Image
|
||||
from torchvision.utils import make_grid
|
||||
import numpy as np
|
||||
from tqdm import trange
|
||||
|
||||
from data.dataset_base import DataConfig, simple_custom_collate
|
||||
from data.data_utils import add_special_tokens
|
||||
from modeling.vae.wan.model import WanVideoVAE
|
||||
from modeling.lance import LanceConfig, Lance, Qwen2ForCausalLM
|
||||
from modeling.qwen2 import Qwen2Tokenizer
|
||||
from modeling.qwen2.modeling_qwen2 import Qwen2Config
|
||||
from modeling.vit.qwen2_5_vl_vit import Qwen2_5_VisionTransformerPretrainedModel
|
||||
from common.utils.misc import tuple_mul, AutoEncoderParams
|
||||
from common.val.utils import make_padded_latent
|
||||
from data.datasets_custom import ValidationDataset
|
||||
from config.config_factory import ModelArguments, DataArguments, EvaluationArguments, get_model_path
|
||||
|
||||
|
||||
def init_from_model_path_if_needed(model: Qwen2ForCausalLM, model_args: ModelArguments):
|
||||
# Always load the trained Lance checkpoint from model_path.
|
||||
path_dir = model_args.model_path
|
||||
ema_path = osp.join(path_dir, "ema.safetensors")
|
||||
model_path = osp.join(path_dir, "model.safetensors")
|
||||
|
||||
|
||||
|
||||
model_path_ft = None
|
||||
if osp.exists(model_path):
|
||||
model_path_ft = model_path
|
||||
elif osp.exists(ema_path):
|
||||
model_path_ft = ema_path
|
||||
|
||||
if model_path_ft:
|
||||
model_state_dict = load_file(model_path_ft, device="cpu")
|
||||
else:
|
||||
raise FileNotFoundError(
|
||||
f"Fine-tuning failed: No valid checkpoint ('ema.safetensors' or 'model.safetensors') found in {path_dir}"
|
||||
)
|
||||
|
||||
# NOTE: position embeds are fixed sinusoidal embeddings, so we can just pop it off,
|
||||
# which makes it easier to adapt to different resolutions.
|
||||
if 'latent_pos_embed.pos_embed' in model_state_dict:
|
||||
model_state_dict.pop('latent_pos_embed.pos_embed')
|
||||
|
||||
model.load_state_dict(model_state_dict, strict=False)
|
||||
|
||||
clean_memory(model_state_dict)
|
||||
|
||||
|
||||
def clean_memory(*objects):
|
||||
"""清理内存并释放 GPU 缓存"""
|
||||
for obj in objects:
|
||||
del obj
|
||||
import gc
|
||||
gc.collect()
|
||||
if torch.cuda.is_available():
|
||||
torch.cuda.empty_cache()
|
||||
|
||||
|
||||
def decode_video_tensor_for_geneval(v_list):
|
||||
"""
|
||||
专门为 GenEVAL 解码视频张量,保持原有的保存格式
|
||||
"""
|
||||
N_target = len(v_list)
|
||||
if N_target != 1:
|
||||
from einops import rearrange
|
||||
padded_videos_latent = [v.permute(1, 0, 2, 3) for v in v_list]
|
||||
v_tc_hw = rearrange(padded_videos_latent, "n t c h w -> t c h (n w)")
|
||||
else:
|
||||
v_tc_hw = v_list[0].permute(1, 0, 2, 3)
|
||||
|
||||
v_tc_hw = v_tc_hw.float().clip(-1, 1).mul_(0.5).add_(0.5).mul_(255).round().clamp(0, 255).to(torch.uint8)
|
||||
return v_tc_hw
|
||||
|
||||
|
||||
def resolve_geneval_paths(
|
||||
model_args: ModelArguments,
|
||||
data_args: DataArguments,
|
||||
) -> None:
|
||||
if not model_args.model_path:
|
||||
raise ValueError("GenEVAL requires --model_path to be provided explicitly.")
|
||||
|
||||
if not model_args.vit_path:
|
||||
model_args.vit_path = get_model_path("vit.qwen2_5_vl")
|
||||
|
||||
if not data_args.val_dataset_config_file:
|
||||
data_args.val_dataset_config_file = get_model_path("geneval.data")
|
||||
|
||||
|
||||
def build_runtime_dataset_config(
|
||||
model_args: ModelArguments,
|
||||
inference_args: EvaluationArguments,
|
||||
vae_config: Optional[AutoEncoderParams],
|
||||
) -> DataConfig:
|
||||
"""
|
||||
当前推理链不再依赖 dataset_config_file,运行期 DataConfig 由显式参数拼装。
|
||||
"""
|
||||
dataset_config = DataConfig()
|
||||
|
||||
dataset_config.num_frames = inference_args.num_frames
|
||||
dataset_config.H = inference_args.video_height
|
||||
dataset_config.W = inference_args.video_width
|
||||
dataset_config.task = inference_args.task
|
||||
dataset_config.resolution = inference_args.resolution
|
||||
dataset_config.text_template = inference_args.text_template
|
||||
dataset_config.max_duration = inference_args.max_duration
|
||||
dataset_config.system_prompt_type = inference_args.system_prompt_type
|
||||
|
||||
if inference_args.visual_und:
|
||||
dataset_config.vit_patch_size = model_args.vit_patch_size
|
||||
dataset_config.vit_patch_size_temporal = model_args.vit_patch_size_temporal
|
||||
dataset_config.vit_max_num_patch_per_side = model_args.vit_max_num_patch_per_side
|
||||
|
||||
if inference_args.visual_gen and vae_config:
|
||||
assert len(model_args.latent_patch_size) == 3, "len(latent_patch_size) must be 3"
|
||||
dataset_config.latent_patch_size = model_args.latent_patch_size
|
||||
dataset_config.vae_downsample = tuple_mul(
|
||||
model_args.latent_patch_size,
|
||||
(vae_config.downsample_temporal, vae_config.downsample_spatial, vae_config.downsample_spatial),
|
||||
)
|
||||
dataset_config.max_latent_size = model_args.max_latent_size
|
||||
dataset_config.max_num_frames = model_args.max_num_frames
|
||||
|
||||
dataset_config.text_cond_dropout_prob = model_args.text_cond_dropout_prob
|
||||
dataset_config.vae_cond_dropout_prob = model_args.vae_cond_dropout_prob
|
||||
dataset_config.vit_cond_dropout_prob = model_args.vit_cond_dropout_prob
|
||||
|
||||
return dataset_config
|
||||
|
||||
|
||||
def validate_on_fixed_batch(
|
||||
fsdp_model: Lance,
|
||||
vae_model: Optional[WanVideoVAE],
|
||||
val_data_cpu: dict,
|
||||
model_args: ModelArguments,
|
||||
inference_args: EvaluationArguments,
|
||||
new_token_ids,
|
||||
image_token_id: int,
|
||||
device: int,
|
||||
save_source_video: bool = False,
|
||||
save_path_gen: str = "",
|
||||
sample_num_per_prompt: int = 1,
|
||||
):
|
||||
"""
|
||||
验证逻辑,保持与原文件相同的保存格式
|
||||
"""
|
||||
# Check whether distributed execution has been initialized.
|
||||
if dist.is_initialized():
|
||||
is_rank0 = (dist.get_rank() == 0)
|
||||
else:
|
||||
is_rank0 = True
|
||||
|
||||
val_data = val_data_cpu.cuda(device).to_dict()
|
||||
|
||||
with torch.no_grad(), torch.amp.autocast("cuda", enabled=True, dtype=torch.bfloat16):
|
||||
# Compute padded_latent.
|
||||
if "padded_videos" in val_data.keys():
|
||||
val_data["padded_latent"] = make_padded_latent(val_data["padded_videos"], val_data["vae_data_mode"], vae_model)
|
||||
|
||||
# Create an output folder from val_data["index"] first.
|
||||
index_save = val_data["index"]
|
||||
index_save = f"{index_save:05d}"
|
||||
os.makedirs(os.path.join(save_path_gen, index_save), exist_ok=True)
|
||||
os.makedirs(os.path.join(save_path_gen, index_save, "samples"), exist_ok=True)
|
||||
|
||||
# Save metadata.jsonl.
|
||||
metadata = val_data["additional_info"]
|
||||
with open(os.path.join(save_path_gen, index_save, "metadata.jsonl"), 'w') as f:
|
||||
f.write(json.dumps(metadata, ensure_ascii=False) + "\n")
|
||||
|
||||
# -------------------- GEN branch --------------------
|
||||
tensor_list_for_grid = []
|
||||
loop_iterator = trange(sample_num_per_prompt) if is_rank0 else range(sample_num_per_prompt)
|
||||
|
||||
for sample_num_per_prompt_index in loop_iterator:
|
||||
# Sample generations.
|
||||
params = {
|
||||
"val_packed_text_ids": val_data["packed_text_ids"],
|
||||
"val_packed_text_indexes": val_data["packed_text_indexes"],
|
||||
"val_sample_lens": val_data["sample_lens"],
|
||||
"val_packed_position_ids": val_data["packed_position_ids"],
|
||||
"val_split_lens": val_data["split_lens"],
|
||||
"val_attn_modes": val_data["attn_modes"],
|
||||
"val_sample_N_target": val_data["sample_N_target"],
|
||||
"val_packed_vae_token_indexes": val_data["packed_vae_token_indexes"],
|
||||
"timestep_shift": inference_args.validation_timestep_shift,
|
||||
"num_timesteps": inference_args.validation_num_timesteps,
|
||||
"val_mse_loss_indexes": val_data.get("mse_loss_indexes", None),
|
||||
"val_padded_latent": val_data["padded_latent"],
|
||||
"video_sizes": val_data["video_sizes"],
|
||||
"cfg_text_scale": model_args.cfg_text_scale,
|
||||
"cfg_interval": inference_args.cfg_interval,
|
||||
"cfg_renorm_min": inference_args.cfg_renorm_min,
|
||||
"cfg_renorm_type": inference_args.cfg_renorm_type,
|
||||
"device": device,
|
||||
"dtype": torch.bfloat16,
|
||||
"new_token_ids": new_token_ids,
|
||||
"max_samples": inference_args.validation_max_samples,
|
||||
"validation_noise_seed": inference_args.validation_noise_seed + sample_num_per_prompt_index,
|
||||
"apply_chat_template": inference_args.apply_chat_template,
|
||||
"apply_qwen_2_5_vl_pos_emb": inference_args.apply_qwen_2_5_vl_pos_emb,
|
||||
"image_token_id": image_token_id,
|
||||
"val_packed_vit_token_indexes": val_data.get("packed_vit_token_indexes", None),
|
||||
"val_packed_vit_tokens": val_data.get("packed_vit_tokens", None),
|
||||
"vit_video_grid_thw": val_data.get("vit_video_grid_thw", None),
|
||||
"vae_video_grid_thw": val_data["vae_video_grid_thw"],
|
||||
"video_grid_thw": val_data.get("video_grid_thw", None),
|
||||
"caption": val_data.get("caption", None),
|
||||
"sample_task": val_data["sample_task"],
|
||||
"sample_modality": val_data["sample_modality"],
|
||||
"cfg_type": inference_args.cfg_type,
|
||||
"cfg_uncond_token_id": inference_args.cfg_uncond_token_id,
|
||||
"index": val_data["index"],
|
||||
"val_padded_videos": val_data["padded_videos"] if save_source_video else None,
|
||||
}
|
||||
|
||||
if inference_args.use_KVcache:
|
||||
denoise_latent, _, _, _ = fsdp_model.validation_gen_KVcache(**params)
|
||||
else:
|
||||
denoise_latent, _, _, _ = fsdp_model.validation_gen(**params)
|
||||
|
||||
# Decode and save.
|
||||
for latent in denoise_latent:
|
||||
v_list = [vae_model.vae_decode([latent_])[0] for latent_ in latent]
|
||||
|
||||
# Keep the original save format.
|
||||
v_thwc = decode_video_tensor_for_geneval(v_list)
|
||||
|
||||
# Use frame 0 directly.
|
||||
if v_thwc.shape[0] == 1:
|
||||
tensor_list_for_grid.append(v_thwc.squeeze(0).cpu())
|
||||
|
||||
# Save a single image.
|
||||
save_name = f"{save_path_gen}/{index_save}/samples/{sample_num_per_prompt_index}.png"
|
||||
Image.fromarray((v_thwc.squeeze(0).permute(1, 2, 0).cpu().numpy()).astype('uint8')).save(save_name)
|
||||
else:
|
||||
raise NotImplementedError("需要保存图像")
|
||||
|
||||
# Save the grid image.
|
||||
save_name = f"{save_path_gen}/{index_save}/grid.png"
|
||||
grid_tensor = make_grid(tensor_list_for_grid, nrow=int(np.sqrt(sample_num_per_prompt)), padding=0, pad_value=255)
|
||||
grid_numpy = grid_tensor.permute(1, 2, 0).numpy()
|
||||
Image.fromarray(grid_numpy).save(save_name)
|
||||
|
||||
|
||||
def main():
|
||||
# ========================= Env setup ==============================
|
||||
assert torch.cuda.is_available()
|
||||
if "RANK" in os.environ and "WORLD_SIZE" in os.environ:
|
||||
dist.init_process_group("nccl")
|
||||
GLOBAL_RANK = dist.get_rank()
|
||||
WORLD_SIZE = dist.get_world_size()
|
||||
else:
|
||||
GLOBAL_RANK = 0
|
||||
WORLD_SIZE = 1
|
||||
|
||||
LOCAL_RANK = GLOBAL_RANK % torch.cuda.device_count()
|
||||
DEVICE = LOCAL_RANK
|
||||
torch.cuda.set_device(DEVICE)
|
||||
|
||||
# ========================= Args and logger setup ==============================
|
||||
parser = HfArgumentParser((ModelArguments, DataArguments, EvaluationArguments))
|
||||
model_args, data_args, inference_args = cast(Tuple[ModelArguments, DataArguments, EvaluationArguments], parser.parse_args_into_dataclasses())
|
||||
|
||||
# ========================= GenEVAL path resolution ==============================
|
||||
resolve_geneval_paths(model_args, data_args)
|
||||
|
||||
# NOTE: validation_noise_seed matches validation_data_seed.
|
||||
inference_args.validation_noise_seed = inference_args.evaluation_seed
|
||||
inference_args.validation_data_seed = inference_args.evaluation_seed
|
||||
# Set seed:
|
||||
seed = inference_args.global_seed * WORLD_SIZE + GLOBAL_RANK
|
||||
set_seed(seed)
|
||||
log_rank0 = print if GLOBAL_RANK == 0 else (lambda *_: None)
|
||||
|
||||
# ========================= LLM model setup ==============================
|
||||
llm_config: Qwen2Config = Qwen2Config.from_json_file(osp.join(model_args.model_path, "llm_config.json"))
|
||||
|
||||
llm_config.layer_module = model_args.layer_module
|
||||
llm_config.qk_norm = model_args.llm_qk_norm
|
||||
llm_config.qk_norm_und = model_args.llm_qk_norm_und
|
||||
llm_config.qk_norm_gen = model_args.llm_qk_norm_gen
|
||||
|
||||
llm_config.tie_word_embeddings = model_args.tie_word_embeddings
|
||||
llm_config.freeze_und = inference_args.freeze_und
|
||||
llm_config.apply_qwen_2_5_vl_pos_emb = inference_args.apply_qwen_2_5_vl_pos_emb
|
||||
|
||||
language_model: Qwen2ForCausalLM = Qwen2ForCausalLM(llm_config)
|
||||
|
||||
if inference_args.visual_und:
|
||||
if model_args.vit_type in ("qwen2_5_vl", "qwen_2_5_vl_original"):
|
||||
vit_config = Qwen2_5_VLVisionConfig.from_pretrained(model_args.vit_path)
|
||||
vit_model = Qwen2_5_VisionTransformerPretrainedModel(vit_config)
|
||||
vit_weights = load_file(osp.join(model_args.vit_path, "vit.safetensors"))
|
||||
vit_model.load_state_dict(vit_weights, strict=True)
|
||||
else:
|
||||
raise ValueError(f"Unsupported vit_type: {model_args.vit_type}")
|
||||
|
||||
clean_memory(vit_weights)
|
||||
|
||||
if inference_args.visual_gen:
|
||||
vae_model = WanVideoVAE()
|
||||
vae_config: AutoEncoderParams = deepcopy(vae_model.vae_config)
|
||||
else:
|
||||
vae_model = None
|
||||
vae_config = None
|
||||
|
||||
# Lance config.
|
||||
config = LanceConfig(
|
||||
visual_gen=inference_args.visual_gen,
|
||||
visual_und=inference_args.visual_und,
|
||||
llm_config=llm_config,
|
||||
vit_config=vit_config if inference_args.visual_und else None,
|
||||
vae_config=vae_config if inference_args.visual_gen else None,
|
||||
latent_patch_size=model_args.latent_patch_size,
|
||||
max_num_frames=model_args.max_num_frames,
|
||||
max_latent_size=model_args.max_latent_size,
|
||||
vit_max_num_patch_per_side=model_args.vit_max_num_patch_per_side,
|
||||
connector_act=model_args.connector_act,
|
||||
interpolate_pos=model_args.interpolate_pos,
|
||||
timestep_shift=inference_args.timestep_shift,
|
||||
)
|
||||
model: Lance = Lance(
|
||||
language_model=language_model,
|
||||
vit_model=vit_model if inference_args.visual_und else None,
|
||||
vit_type=model_args.vit_type,
|
||||
config=config,
|
||||
training_args=inference_args,
|
||||
)
|
||||
model = model.to(DEVICE)
|
||||
|
||||
# Setup tokenizer for model:
|
||||
tokenizer: Qwen2Tokenizer = Qwen2Tokenizer.from_pretrained(model_args.model_path)
|
||||
|
||||
tokenizer, new_token_ids, num_new_tokens = add_special_tokens(tokenizer)
|
||||
|
||||
# Initialize MoE before loading the checkpoint.
|
||||
if inference_args.copy_init_moe:
|
||||
language_model.init_moe()
|
||||
|
||||
init_from_model_path_if_needed(model, model_args)
|
||||
|
||||
# Resize after loading the checkpoint.
|
||||
if num_new_tokens > 0:
|
||||
model.language_model.resize_token_embeddings(len(tokenizer))
|
||||
model.config.llm_config.vocab_size = len(tokenizer)
|
||||
model.language_model.config.vocab_size = len(tokenizer)
|
||||
|
||||
if model_args.vit_type.lower() == "qwen2_5_vl":
|
||||
from common.model.hacks import hack_qwen2_5_vl_config
|
||||
language_model = hack_qwen2_5_vl_config(language_model)
|
||||
|
||||
image_token_id = language_model.config.video_token_id
|
||||
new_token_ids.update({"image_token_id": image_token_id})
|
||||
model.update_tokenizer(tokenizer=tokenizer)
|
||||
|
||||
if model_args.tie_word_embeddings:
|
||||
model.language_model.untie_lm_head()
|
||||
model.language_model.copy_new_token_rows_to_lm_head(num_new_tokens)
|
||||
|
||||
model_args.tie_word_embeddings = False
|
||||
llm_config.tie_word_embeddings = False
|
||||
else:
|
||||
assert model.language_model.get_input_embeddings().weight.data.data_ptr() != model.language_model.get_output_embeddings().weight.data.data_ptr(), 'tie_world_embeddings 冲突'
|
||||
|
||||
model = model.to(device=DEVICE, dtype=torch.bfloat16)
|
||||
model.eval()
|
||||
# Some VAE wrappers (e.g. `WanVideoVAE`) are plain helper objects rather
|
||||
# than `nn.Module`s, and their internal model is already switched to eval.
|
||||
if vae_model is not None and hasattr(vae_model, "eval"):
|
||||
vae_model.eval()
|
||||
|
||||
dataset_config = build_runtime_dataset_config(
|
||||
model_args=model_args,
|
||||
inference_args=inference_args,
|
||||
vae_config=vae_config,
|
||||
)
|
||||
|
||||
# Create dataset.
|
||||
val_dataset = ValidationDataset(
|
||||
jsonl_path= data_args.val_dataset_config_file,
|
||||
tokenizer=tokenizer,
|
||||
data_args=data_args,
|
||||
model_args=model_args,
|
||||
training_args=inference_args,
|
||||
new_token_ids=new_token_ids,
|
||||
dataset_config=dataset_config,
|
||||
local_rank=GLOBAL_RANK,
|
||||
world_size=WORLD_SIZE,
|
||||
)
|
||||
val_loader = DataLoader(
|
||||
val_dataset,
|
||||
batch_size=1,
|
||||
num_workers=0,
|
||||
pin_memory=True,
|
||||
collate_fn=simple_custom_collate,
|
||||
drop_last=True,
|
||||
prefetch_factor=None,
|
||||
persistent_workers=False,
|
||||
multiprocessing_context=None,
|
||||
)
|
||||
|
||||
val_loader_iter = iter(val_loader)
|
||||
|
||||
if not os.path.exists(inference_args.save_path_gen):
|
||||
os.makedirs(inference_args.save_path_gen, exist_ok=True)
|
||||
|
||||
# Main loop.
|
||||
for _ in trange(len(val_loader), desc="Validating", unit="batch", leave=True, ncols=80, disable=(GLOBAL_RANK != 0)):
|
||||
val_data_cpu = next(val_loader_iter)
|
||||
|
||||
validate_on_fixed_batch(
|
||||
fsdp_model=model,
|
||||
vae_model=vae_model,
|
||||
val_data_cpu=val_data_cpu,
|
||||
model_args=model_args,
|
||||
inference_args=inference_args,
|
||||
new_token_ids=new_token_ids,
|
||||
image_token_id=image_token_id,
|
||||
device=DEVICE,
|
||||
save_source_video=False,
|
||||
save_path_gen=inference_args.save_path_gen,
|
||||
sample_num_per_prompt=inference_args.sample_num_per_prompt,
|
||||
)
|
||||
|
||||
if dist.is_initialized():
|
||||
dist.destroy_process_group()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -0,0 +1,110 @@
|
||||
#!/bin/bash
|
||||
|
||||
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
||||
source "$SCRIPT_DIR/../../sample_env.sh"
|
||||
|
||||
# ========================= 推理参数配置 =========================
|
||||
TASK_NAME="t2i"
|
||||
NUM_GPUS=8
|
||||
|
||||
VALIDATION_NUM_TIMESTEPS=50
|
||||
VALIDATION_TIMESTEP_SHIFT=3.5
|
||||
EVALUATION_SEED=42
|
||||
CFG_TEXT_SCALE=4.0
|
||||
CFG_INTERVAL_START=0.4
|
||||
CFG_INTERVAL_END=1.0
|
||||
SAMPLE_NUM_PER_PROMPT=4
|
||||
USE_KVCACHE=true
|
||||
|
||||
VIDEO_HEIGHT=768
|
||||
VIDEO_WIDTH=768
|
||||
|
||||
MODEL_PATH="downloads/Lance_3B"
|
||||
VAL_DATASET_CONFIG_FILE="benchmarks/image_gen/GenEVAL/GenEVAL.jsonl"
|
||||
|
||||
# ========================= 自动生成路径 =========================
|
||||
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
|
||||
KVCACHE_TAG=""
|
||||
if [ "$USE_KVCACHE" = "true" ]; then
|
||||
KVCACHE_TAG="kvcache_"
|
||||
fi
|
||||
SAVE_PATH_GEN="results/GenEVAL_ts${VALIDATION_NUM_TIMESTEPS}_tss${VALIDATION_TIMESTEP_SHIFT}_seed${EVALUATION_SEED}_cfg${CFG_TEXT_SCALE}_${KVCACHE_TAG}${TIMESTAMP}"
|
||||
|
||||
if [ -z "$MODEL_PATH" ]; then
|
||||
echo "错误: 请在脚本顶部配置区手动设置 MODEL_PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# ============================== 环境与分布式配置 ==============================
|
||||
lance_setup_common_env
|
||||
lance_setup_distributed_env "$NUM_GPUS"
|
||||
lance_setup_shard_env 1
|
||||
|
||||
# ========================= 显示任务配置 =========================
|
||||
echo "================================================"
|
||||
echo "GenEVAL T2I 推理"
|
||||
echo "================================================"
|
||||
echo "GPU数量: ${NUM_GPUS}"
|
||||
echo "保存路径: ${SAVE_PATH_GEN}"
|
||||
echo "分辨率: ${VIDEO_HEIGHT}x${VIDEO_WIDTH}"
|
||||
echo "模型路径: ${MODEL_PATH}"
|
||||
if [ -n "$VAL_DATASET_CONFIG_FILE" ]; then
|
||||
echo "数据路径: ${VAL_DATASET_CONFIG_FILE}"
|
||||
fi
|
||||
echo ""
|
||||
echo "关键参数:"
|
||||
echo " - validation_num_timesteps: ${VALIDATION_NUM_TIMESTEPS}"
|
||||
echo " - validation_timestep_shift: ${VALIDATION_TIMESTEP_SHIFT}"
|
||||
echo " - evaluation_seed: ${EVALUATION_SEED}"
|
||||
echo " - cfg_text_scale: ${CFG_TEXT_SCALE}"
|
||||
echo " - cfg_interval: [${CFG_INTERVAL_START}, ${CFG_INTERVAL_END}]"
|
||||
echo " - sample_num_per_prompt: ${SAMPLE_NUM_PER_PROMPT}"
|
||||
echo " - use_KVcache: ${USE_KVCACHE}"
|
||||
echo "================================================"
|
||||
echo ""
|
||||
|
||||
# ============================== 执行推理 ==============================
|
||||
# 注意:请直接修改本脚本顶部的“推理参数配置”区
|
||||
accelerate launch \
|
||||
--num_machines $NUM_MACHINES \
|
||||
--num_processes $TOTAL_RANK \
|
||||
--machine_rank $MACHINE_RANK \
|
||||
--main_process_ip $MAIN_PROCESS_IP \
|
||||
--main_process_port $MAIN_PROCESS_PORT \
|
||||
--mixed_precision bf16 \
|
||||
benchmarks/image_gen/GenEVAL/sample_GenEVAL.py \
|
||||
--model_path "$MODEL_PATH" \
|
||||
--val_dataset_config_file "$VAL_DATASET_CONFIG_FILE" \
|
||||
--vit_type qwen_2_5_vl_original \
|
||||
--llm_qk_norm true \
|
||||
--llm_qk_norm_und true \
|
||||
--llm_qk_norm_gen true \
|
||||
--tie_word_embeddings false \
|
||||
--validation_num_timesteps $VALIDATION_NUM_TIMESTEPS \
|
||||
--validation_timestep_shift $VALIDATION_TIMESTEP_SHIFT \
|
||||
--copy_init_moe true \
|
||||
--max_num_frames 1 \
|
||||
--max_latent_size 64 \
|
||||
--latent_patch_size 1 1 1 \
|
||||
--visual_und true \
|
||||
--visual_gen true \
|
||||
--vae_model_type wan \
|
||||
--apply_qwen_2_5_vl_pos_emb true \
|
||||
--apply_chat_template false \
|
||||
--cfg_type 0 \
|
||||
--validation_data_seed $EVALUATION_SEED \
|
||||
--video_height $VIDEO_HEIGHT \
|
||||
--video_width $VIDEO_WIDTH \
|
||||
--task $TASK_NAME \
|
||||
--save_path_gen $SAVE_PATH_GEN \
|
||||
--resolution image_768res \
|
||||
--text_template true \
|
||||
--sample_num_per_prompt $SAMPLE_NUM_PER_PROMPT \
|
||||
--cfg_text_scale $CFG_TEXT_SCALE \
|
||||
--cfg_interval $CFG_INTERVAL_START $CFG_INTERVAL_END \
|
||||
--use_KVcache $USE_KVCACHE
|
||||
|
||||
echo ""
|
||||
echo "================================================"
|
||||
echo "完成! 结果: ${SAVE_PATH_GEN}"
|
||||
echo "================================================"
|
||||
@@ -0,0 +1,107 @@
|
||||
#!/bin/bash
|
||||
|
||||
find_available_port() {
|
||||
local start_port="${1:-6666}"
|
||||
local end_port="${2:-8888}"
|
||||
|
||||
python3 - "$start_port" "$end_port" <<'PY'
|
||||
import socket
|
||||
import sys
|
||||
|
||||
start_port = int(sys.argv[1])
|
||||
end_port = int(sys.argv[2])
|
||||
|
||||
for port in range(start_port, end_port):
|
||||
try:
|
||||
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
sock.bind(("", port))
|
||||
sock.close()
|
||||
print(port)
|
||||
raise SystemExit(0)
|
||||
except OSError:
|
||||
continue
|
||||
|
||||
print(start_port)
|
||||
PY
|
||||
}
|
||||
|
||||
|
||||
lance_setup_common_env() {
|
||||
export EXP_HW_20250819="${EXP_HW_20250819:-False}"
|
||||
echo "EXP_HW_20250819: $EXP_HW_20250819"
|
||||
|
||||
export POSITION_EMBEDDING_3D_VERSION="${POSITION_EMBEDDING_3D_VERSION:-v2}"
|
||||
echo "(shell) POSITION_EMBEDDING_3D_VERSION: $POSITION_EMBEDDING_3D_VERSION"
|
||||
|
||||
# Default to async CUDA execution for benchmark/inference throughput.
|
||||
# Override with CUDA_LAUNCH_BLOCKING=1 only when debugging kernel failures.
|
||||
export CUDA_LAUNCH_BLOCKING="${CUDA_LAUNCH_BLOCKING:-0}"
|
||||
export NCCL_DEBUG="${NCCL_DEBUG:-VERSION}"
|
||||
export TORCH_NCCL_HEARTBEAT_TIMEOUT_SEC="${TORCH_NCCL_HEARTBEAT_TIMEOUT_SEC:-900}"
|
||||
}
|
||||
|
||||
|
||||
lance_setup_distributed_env() {
|
||||
local num_gpus="${1:-1}"
|
||||
local default_main_process_port
|
||||
local has_explicit_main_process_port=0
|
||||
|
||||
NUM_GPUS="$num_gpus"
|
||||
|
||||
if [ -n "$MAIN_PROCESS_PORT" ]; then
|
||||
has_explicit_main_process_port=1
|
||||
fi
|
||||
|
||||
if [ -n "${ARNOLD_WORKER_NUM:-}" ]; then
|
||||
echo "使用平台分布式环境"
|
||||
NUM_MACHINES="${NUM_MACHINES:-$ARNOLD_WORKER_NUM}"
|
||||
MACHINE_RANK="${MACHINE_RANK:-${ARNOLD_ID:-0}}"
|
||||
MAIN_PROCESS_IP="${MAIN_PROCESS_IP:-${ARNOLD_WORKER_0_HOST:-127.0.0.1}}"
|
||||
default_main_process_port="${ARNOLD_WORKER_0_PORT:-6666}"
|
||||
|
||||
if [ "$has_explicit_main_process_port" -eq 1 ]; then
|
||||
:
|
||||
elif [ "${NUM_MACHINES}" = "1" ]; then
|
||||
MAIN_PROCESS_PORT="$(find_available_port "$default_main_process_port" "$((default_main_process_port + 500))")"
|
||||
else
|
||||
MAIN_PROCESS_PORT="$default_main_process_port"
|
||||
echo "多机任务使用平台 rendezvous 端口: $MAIN_PROCESS_PORT"
|
||||
fi
|
||||
else
|
||||
echo "使用本地或显式配置的分布式环境"
|
||||
NUM_MACHINES="${NUM_MACHINES:-1}"
|
||||
MACHINE_RANK="${MACHINE_RANK:-0}"
|
||||
MAIN_PROCESS_IP="${MAIN_PROCESS_IP:-127.0.0.1}"
|
||||
default_main_process_port=6666
|
||||
|
||||
if [ "$has_explicit_main_process_port" -eq 1 ]; then
|
||||
:
|
||||
else
|
||||
MAIN_PROCESS_PORT="$(find_available_port "$default_main_process_port" "$((default_main_process_port + 500))")"
|
||||
fi
|
||||
fi
|
||||
|
||||
TOTAL_RANK=$((NUM_MACHINES * NUM_GPUS))
|
||||
|
||||
export NUM_GPUS NUM_MACHINES MACHINE_RANK MAIN_PROCESS_IP MAIN_PROCESS_PORT TOTAL_RANK
|
||||
|
||||
echo "NUM_MACHINES: $NUM_MACHINES"
|
||||
echo "NUM_GPUS: $NUM_GPUS"
|
||||
echo "TOTAL_RANK: $TOTAL_RANK"
|
||||
echo "MACHINE_RANK: $MACHINE_RANK"
|
||||
echo "MAIN_PROCESS_IP: $MAIN_PROCESS_IP"
|
||||
echo "MAIN_PROCESS_PORT: $MAIN_PROCESS_PORT"
|
||||
}
|
||||
|
||||
|
||||
lance_setup_shard_env() {
|
||||
local num_shard="${1:-1}"
|
||||
|
||||
NUM_SHARD="$num_shard"
|
||||
NUM_REPLICATE=$((TOTAL_RANK / NUM_SHARD))
|
||||
|
||||
export NUM_SHARD NUM_REPLICATE
|
||||
|
||||
echo "NUM_REPLICATE: $NUM_REPLICATE"
|
||||
echo "NUM_SHARD: $NUM_SHARD"
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
[Chinese Version](./README_zh.md)
|
||||
|
||||
# VBench Video Generation Evaluation
|
||||
|
||||
Benchmark evaluation scripts for VBench based on the Lance model.
|
||||
|
||||
## Files
|
||||
|
||||
- `sample_vbench.py` - Python inference script
|
||||
- `sample_vbench.sh` - Launch script (recommended)
|
||||
- `Vbench_recaption.jsonl` - Evaluation dataset
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Basic Usage
|
||||
|
||||
```bash
|
||||
bash sample_vbench.sh
|
||||
```
|
||||
|
||||
Before running, edit the "Inference Parameters" section at the top of `benchmarks/video_gen/Vbench/sample_vbench.sh`.
|
||||
|
||||
## Parameters
|
||||
|
||||
| Parameter | Default | Description |
|
||||
|------|--------|------|
|
||||
| `TASK_NAME` | `t2v` | Task type. VBench is fixed to video generation. |
|
||||
| `VALIDATION_NUM_TIMESTEPS` | 50 | Number of inference steps. |
|
||||
| `VALIDATION_TIMESTEP_SHIFT` | 3.5 | Timestep shift. |
|
||||
| `EVALUATION_SEED` | 42 | Random seed. |
|
||||
| `CFG_TEXT_SCALE` | 4.0 | CFG scale. |
|
||||
| `CFG_INTERVAL_START` | 0.4 | Start of the CFG interval. |
|
||||
| `CFG_INTERVAL_END` | 1.0 | End of the CFG interval. |
|
||||
| `SAMPLE_NUM_PER_PROMPT` | 5 | Number of videos generated for each regular prompt. |
|
||||
| `USE_KVCACHE` | `true` | Whether to enable KV cache. |
|
||||
| `NUM_GPUS` | 8 | Number of GPUs. |
|
||||
| `VIDEO_HEIGHT`/`VIDEO_WIDTH` | 480 | Video resolution. |
|
||||
| `NUM_FRAMES` | 50 | Number of output video frames. |
|
||||
| `MAX_NUM_FRAMES` | 121 | Maximum number of frames per sample. |
|
||||
| `MAX_LATENT_SIZE` | 64 | Maximum latent size. |
|
||||
| `RESOLUTION` | `video_480p` | Dataset resolution tag. |
|
||||
| `MODEL_PATH` | `downloads/Lance_3B_Video` | Path to the Lance checkpoint. |
|
||||
| `VAL_DATASET_CONFIG_FILE` | `benchmarks/video_gen/Vbench/Vbench_recaption.jsonl` | Path to the evaluation data. |
|
||||
| `CONFIG_JSON_PATH` | `""` | Optional training configuration JSON. |
|
||||
|
||||
## How To Modify
|
||||
|
||||
- Edit the "Inference Parameters" section at the top of `benchmarks/video_gen/Vbench/sample_vbench.sh`.
|
||||
- After updating the parameters, run `bash benchmarks/video_gen/Vbench/sample_vbench.sh` directly.
|
||||
- `SAVE_PATH_GEN` is generated automatically from the script parameters and does not need to be set manually.
|
||||
|
||||
## Output Format
|
||||
|
||||
Results are saved in a structure like this:
|
||||
|
||||
```
|
||||
results/Vbench_ts50_tss3.5_seed42_cfg4.0_kvcache_20260507_120000/
|
||||
├── In a still frame, a stop sign-0.mp4
|
||||
├── In a still frame, a stop sign-1.mp4
|
||||
├── a toilet, frozen in time-0.mp4
|
||||
├── ...
|
||||
├── prompt.json
|
||||
```
|
||||
|
||||
Each prompt generates `SAMPLE_NUM_PER_PROMPT` videos by default, named as `original-prompt-sample-index.mp4`. A `prompt.json` file is also written to record the generated text.
|
||||
If `temporal_flickering_prompts.json` exists in the repository, the corresponding prompts automatically use a larger sample count. If the file does not exist, the script directly uses `SAMPLE_NUM_PER_PROMPT`.
|
||||
|
||||
## Notes
|
||||
|
||||
- If you need to switch the model, dataset, frame count, or resolution, edit the script configuration at the top directly.
|
||||
- The ViT path is resolved automatically by the code and usually does not need to be configured separately.
|
||||
- `CONFIG_JSON_PATH` is only passed through as an optional training configuration JSON and does not override the other explicit script parameters.
|
||||
@@ -0,0 +1,72 @@
|
||||
[English Version](./README.md)
|
||||
|
||||
# VBench 视频生成评估
|
||||
|
||||
基于 Lance 模型的 VBench 评估基准测试脚本。
|
||||
|
||||
## 文件说明
|
||||
|
||||
- `sample_vbench.py` - 推理 Python 脚本
|
||||
- `sample_vbench.sh` - 启动脚本(推荐使用)
|
||||
- `Vbench_recaption.jsonl` - 评估数据集
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 基本用法
|
||||
|
||||
```bash
|
||||
bash sample_vbench.sh
|
||||
```
|
||||
|
||||
运行前请直接修改 `benchmarks/video_gen/Vbench/sample_vbench.sh` 顶部的“推理参数配置”区。
|
||||
|
||||
## 参数说明
|
||||
|
||||
| 参数 | 默认值 | 说明 |
|
||||
|------|--------|------|
|
||||
| `TASK_NAME` | `t2v` | 任务类型,VBench 固定为视频生成 |
|
||||
| `VALIDATION_NUM_TIMESTEPS` | 50 | 推理步数 |
|
||||
| `VALIDATION_TIMESTEP_SHIFT` | 3.5 | Timestep shift |
|
||||
| `EVALUATION_SEED` | 42 | 随机种子 |
|
||||
| `CFG_TEXT_SCALE` | 4.0 | CFG scale |
|
||||
| `CFG_INTERVAL_START` | 0.4 | CFG 区间起点 |
|
||||
| `CFG_INTERVAL_END` | 1.0 | CFG 区间终点 |
|
||||
| `SAMPLE_NUM_PER_PROMPT` | 5 | 每个普通 prompt 生成的视频数量 |
|
||||
| `USE_KVCACHE` | `true` | 是否启用 KV cache |
|
||||
| `NUM_GPUS` | 8 | GPU 数量 |
|
||||
| `VIDEO_HEIGHT`/`VIDEO_WIDTH` | 480 | 视频分辨率 |
|
||||
| `NUM_FRAMES` | 50 | 输出视频帧数 |
|
||||
| `MAX_NUM_FRAMES` | 121 | 单个样本最大帧数 |
|
||||
| `MAX_LATENT_SIZE` | 64 | latent size 上限 |
|
||||
| `RESOLUTION` | `video_480p` | 数据集分辨率标签 |
|
||||
| `MODEL_PATH` | `downloads/Lance_3B_Video` | Lance checkpoint 路径 |
|
||||
| `VAL_DATASET_CONFIG_FILE` | `benchmarks/video_gen/Vbench/Vbench_recaption.jsonl` | 评估数据路径 |
|
||||
| `CONFIG_JSON_PATH` | `""` | 可选训练配置 JSON |
|
||||
|
||||
## 修改方式
|
||||
|
||||
- 请手动编辑 `benchmarks/video_gen/Vbench/sample_vbench.sh` 顶部的“推理参数配置”区。
|
||||
- 修改完成后,直接运行 `bash benchmarks/video_gen/Vbench/sample_vbench.sh`。
|
||||
- `SAVE_PATH_GEN` 由脚本根据顶部参数自动生成,不需要手动设置。
|
||||
|
||||
## 保存格式
|
||||
|
||||
结果会按照以下结构保存:
|
||||
|
||||
```
|
||||
results/Vbench_ts50_tss3.5_seed42_cfg4.0_kvcache_20260507_120000/
|
||||
├── In a still frame, a stop sign-0.mp4
|
||||
├── In a still frame, a stop sign-1.mp4
|
||||
├── a toilet, frozen in time-0.mp4
|
||||
├── ...
|
||||
├── prompt.json
|
||||
```
|
||||
|
||||
每个 prompt 默认生成 `SAMPLE_NUM_PER_PROMPT` 个视频,并按 `原始 prompt-采样序号.mp4` 命名;同时会额外写出 `prompt.json` 记录生成文本。
|
||||
如果仓库中存在 `temporal_flickering_prompts.json`,对应 prompt 会自动提升采样数;当前文件不存在时,脚本会直接使用 `SAMPLE_NUM_PER_PROMPT`。
|
||||
|
||||
## 注意事项
|
||||
|
||||
- 如果需要切换模型、数据集、帧数或分辨率,请直接修改脚本顶部配置。
|
||||
- ViT 路径默认由代码内部自动解析,无需单独配置。
|
||||
- `CONFIG_JSON_PATH` 仅作为可选训练配置 JSON 传入,不会替代脚本顶部其它显式参数。
|
||||
@@ -0,0 +1,946 @@
|
||||
{"index": 0, "data": "A medium shot shows a stop sign with an octagonal red face mounted on a straight pole. The subject is fully visible, complete, and unobstructed. The scene uses a roadside setting with a clean composition and no distracting extra objects. fixed shot. The stop sign remains visually consistent and clearly recognizable throughout the clip.", "original_prompt_en": "In a still frame, a stop sign"}
|
||||
{"index": 1, "data": "A medium shot shows a toilet with a tank, a seat, and a rounded bowl base. The subject is fully visible, complete, and unobstructed. The scene uses a simple bathroom setting with a clean composition and no distracting extra objects. fixed shot. The toilet remains visually consistent and clearly recognizable throughout the clip.", "original_prompt_en": "a toilet, frozen in time"}
|
||||
{"index": 2, "data": "A medium shot shows a laptop with an open screen, a visible keyboard, and a thin hinged body. The subject is fully visible, complete, and unobstructed. The scene uses a simple indoor setting with a clean composition and no distracting extra objects. fixed shot. The laptop remains visually consistent and clearly recognizable throughout the clip.", "original_prompt_en": "a laptop, frozen in time"}
|
||||
{"index": 3, "data": "A wide shot shows a narrow alley with clean pavement and simple side walls. The scene is natural, stable, and clearly structured, with a clean composition and no unnecessary foreground distractions. fixed shot. The background remains visually consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of alley"}
|
||||
{"index": 4, "data": "A wide shot shows a bar with a long counter, stools, and softly lit shelves. The scene is natural, stable, and clearly structured, with a clean composition and no unnecessary foreground distractions. fixed shot. The background remains visually consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of bar"}
|
||||
{"index": 5, "data": "A wide shot shows a barn with wooden walls, a pitched roof, and a wide front opening. The scene is natural, stable, and clearly structured, with a clean composition and no unnecessary foreground distractions. fixed shot. The background remains visually consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of barn"}
|
||||
{"index": 6, "data": "A wide shot shows a bathroom with clean walls, simple fixtures, and an uncluttered layout. The scene is natural, stable, and clearly structured, with a clean composition and no unnecessary foreground distractions. fixed shot. The background remains visually consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of bathroom"}
|
||||
{"index": 7, "data": "A wide shot shows a bedroom with a bed, simple furniture, and a tidy layout. The scene is natural, stable, and clearly structured, with a clean composition and no unnecessary foreground distractions. fixed shot. The background remains visually consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of bedroom"}
|
||||
{"index": 8, "data": "A wide shot shows a rocky cliff with a steep face and open sky behind it. The scene is natural, stable, and clearly structured, with a clean composition and no unnecessary foreground distractions. fixed shot. The background remains visually consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of cliff"}
|
||||
{"index": 9, "data": "A wide shot shows a courtyard with open ground and surrounding walls. The scene is natural, stable, and clearly structured, with a clean composition and no unnecessary foreground distractions. fixed shot. The background remains visually consistent throughout the clip.", "original_prompt_en": "In a still frame, courtyard"}
|
||||
{"index": 10, "data": "A wide shot shows a gas station with fuel pumps and a canopy above them. The scene is natural, stable, and clearly structured, with a clean composition and no unnecessary foreground distractions. fixed shot. The background remains visually consistent throughout the clip.", "original_prompt_en": "In a still frame, gas station"}
|
||||
{"index": 11, "data": "A wide shot shows a house with a clear roofline, walls, windows, and a front entrance. The scene is natural, stable, and clearly structured, with a clean composition and no unnecessary foreground distractions. fixed shot. The background remains visually consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of house"}
|
||||
{"index": 12, "data": "A wide shot shows an indoor gymnasium with a polished floor and high ceiling. The scene is natural, stable, and clearly structured, with a clean composition and no unnecessary foreground distractions. fixed shot. The background remains visually consistent throughout the clip.", "original_prompt_en": "indoor gymnasium, frozen in time"}
|
||||
{"index": 13, "data": "A wide shot shows an indoor library with bookshelves, tables, and soft lighting. The scene is natural, stable, and clearly structured, with a clean composition and no unnecessary foreground distractions. fixed shot. The background remains visually consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of indoor library"}
|
||||
{"index": 14, "data": "A wide shot shows a kitchen with cabinets, a counter, and a clean working area. The scene is natural, stable, and clearly structured, with a clean composition and no unnecessary foreground distractions. fixed shot. The background remains visually consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of kitchen"}
|
||||
{"index": 15, "data": "A wide shot shows a palace with grand architecture, columns, and ornate details. The scene is natural, stable, and clearly structured, with a clean composition and no unnecessary foreground distractions. fixed shot. The background remains visually consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of palace"}
|
||||
{"index": 16, "data": "A wide shot shows a parking lot with marked spaces and open paved ground. The scene is natural, stable, and clearly structured, with a clean composition and no unnecessary foreground distractions. fixed shot. The background remains visually consistent throughout the clip.", "original_prompt_en": "In a still frame, parking lot"}
|
||||
{"index": 17, "data": "A wide shot shows a phone booth with glass panels and a narrow upright structure. The scene is natural, stable, and clearly structured, with a clean composition and no unnecessary foreground distractions. fixed shot. The background remains visually consistent throughout the clip.", "original_prompt_en": "In a still frame, phone booth"}
|
||||
{"index": 18, "data": "A wide shot shows a restaurant with tables, chairs, and a clean dining area. The scene is natural, stable, and clearly structured, with a clean composition and no unnecessary foreground distractions. fixed shot. The background remains visually consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of restaurant"}
|
||||
{"index": 19, "data": "A wide shot shows a tower with a tall vertical structure and a clear silhouette. The scene is natural, stable, and clearly structured, with a clean composition and no unnecessary foreground distractions. fixed shot. The background remains visually consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of tower"}
|
||||
{"index": 20, "data": "A medium shot shows a bowl with a smooth round rim, a curved inner surface, and a stable base. The subject is fully visible, complete, and unobstructed. The scene uses a plain clean background with a clean composition and no distracting extra objects. fixed shot. The bowl remains visually consistent and clearly recognizable throughout the clip.", "original_prompt_en": "A tranquil tableau of a bowl"}
|
||||
{"index": 21, "data": "A close-up shot shows an apple with a round body, smooth skin, and a short stem. The subject is fully visible, complete, and unobstructed. The scene uses a plain clean background with a clean composition and no distracting extra objects. fixed shot. The apple remains visually consistent and clearly recognizable throughout the clip.", "original_prompt_en": "A tranquil tableau of an apple"}
|
||||
{"index": 22, "data": "A medium shot shows a bench with a flat seat, a backrest, and sturdy legs. The subject is fully visible, complete, and unobstructed. The scene uses a simple outdoor setting with a clean composition and no distracting extra objects. fixed shot. The bench remains visually consistent and clearly recognizable throughout the clip.", "original_prompt_en": "A tranquil tableau of a bench"}
|
||||
{"index": 23, "data": "A medium shot shows a bed with a mattress, a headboard, and a clearly defined rectangular shape. The subject is fully visible, complete, and unobstructed. The scene uses a simple indoor setting with a clean composition and no distracting extra objects. fixed shot. The bed remains visually consistent and clearly recognizable throughout the clip.", "original_prompt_en": "A tranquil tableau of a bed"}
|
||||
{"index": 24, "data": "A medium shot shows a chair with a clear seat, a backrest, and four supporting legs. The subject is fully visible, complete, and unobstructed. The scene uses a simple indoor setting with a clean composition and no distracting extra objects. fixed shot. The chair remains visually consistent and clearly recognizable throughout the clip.", "original_prompt_en": "A tranquil tableau of a chair"}
|
||||
{"index": 25, "data": "A close-up shot shows a cup with a round opening, a small handle, and a solid base. The subject is fully visible, complete, and unobstructed. The scene uses a plain clean background with a clean composition and no distracting extra objects. fixed shot. The cup remains visually consistent and clearly recognizable throughout the clip.", "original_prompt_en": "A tranquil tableau of a cup"}
|
||||
{"index": 26, "data": "A medium shot shows a dining table with a broad flat tabletop and sturdy legs. The subject is fully visible, complete, and unobstructed. The scene uses a simple indoor setting with a clean composition and no distracting extra objects. fixed shot. The dining table remains visually consistent and clearly recognizable throughout the clip.", "original_prompt_en": "A tranquil tableau of a dining table"}
|
||||
{"index": 27, "data": "A clean natural shot shows a pear. The main subject or scene is fully visible, stable, and unobstructed. The composition remains simple, with a clear layout and no distracting extra objects. fixed shot. The visual content remains consistent throughout the clip.", "original_prompt_en": "In a still frame, a pear"}
|
||||
{"index": 28, "data": "A clean natural shot shows a bunch of grapes. The main subject or scene is fully visible, stable, and unobstructed. The composition remains simple, with a clear layout and no distracting extra objects. fixed shot. The visual content remains consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of a bunch of grapes"}
|
||||
{"index": 29, "data": "A clean natural shot shows a bowl on the kitchen counter. The main subject or scene is fully visible, stable, and unobstructed. The composition remains simple, with a clear layout and no distracting extra objects. fixed shot. The visual content remains consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of a bowl on the kitchen counter"}
|
||||
{"index": 30, "data": "A clean natural shot shows a beautiful, handcrafted ceramic bowl. The main subject or scene is fully visible, stable, and unobstructed. The composition remains simple, with a clear layout and no distracting extra objects. fixed shot. The visual content remains consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of a beautiful, handcrafted ceramic bowl"}
|
||||
{"index": 31, "data": "A clean natural shot shows an antique bowl. The main subject or scene is fully visible, stable, and unobstructed. The composition remains simple, with a clear layout and no distracting extra objects. fixed shot. The visual content remains consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of an antique bowl"}
|
||||
{"index": 32, "data": "A clean natural shot shows an exquisite mahogany dining table. The main subject or scene is fully visible, stable, and unobstructed. The composition remains simple, with a clear layout and no distracting extra objects. fixed shot. The visual content remains consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of an exquisite mahogany dining table"}
|
||||
{"index": 33, "data": "A clean natural shot shows a wooden bench in the park. The main subject or scene is fully visible, stable, and unobstructed. The composition remains simple, with a clear layout and no distracting extra objects. fixed shot. The visual content remains consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of a wooden bench in the park"}
|
||||
{"index": 34, "data": "A clean natural shot shows a beautiful wrought-iron bench surrounded by blooming flowers. The main subject or scene is fully visible, stable, and unobstructed. The composition remains simple, with a clear layout and no distracting extra objects. fixed shot. The visual content remains consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of a beautiful wrought-iron bench surrounded by blooming flowers"}
|
||||
{"index": 35, "data": "A clean natural shot shows a park bench with a view of the lake. The main subject or scene is fully visible, stable, and unobstructed. The composition remains simple, with a clear layout and no distracting extra objects. fixed shot. The visual content remains consistent throughout the clip.", "original_prompt_en": "In a still frame, a park bench with a view of the lake"}
|
||||
{"index": 36, "data": "A clean natural shot shows a vintage rocking chair was placed on the porch. The main subject or scene is fully visible, stable, and unobstructed. The composition remains simple, with a clear layout and no distracting extra objects. fixed shot. The visual content remains consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of a vintage rocking chair was placed on the porch"}
|
||||
{"index": 37, "data": "A clean natural shot shows the jail cell was small and dimly lit, with cold, steel bars. The main subject or scene is fully visible, stable, and unobstructed. The composition remains simple, with a clear layout and no distracting extra objects. fixed shot. The visual content remains consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of the jail cell was small and dimly lit, with cold, steel bars"}
|
||||
{"index": 38, "data": "A clean natural shot shows the phone booth was tucked away in a quiet alley. The main subject or scene is fully visible, stable, and unobstructed. The composition remains simple, with a clear layout and no distracting extra objects. fixed shot. The visual content remains consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of the phone booth was tucked away in a quiet alley"}
|
||||
{"index": 39, "data": "A clean natural shot shows a dilapidated phone booth stood as a relic of a bygone era on the sidewalk. The main subject or scene is fully visible, stable, and unobstructed. The composition remains simple, with a clear layout and no distracting extra objects. fixed shot. The visual content remains consistent throughout the clip.", "original_prompt_en": "a dilapidated phone booth stood as a relic of a bygone era on the sidewalk, frozen in time"}
|
||||
{"index": 40, "data": "A clean natural shot shows the old red barn stood weathered and iconic against the backdrop of the countryside. The main subject or scene is fully visible, stable, and unobstructed. The composition remains simple, with a clear layout and no distracting extra objects. fixed shot. The visual content remains consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of the old red barn stood weathered and iconic against the backdrop of the countryside"}
|
||||
{"index": 41, "data": "A clean natural shot shows a picturesque barn was painted a warm shade of red and nestled in a picturesque meadow. The main subject or scene is fully visible, stable, and unobstructed. The composition remains simple, with a clear layout and no distracting extra objects. fixed shot. The visual content remains consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of a picturesque barn was painted a warm shade of red and nestled in a picturesque meadow"}
|
||||
{"index": 42, "data": "A clean natural shot shows within the desolate desert, an oasis unfolded, characterized by the stoic presence of palm trees and a motionless, glassy pool of water. The main scene is fully visible, stable, and easy to recognize. The composition remains simple and uncluttered, with clear large-scale structures and no distracting foreground overlap. fixed shot. The scene remains visually consistent throughout the clip.", "original_prompt_en": "In a still frame, within the desolate desert, an oasis unfolded, characterized by the stoic presence of palm trees and a motionless, glassy pool of water"}
|
||||
{"index": 43, "data": "A clean natural shot shows the Parthenon's majestic Doric columns stand in serene solitude atop the Acropolis, framed by the tranquil Athenian landscape. The main scene is fully visible, stable, and easy to recognize. The composition remains simple and uncluttered, with clear large-scale structures and no distracting foreground overlap. fixed shot. The scene remains visually consistent throughout the clip.", "original_prompt_en": "In a still frame, the Parthenon's majestic Doric columns stand in serene solitude atop the Acropolis, framed by the tranquil Athenian landscape"}
|
||||
{"index": 44, "data": "A clean natural shot shows the Temple of Hephaestus, with its timeless Doric grace, stands stoically against the backdrop of a quiet Athens. The main scene is fully visible, stable, and easy to recognize. The composition remains simple and uncluttered, with clear large-scale structures and no distracting foreground overlap. fixed shot. The scene remains visually consistent throughout the clip.", "original_prompt_en": "In a still frame, the Temple of Hephaestus, with its timeless Doric grace, stands stoically against the backdrop of a quiet Athens"}
|
||||
{"index": 45, "data": "A clean natural shot shows the ornate Victorian streetlamp stands solemnly, adorned with intricate ironwork and stained glass panels. The main scene is fully visible, stable, and easy to recognize. The composition remains simple and uncluttered, with clear large-scale structures and no distracting foreground overlap. fixed shot. The scene remains visually consistent throughout the clip.", "original_prompt_en": "In a still frame, the ornate Victorian streetlamp stands solemnly, adorned with intricate ironwork and stained glass panels"}
|
||||
{"index": 46, "data": "A clean natural shot shows the Stonehenge presented itself as an enigmatic puzzle, each colossal stone meticulously placed against the backdrop of tranquility. The main scene is fully visible, stable, and easy to recognize. The composition remains simple and uncluttered, with clear large-scale structures and no distracting foreground overlap. fixed shot. The scene remains visually consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of the Stonehenge presented itself as an enigmatic puzzle, each colossal stone meticulously placed against the backdrop of tranquility"}
|
||||
{"index": 47, "data": "A clean natural shot shows in the vast desert, an oasis nestled among dunes, featuring tall palm trees and an air of serenity. The main scene is fully visible, stable, and easy to recognize. The composition remains simple and uncluttered, with clear large-scale structures and no distracting foreground overlap. fixed shot. The scene remains visually consistent throughout the clip.", "original_prompt_en": "In a still frame, in the vast desert, an oasis nestled among dunes, featuring tall palm trees and an air of serenity"}
|
||||
{"index": 48, "data": "A clean natural shot shows a desert scene with an oasis, palm trees, and a clear, calm pool of water. The main scene is fully visible, stable, and easy to recognize. The composition remains simple and uncluttered, with clear large-scale structures and no distracting foreground overlap. fixed shot. The scene remains visually consistent throughout the clip.", "original_prompt_en": "static view on a desert scene with an oasis, palm trees, and a clear, calm pool of water"}
|
||||
{"index": 49, "data": "A clean natural shot shows an ornate Victorian streetlamp standing on a cobblestone street corner, illuminating the empty night. The main scene is fully visible, stable, and easy to recognize. The composition remains simple and uncluttered, with clear large-scale structures and no distracting foreground overlap. fixed shot. The scene remains visually consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of an ornate Victorian streetlamp standing on a cobblestone street corner, illuminating the empty night"}
|
||||
{"index": 50, "data": "A clean natural shot shows a tranquil lakeside cabin nestled among tall pines, its reflection mirrored perfectly in the calm water. The main scene is fully visible, stable, and easy to recognize. The composition remains simple and uncluttered, with clear large-scale structures and no distracting foreground overlap. fixed shot. The scene remains visually consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of a tranquil lakeside cabin nestled among tall pines, its reflection mirrored perfectly in the calm water"}
|
||||
{"index": 51, "data": "A clean natural shot shows a vintage gas lantern, adorned with intricate details, gracing a historic cobblestone square. The main subject or scene is fully visible, stable, and unobstructed. The composition remains simple, with a clear layout and no distracting extra objects. fixed shot. The visual content remains consistent throughout the clip.", "original_prompt_en": "In a still frame, a vintage gas lantern, adorned with intricate details, gracing a historic cobblestone square"}
|
||||
{"index": 52, "data": "A clean natural shot shows a tranquil Japanese tea ceremony room, with tatami mats, a delicate tea set, and a bonsai tree in the corner. The main subject or scene is fully visible, stable, and unobstructed. The composition remains simple, with a clear layout and no distracting extra objects. fixed shot. The visual content remains consistent throughout the clip.", "original_prompt_en": "In a still frame, a tranquil Japanese tea ceremony room, with tatami mats, a delicate tea set, and a bonsai tree in the corner"}
|
||||
{"index": 53, "data": "A clean natural shot shows the Parthenon stands resolute in its classical elegance, a timeless symbol of Athens' cultural legacy. The main scene is fully visible, stable, and easy to recognize. The composition remains simple and uncluttered, with clear large-scale structures and no distracting foreground overlap. fixed shot. The scene remains visually consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of the Parthenon stands resolute in its classical elegance, a timeless symbol of Athens' cultural legacy"}
|
||||
{"index": 54, "data": "A clean natural shot shows in the heart of Plaka, the neoclassical architecture of the old city harmonizes with the ancient ruins. The main scene is fully visible, stable, and easy to recognize. The composition remains simple and uncluttered, with clear large-scale structures and no distracting foreground overlap. fixed shot. The scene remains visually consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of in the heart of Plaka, the neoclassical architecture of the old city harmonizes with the ancient ruins"}
|
||||
{"index": 55, "data": "A clean natural shot shows in the desolate beauty of the American Southwest, Chaco Canyon's ancient ruins whispered tales of an enigmatic civilization that once thrived amidst the arid landscapes. The main scene is fully visible, stable, and easy to recognize. The composition remains simple and uncluttered, with clear large-scale structures and no distracting foreground overlap. fixed shot. The scene remains visually consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of in the desolate beauty of the American Southwest, Chaco Canyon's ancient ruins whispered tales of an enigmatic civilization that once thrived amidst the arid landscapes"}
|
||||
{"index": 56, "data": "A clean natural shot shows at the edge of the Arabian Desert, the ancient city of Petra beckoned with its enigmatic rock-carved façades. The main scene is fully visible, stable, and easy to recognize. The composition remains simple and uncluttered, with clear large-scale structures and no distracting foreground overlap. fixed shot. The scene remains visually consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of at the edge of the Arabian Desert, the ancient city of Petra beckoned with its enigmatic rock-carved façades"}
|
||||
{"index": 57, "data": "A clean natural shot shows amidst the cobblestone streets, an Art Nouveau lamppost stood tall. The main scene is fully visible, stable, and easy to recognize. The composition remains simple and uncluttered, with clear large-scale structures and no distracting foreground overlap. fixed shot. The scene remains visually consistent throughout the clip.", "original_prompt_en": "In a still frame, amidst the cobblestone streets, an Art Nouveau lamppost stood tall"}
|
||||
{"index": 58, "data": "A clean natural shot shows in the quaint village square, a traditional wrought-iron streetlamp featured delicate filigree patterns and amber-hued glass panels. The main scene is fully visible, stable, and easy to recognize. The composition remains simple and uncluttered, with clear large-scale structures and no distracting foreground overlap. fixed shot. The scene remains visually consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of in the quaint village square, a traditional wrought-iron streetlamp featured delicate filigree patterns and amber-hued glass panels"}
|
||||
{"index": 59, "data": "A clean natural shot shows the lampposts were adorned with Art Deco motifs, their geometric shapes and frosted glass creating a sense of vintage glamour. The main scene is fully visible, stable, and easy to recognize. The composition remains simple and uncluttered, with clear large-scale structures and no distracting foreground overlap. fixed shot. The scene remains visually consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of the lampposts were adorned with Art Deco motifs, their geometric shapes and frosted glass creating a sense of vintage glamour"}
|
||||
{"index": 60, "data": "A clean natural shot shows in the picturesque square, a Gothic-style lamppost adorned with intricate stone carvings added a touch of medieval charm to the setting. The main scene is fully visible, stable, and easy to recognize. The composition remains simple and uncluttered, with clear large-scale structures and no distracting foreground overlap. fixed shot. The scene remains visually consistent throughout the clip.", "original_prompt_en": "In a still frame, in the picturesque square, a Gothic-style lamppost adorned with intricate stone carvings added a touch of medieval charm to the setting"}
|
||||
{"index": 61, "data": "A clean natural shot shows in the heart of the old city, a row of ornate lantern-style streetlamps bathed the narrow alleyway in a warm, welcoming light. The main scene is fully visible, stable, and easy to recognize. The composition remains simple and uncluttered, with clear large-scale structures and no distracting foreground overlap. fixed shot. The scene remains visually consistent throughout the clip.", "original_prompt_en": "In a still frame, in the heart of the old city, a row of ornate lantern-style streetlamps bathed the narrow alleyway in a warm, welcoming light"}
|
||||
{"index": 62, "data": "A clean natural shot shows in the heart of the Utah desert, a massive sandstone arch spanned the horizon. The main scene is fully visible, stable, and easy to recognize. The composition remains simple and uncluttered, with clear large-scale structures and no distracting foreground overlap. fixed shot. The scene remains visually consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of in the heart of the Utah desert, a massive sandstone arch spanned the horizon"}
|
||||
{"index": 63, "data": "A clean natural shot shows in the Arizona desert, a massive stone bridge arched across a rugged canyon. The main scene is fully visible, stable, and easy to recognize. The composition remains simple and uncluttered, with clear large-scale structures and no distracting foreground overlap. fixed shot. The scene remains visually consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of in the Arizona desert, a massive stone bridge arched across a rugged canyon"}
|
||||
{"index": 64, "data": "A clean natural shot shows in the corner of the minimalist tea room, a bonsai tree added a touch of nature's beauty to the otherwise simple and elegant space. The main scene is fully visible, stable, and easy to recognize. The composition remains simple and uncluttered, with clear large-scale structures and no distracting foreground overlap. fixed shot. The scene remains visually consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of in the corner of the minimalist tea room, a bonsai tree added a touch of nature's beauty to the otherwise simple and elegant space"}
|
||||
{"index": 65, "data": "A clean natural shot shows amidst the hushed ambiance of the traditional tea room, a meticulously arranged tea set awaited, with porcelain cups, a bamboo whisk. The main scene is fully visible, stable, and easy to recognize. The composition remains simple and uncluttered, with clear large-scale structures and no distracting foreground overlap. fixed shot. The scene remains visually consistent throughout the clip.", "original_prompt_en": "In a still frame, amidst the hushed ambiance of the traditional tea room, a meticulously arranged tea set awaited, with porcelain cups, a bamboo whisk"}
|
||||
{"index": 66, "data": "A clean natural shot shows nestled in the Zen garden, a rustic teahouse featured tatami seating and a traditional charcoal brazier. The main subject or scene is fully visible, stable, and unobstructed. The composition remains simple, with a clear layout and no distracting extra objects. fixed shot. The visual content remains consistent throughout the clip.", "original_prompt_en": "In a still frame, nestled in the Zen garden, a rustic teahouse featured tatami seating and a traditional charcoal brazier"}
|
||||
{"index": 67, "data": "A clean natural shot shows a country estate's library featured elegant wooden shelves. The main subject or scene is fully visible, stable, and unobstructed. The composition remains simple, with a clear layout and no distracting extra objects. fixed shot. The visual content remains consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of a country estate's library featured elegant wooden shelves"}
|
||||
{"index": 68, "data": "A clean natural shot shows beneath the shade of a solitary oak tree, an old wooden park bench sat patiently. The main subject or scene is fully visible, stable, and unobstructed. The composition remains simple, with a clear layout and no distracting extra objects. fixed shot. The visual content remains consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of beneath the shade of a solitary oak tree, an old wooden park bench sat patiently"}
|
||||
{"index": 69, "data": "A clean natural shot shows beside a tranquil pond, a weeping willow tree draped its branches gracefully over the water's surface, creating a serene tableau of reflection and calm. The main scene is fully visible, stable, and easy to recognize. The composition remains simple and uncluttered, with clear large-scale structures and no distracting foreground overlap. fixed shot. The scene remains visually consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of beside a tranquil pond, a weeping willow tree draped its branches gracefully over the water's surface, creating a serene tableau of reflection and calm"}
|
||||
{"index": 70, "data": "A clean natural shot shows in the Zen garden, a perfectly raked gravel path led to a serene rock garden. The main subject or scene is fully visible, stable, and unobstructed. The composition remains simple, with a clear layout and no distracting extra objects. fixed shot. The visual content remains consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of in the Zen garden, a perfectly raked gravel path led to a serene rock garden"}
|
||||
{"index": 71, "data": "A clean natural shot shows a tranquil pond was fringed by weeping cherry trees, their blossoms drifting lazily onto the glassy surface. The main subject or scene is fully visible, stable, and unobstructed. The composition remains simple, with a clear layout and no distracting extra objects. fixed shot. The visual content remains consistent throughout the clip.", "original_prompt_en": "In a still frame, a tranquil pond was fringed by weeping cherry trees, their blossoms drifting lazily onto the glassy surface"}
|
||||
{"index": 72, "data": "A clean natural shot shows within the historic library's reading room, rows of antique leather chairs and mahogany tables offered a serene haven for literary contemplation. The main subject or scene is fully visible, stable, and unobstructed. The composition remains simple, with a clear layout and no distracting extra objects. fixed shot. The visual content remains consistent throughout the clip.", "original_prompt_en": "In a still frame, within the historic library's reading room, rows of antique leather chairs and mahogany tables offered a serene haven for literary contemplation"}
|
||||
{"index": 73, "data": "A clean natural shot shows a peaceful orchid garden showcased a variety of delicate blooms. The main scene is fully visible, stable, and easy to recognize. The composition remains simple and uncluttered, with clear large-scale structures and no distracting foreground overlap. fixed shot. The scene remains visually consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of a peaceful orchid garden showcased a variety of delicate blooms"}
|
||||
{"index": 74, "data": "A clean natural shot shows in the serene courtyard, a centuries-old stone well stood as a symbol of a bygone era, its mossy stones bearing witness to the passage of time. The main scene is fully visible, stable, and easy to recognize. The composition remains simple and uncluttered, with clear large-scale structures and no distracting foreground overlap. fixed shot. The scene remains visually consistent throughout the clip.", "original_prompt_en": "A tranquil tableau of in the serene courtyard, a centuries-old stone well stood as a symbol of a bygone era, its mossy stones bearing witness to the passage of time"}
|
||||
{"index": 75, "data": "A wide shot shows a bird on the left side of the frame and a cat on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in an open grassy field under natural daylight. fixed shot. A bird remains on the left side of the frame and a cat remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a bird and a cat"}
|
||||
{"index": 76, "data": "A wide shot shows a cat on the left side of the frame and a dog on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in an open grassy field under natural daylight. fixed shot. A cat remains on the left side of the frame and a dog remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a cat and a dog"}
|
||||
{"index": 77, "data": "A wide shot shows a dog on the left side of the frame and a horse on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in an open grassy field under natural daylight. fixed shot. A dog remains on the left side of the frame and a horse remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a dog and a horse"}
|
||||
{"index": 78, "data": "A wide shot shows a horse on the left side of the frame and a sheep on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in an open grassy field under natural daylight. fixed shot. A horse remains on the left side of the frame and a sheep remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a horse and a sheep"}
|
||||
{"index": 79, "data": "A wide shot shows a sheep on the left side of the frame and a cow on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in an open grassy field under natural daylight. fixed shot. A sheep remains on the left side of the frame and a cow remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a sheep and a cow"}
|
||||
{"index": 80, "data": "A wide shot shows a cow on the left side of the frame and an elephant on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in an open grassy field under natural daylight. fixed shot. A cow remains on the left side of the frame and an elephant remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a cow and an elephant"}
|
||||
{"index": 81, "data": "A wide shot shows an elephant on the left side of the frame and a bear on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in an open grassy field under natural daylight. fixed shot. An elephant remains on the left side of the frame and a bear remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "an elephant and a bear"}
|
||||
{"index": 82, "data": "A wide shot shows a bear on the left side of the frame and a zebra on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in an open grassy field under natural daylight. fixed shot. A bear remains on the left side of the frame and a zebra remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a bear and a zebra"}
|
||||
{"index": 83, "data": "A wide shot shows a zebra on the left side of the frame and a giraffe on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in an open grassy field under natural daylight. fixed shot. A zebra remains on the left side of the frame and a giraffe remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a zebra and a giraffe"}
|
||||
{"index": 84, "data": "A wide shot shows a giraffe on the left side of the frame and a bird on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in an open grassy field under natural daylight. fixed shot. A giraffe remains on the left side of the frame and a bird remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a giraffe and a bird"}
|
||||
{"index": 85, "data": "A medium shot shows a chair on the left side of the frame and a couch on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. A chair remains on the left side of the frame and a couch remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a chair and a couch"}
|
||||
{"index": 86, "data": "A medium shot shows a couch on the left side of the frame and a potted plant on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. A couch remains on the left side of the frame and a potted plant remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a couch and a potted plant"}
|
||||
{"index": 87, "data": "A medium shot shows a potted plant on the left side of the frame and a tv on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. A potted plant remains on the left side of the frame and a tv remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a potted plant and a tv"}
|
||||
{"index": 88, "data": "A medium shot shows a tv on the left side of the frame and a laptop on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. A tv remains on the left side of the frame and a laptop remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a tv and a laptop"}
|
||||
{"index": 89, "data": "A medium shot shows a laptop on the left side of the frame and a remote on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. A laptop remains on the left side of the frame and a remote remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a laptop and a remote"}
|
||||
{"index": 90, "data": "A close shot shows a remote on the left side of the frame and a keyboard on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. They are placed on a clean flat surface with a softly blurred background and natural light. fixed shot. A remote remains on the left side of the frame and a keyboard remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a remote and a keyboard"}
|
||||
{"index": 91, "data": "A close shot shows a keyboard on the left side of the frame and a cell phone on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. They are placed on a clean flat surface with a softly blurred background and natural light. fixed shot. A keyboard remains on the left side of the frame and a cell phone remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a keyboard and a cell phone"}
|
||||
{"index": 92, "data": "A close shot shows a cell phone on the left side of the frame and a book on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. They are placed on a clean flat surface with a softly blurred background and natural light. fixed shot. A cell phone remains on the left side of the frame and a book remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a cell phone and a book"}
|
||||
{"index": 93, "data": "A close shot shows a book on the left side of the frame and a clock on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. They are placed on a clean flat surface with a softly blurred background and natural light. fixed shot. A book remains on the left side of the frame and a clock remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a book and a clock"}
|
||||
{"index": 94, "data": "A close shot shows a clock on the left side of the frame and a backpack on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. They are placed on a clean flat surface with a softly blurred background and natural light. fixed shot. A clock remains on the left side of the frame and a backpack remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a clock and a backpack"}
|
||||
{"index": 95, "data": "A close shot shows a backpack on the left side of the frame and an umbrella on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. They are placed on a clean flat surface with a softly blurred background and natural light. fixed shot. A backpack remains on the left side of the frame and an umbrella remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a backpack and an umbrella"}
|
||||
{"index": 96, "data": "A close shot shows an umbrella on the left side of the frame and a handbag on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. They are placed on a clean flat surface with a softly blurred background and natural light. fixed shot. An umbrella remains on the left side of the frame and a handbag remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "an umbrella and a handbag"}
|
||||
{"index": 97, "data": "A close shot shows a handbag on the left side of the frame and a tie on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. They are placed on a clean flat surface with a softly blurred background and natural light. fixed shot. A handbag remains on the left side of the frame and a tie remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a handbag and a tie"}
|
||||
{"index": 98, "data": "A close shot shows a tie on the left side of the frame and a suitcase on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. They are placed on a clean flat surface with a softly blurred background and natural light. fixed shot. A tie remains on the left side of the frame and a suitcase remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a tie and a suitcase"}
|
||||
{"index": 99, "data": "A close shot shows a suitcase on the left side of the frame and a vase on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. They are placed on a clean flat surface with a softly blurred background and natural light. fixed shot. A suitcase remains on the left side of the frame and a vase remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a suitcase and a vase"}
|
||||
{"index": 100, "data": "A close shot shows a vase on the left side of the frame and scissors on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. They are placed on a clean flat surface with a softly blurred background and natural light. fixed shot. A vase remains on the left side of the frame and scissors remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a vase and scissors"}
|
||||
{"index": 101, "data": "A close shot shows scissors on the left side of the frame and a teddy bear on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. They are placed on a clean flat surface with a softly blurred background and natural light. fixed shot. Scissors remains on the left side of the frame and a teddy bear remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "scissors and a teddy bear"}
|
||||
{"index": 102, "data": "A medium-wide shot shows a teddy bear on the left side of the frame and a frisbee on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in an open outdoor area under clear daylight, with a simple background. fixed shot. A teddy bear remains on the left side of the frame and a frisbee remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a teddy bear and a frisbee"}
|
||||
{"index": 103, "data": "A medium-wide shot shows a frisbee on the left side of the frame and skis on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in an open outdoor area under clear daylight, with a simple background. fixed shot. A frisbee remains on the left side of the frame and skis remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a frisbee and skis"}
|
||||
{"index": 104, "data": "A medium-wide shot shows skis on the left side of the frame and a snowboard on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in an open outdoor area under clear daylight, with a simple background. fixed shot. Skis remains on the left side of the frame and a snowboard remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "skis and a snowboard"}
|
||||
{"index": 105, "data": "A medium-wide shot shows a snowboard on the left side of the frame and a sports ball on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in an open outdoor area under clear daylight, with a simple background. fixed shot. A snowboard remains on the left side of the frame and a sports ball remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a snowboard and a sports ball"}
|
||||
{"index": 106, "data": "A medium-wide shot shows a sports ball on the left side of the frame and a kite on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in an open outdoor area under clear daylight, with a simple background. fixed shot. A sports ball remains on the left side of the frame and a kite remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a sports ball and a kite"}
|
||||
{"index": 107, "data": "A medium-wide shot shows a kite on the left side of the frame and a baseball bat on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in an open outdoor area under clear daylight, with a simple background. fixed shot. A kite remains on the left side of the frame and a baseball bat remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a kite and a baseball bat"}
|
||||
{"index": 108, "data": "A medium-wide shot shows a baseball bat on the left side of the frame and a baseball glove on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in an open outdoor area under clear daylight, with a simple background. fixed shot. A baseball bat remains on the left side of the frame and a baseball glove remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a baseball bat and a baseball glove"}
|
||||
{"index": 109, "data": "A medium-wide shot shows a baseball glove on the left side of the frame and a skateboard on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in an open outdoor area under clear daylight, with a simple background. fixed shot. A baseball glove remains on the left side of the frame and a skateboard remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a baseball glove and a skateboard"}
|
||||
{"index": 110, "data": "A medium-wide shot shows a skateboard on the left side of the frame and a surfboard on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in an open outdoor area under clear daylight, with a simple background. fixed shot. A skateboard remains on the left side of the frame and a surfboard remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a skateboard and a surfboard"}
|
||||
{"index": 111, "data": "A medium-wide shot shows a surfboard on the left side of the frame and a tennis racket on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in an open outdoor area under clear daylight, with a simple background. fixed shot. A surfboard remains on the left side of the frame and a tennis racket remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a surfboard and a tennis racket"}
|
||||
{"index": 112, "data": "A medium-wide shot shows a tennis racket on the left side of the frame and a bottle on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in an open outdoor area under clear daylight, with a simple background. fixed shot. A tennis racket remains on the left side of the frame and a bottle remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a tennis racket and a bottle"}
|
||||
{"index": 113, "data": "A medium shot shows a bottle on the left side of the frame and a chair on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. A bottle remains on the left side of the frame and a chair remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a bottle and a chair"}
|
||||
{"index": 114, "data": "A wide shot shows an airplane on the left side of the frame and a train on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a spacious outdoor area with a clean open background and clear daylight. fixed shot. An airplane remains on the left side of the frame and a train remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "an airplane and a train"}
|
||||
{"index": 115, "data": "A wide shot shows a train on the left side of the frame and a boat on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a spacious outdoor area with a clean open background and clear daylight. fixed shot. A train remains on the left side of the frame and a boat remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a train and a boat"}
|
||||
{"index": 116, "data": "A wide shot shows a boat on the left side of the frame and an airplane on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a spacious outdoor area with a clean open background and clear daylight. fixed shot. A boat remains on the left side of the frame and an airplane remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a boat and an airplane"}
|
||||
{"index": 117, "data": "A wide shot shows a bicycle on the left side of the frame and a car on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a spacious outdoor area with a clean open background and clear daylight. fixed shot. A bicycle remains on the left side of the frame and a car remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a bicycle and a car"}
|
||||
{"index": 118, "data": "A wide shot shows a car on the left side of the frame and a motorcycle on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a spacious outdoor area with a clean open background and clear daylight. fixed shot. A car remains on the left side of the frame and a motorcycle remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a car and a motorcycle"}
|
||||
{"index": 119, "data": "A wide shot shows a motorcycle on the left side of the frame and a bus on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a spacious outdoor area with a clean open background and clear daylight. fixed shot. A motorcycle remains on the left side of the frame and a bus remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a motorcycle and a bus"}
|
||||
{"index": 120, "data": "A wide shot shows a bus on the left side of the frame and a traffic light on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a spacious outdoor area with a clean open background and clear daylight. fixed shot. A bus remains on the left side of the frame and a traffic light remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a bus and a traffic light"}
|
||||
{"index": 121, "data": "A wide shot shows a traffic light on the left side of the frame and a fire hydrant on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a spacious outdoor area with a clean open background and clear daylight. fixed shot. A traffic light remains on the left side of the frame and a fire hydrant remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a traffic light and a fire hydrant"}
|
||||
{"index": 122, "data": "A wide shot shows a fire hydrant on the left side of the frame and a stop sign on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a spacious outdoor area with a clean open background and clear daylight. fixed shot. A fire hydrant remains on the left side of the frame and a stop sign remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a fire hydrant and a stop sign"}
|
||||
{"index": 123, "data": "A wide shot shows a stop sign on the left side of the frame and a parking meter on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a spacious outdoor area with a clean open background and clear daylight. fixed shot. A stop sign remains on the left side of the frame and a parking meter remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a stop sign and a parking meter"}
|
||||
{"index": 124, "data": "A wide shot shows a parking meter on the left side of the frame and a truck on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a spacious outdoor area with a clean open background and clear daylight. fixed shot. A parking meter remains on the left side of the frame and a truck remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a parking meter and a truck"}
|
||||
{"index": 125, "data": "A wide shot shows a truck on the left side of the frame and a bicycle on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a spacious outdoor area with a clean open background and clear daylight. fixed shot. A truck remains on the left side of the frame and a bicycle remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a truck and a bicycle"}
|
||||
{"index": 126, "data": "A medium shot shows a toilet on the left side of the frame and a hair drier on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a bright clean bathroom with a simple uncluttered background. fixed shot. A toilet remains on the left side of the frame and a hair drier remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a toilet and a hair drier"}
|
||||
{"index": 127, "data": "A medium shot shows a hair drier on the left side of the frame and a toothbrush on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a bright clean bathroom with a simple uncluttered background. fixed shot. A hair drier remains on the left side of the frame and a toothbrush remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a hair drier and a toothbrush"}
|
||||
{"index": 128, "data": "A medium shot shows a toothbrush on the left side of the frame and a sink on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a bright clean bathroom with a simple uncluttered background. fixed shot. A toothbrush remains on the left side of the frame and a sink remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a toothbrush and a sink"}
|
||||
{"index": 129, "data": "A medium shot shows a sink on the left side of the frame and a toilet on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a bright clean bathroom with a simple uncluttered background. fixed shot. A sink remains on the left side of the frame and a toilet remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a sink and a toilet"}
|
||||
{"index": 130, "data": "A medium shot shows a wine glass on the left side of the frame and a chair on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. A wine glass remains on the left side of the frame and a chair remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a wine glass and a chair"}
|
||||
{"index": 131, "data": "A medium shot shows a cup on the left side of the frame and a couch on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. A cup remains on the left side of the frame and a couch remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a cup and a couch"}
|
||||
{"index": 132, "data": "A medium shot shows a fork on the left side of the frame and a potted plant on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. A fork remains on the left side of the frame and a potted plant remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a fork and a potted plant"}
|
||||
{"index": 133, "data": "A medium shot shows a knife on the left side of the frame and a tv on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. A knife remains on the left side of the frame and a tv remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a knife and a tv"}
|
||||
{"index": 134, "data": "A medium shot shows a spoon on the left side of the frame and a laptop on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. A spoon remains on the left side of the frame and a laptop remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a spoon and a laptop"}
|
||||
{"index": 135, "data": "A close shot shows a bowl on the left side of the frame and a remote on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. They are placed on a clean flat surface with a softly blurred background and natural light. fixed shot. A bowl remains on the left side of the frame and a remote remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a bowl and a remote"}
|
||||
{"index": 136, "data": "A close shot shows a banana on the left side of the frame and a keyboard on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. They are placed on a clean flat surface with a softly blurred background and natural light. fixed shot. A banana remains on the left side of the frame and a keyboard remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a banana and a keyboard"}
|
||||
{"index": 137, "data": "A close shot shows an apple on the left side of the frame and a cell phone on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. They are placed on a clean flat surface with a softly blurred background and natural light. fixed shot. An apple remains on the left side of the frame and a cell phone remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "an apple and a cell phone"}
|
||||
{"index": 138, "data": "A close shot shows a sandwich on the left side of the frame and a book on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. They are placed on a clean flat surface with a softly blurred background and natural light. fixed shot. A sandwich remains on the left side of the frame and a book remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a sandwich and a book"}
|
||||
{"index": 139, "data": "A close shot shows an orange on the left side of the frame and a clock on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. They are placed on a clean flat surface with a softly blurred background and natural light. fixed shot. An orange remains on the left side of the frame and a clock remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "an orange and a clock"}
|
||||
{"index": 140, "data": "A close shot shows broccoli on the left side of the frame and a backpack on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. They are placed on a clean flat surface with a softly blurred background and natural light. fixed shot. Broccoli remains on the left side of the frame and a backpack remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "broccoli and a backpack"}
|
||||
{"index": 141, "data": "A close shot shows a carrot on the left side of the frame and an umbrella on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. They are placed on a clean flat surface with a softly blurred background and natural light. fixed shot. A carrot remains on the left side of the frame and an umbrella remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a carrot and an umbrella"}
|
||||
{"index": 142, "data": "A close shot shows a hot dog on the left side of the frame and a handbag on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. They are placed on a clean flat surface with a softly blurred background and natural light. fixed shot. A hot dog remains on the left side of the frame and a handbag remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a hot dog and a handbag"}
|
||||
{"index": 143, "data": "A close shot shows a pizza on the left side of the frame and a tie on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. They are placed on a clean flat surface with a softly blurred background and natural light. fixed shot. A pizza remains on the left side of the frame and a tie remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a pizza and a tie"}
|
||||
{"index": 144, "data": "A close shot shows a donut on the left side of the frame and a suitcase on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. They are placed on a clean flat surface with a softly blurred background and natural light. fixed shot. A donut remains on the left side of the frame and a suitcase remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a donut and a suitcase"}
|
||||
{"index": 145, "data": "A close shot shows a cake on the left side of the frame and a vase on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. They are placed on a clean flat surface with a softly blurred background and natural light. fixed shot. A cake remains on the left side of the frame and a vase remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a cake and a vase"}
|
||||
{"index": 146, "data": "A medium shot shows an oven on the left side of the frame and scissors on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. An oven remains on the left side of the frame and scissors remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "an oven and scissors"}
|
||||
{"index": 147, "data": "A medium shot shows a toaster on the left side of the frame and a teddy bear on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. A toaster remains on the left side of the frame and a teddy bear remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a toaster and a teddy bear"}
|
||||
{"index": 148, "data": "A medium-wide shot shows a microwave on the left side of the frame and a frisbee on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in an open outdoor area under clear daylight, with a simple background. fixed shot. A microwave remains on the left side of the frame and a frisbee remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a microwave and a frisbee"}
|
||||
{"index": 149, "data": "A medium-wide shot shows a refrigerator on the left side of the frame and skis on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in an open outdoor area under clear daylight, with a simple background. fixed shot. A refrigerator remains on the left side of the frame and skis remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a refrigerator and skis"}
|
||||
{"index": 150, "data": "A wide shot shows a bicycle on the left side of the frame and an airplane on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a spacious outdoor area with a clean open background and clear daylight. fixed shot. A bicycle remains on the left side of the frame and an airplane remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a bicycle and an airplane"}
|
||||
{"index": 151, "data": "A wide shot shows a car on the left side of the frame and a train on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a spacious outdoor area with a clean open background and clear daylight. fixed shot. A car remains on the left side of the frame and a train remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a car and a train"}
|
||||
{"index": 152, "data": "A wide shot shows a motorcycle on the left side of the frame and a boat on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a spacious outdoor area with a clean open background and clear daylight. fixed shot. A motorcycle remains on the left side of the frame and a boat remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a motorcycle and a boat"}
|
||||
{"index": 153, "data": "A medium shot shows a person on the left side of the frame and a toilet on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a bright clean bathroom with a simple uncluttered background. fixed shot. A person remains on the left side of the frame and a toilet remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a person and a toilet"}
|
||||
{"index": 154, "data": "A medium shot shows a person on the left side of the frame and a hair drier on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a bright clean bathroom with a simple uncluttered background. fixed shot. A person remains on the left side of the frame and a hair drier remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a person and a hair drier"}
|
||||
{"index": 155, "data": "A medium shot shows a person on the left side of the frame and a toothbrush on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a bright clean bathroom with a simple uncluttered background. fixed shot. A person remains on the left side of the frame and a toothbrush remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a person and a toothbrush"}
|
||||
{"index": 156, "data": "A medium shot shows a person on the left side of the frame and a sink on the right side of the frame, with a clear gap between them. Both subjects are fully visible and do not overlap or occlude each other. The scene is set in a bright clean bathroom with a simple uncluttered background. fixed shot. A person remains on the left side of the frame and a sink remains on the right side of the frame. Both stay clearly separated, complete, and unobstructed throughout the scene.", "original_prompt_en": "a person and a sink"}
|
||||
{"index": 157, "data": "A wide shot shows one adult person and one bicycle in an open outdoor area. The full person and the full bicycle are completely visible, unobstructed, and shown in high clarity. fixed shot. The person is riding the bicycle forward, holding the handlebars with both hands and pedaling with both feet.", "original_prompt_en": "A person is riding a bike"}
|
||||
{"index": 158, "data": "A wide shot shows one adult person fully visible in an open area with a simple background. The body is unobstructed and shown in high clarity. fixed shot. The person is marching forward, lifting the knees high and swinging both arms in a steady rhythm.", "original_prompt_en": "A person is marching"}
|
||||
{"index": 159, "data": "A wide shot shows one adult person wearing one pair of roller skates on a smooth open surface. The full body and both skates are completely visible, unobstructed, and shown in high clarity. fixed shot. The person is roller skating forward with alternating leg movement.", "original_prompt_en": "A person is roller skating"}
|
||||
{"index": 160, "data": "A medium shot shows one adult person holding one glass of beer in a simple indoor setting. The person and the glass are fully visible, unobstructed, and shown in high clarity. fixed shot. The person raises the glass to the mouth, tastes the beer, and lowers the glass.", "original_prompt_en": "A person is tasting beer"}
|
||||
{"index": 161, "data": "A medium shot shows one adult person against a simple indoor background. Both hands are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is clapping both hands together repeatedly in front of the chest.", "original_prompt_en": "A person is clapping"}
|
||||
{"index": 162, "data": "A medium shot shows one adult person at a desk with one sheet of paper and one pencil. The person, the paper, and the pencil are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is drawing on the paper with the pencil.", "original_prompt_en": "A person is drawing"}
|
||||
{"index": 163, "data": "A medium shot shows one adult person beside one dog in a simple outdoor setting. The full person and the full dog are clearly separated, fully visible, unobstructed, and shown in high clarity. fixed shot. The person is petting the dog on its back with one hand.", "original_prompt_en": "A person is petting animal (not cat)"}
|
||||
{"index": 164, "data": "A medium shot shows one adult person holding one slice of watermelon. The person and the watermelon slice are fully visible, unobstructed, and shown in high clarity. fixed shot. The person lifts the watermelon slice to the mouth and eats it with visible bites.", "original_prompt_en": "A person is eating watermelon"}
|
||||
{"index": 165, "data": "A wide shot shows one adult person seated with one harp in a simple music room. The full person and the full harp are completely visible, unobstructed, and shown in high clarity. fixed shot. The person is playing the harp by plucking the strings with both hands.", "original_prompt_en": "A person is playing harp"}
|
||||
{"index": 166, "data": "A wide shot shows two adult people on one wrestling mat. Both people are fully visible, unobstructed, and shown in high clarity. fixed shot. The two people are wrestling, gripping and pushing each other in close contact.", "original_prompt_en": "A person is wrestling"}
|
||||
{"index": 167, "data": "A wide shot shows one adult person riding one kick scooter in an open outdoor area. The full person and the full scooter are completely visible, unobstructed, and shown in high clarity. fixed shot. The person holds the handlebar with both hands and rides the scooter forward while pushing with one foot.", "original_prompt_en": "A person is riding scooter"}
|
||||
{"index": 168, "data": "A wide shot shows one adult person standing on an indoor floor with one broom. The person and the broom are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is sweeping the floor with broad side to side strokes.", "original_prompt_en": "A person is sweeping floor"}
|
||||
{"index": 169, "data": "A wide shot shows one adult person on one skateboard in an open outdoor area. The full person and the full skateboard are completely visible, unobstructed, and shown in high clarity. fixed shot. The person is skateboarding forward with balanced body movement.", "original_prompt_en": "A person is skateboarding"}
|
||||
{"index": 170, "data": "A wide shot shows one adult person, one basketball hoop, and one basketball on an indoor court. The person, the hoop, and the ball are fully visible, unobstructed, and shown in high clarity. fixed shot. The person jumps upward and dunks the basketball through the hoop with one hand.", "original_prompt_en": "A person is dunking basketball"}
|
||||
{"index": 171, "data": "A medium shot shows one adult person holding one flute in a simple room. The person and the full flute are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is playing the flute with both hands while blowing into it.", "original_prompt_en": "A person is playing flute"}
|
||||
{"index": 172, "data": "A wide shot shows one adult person on a simple exercise surface. The full body is completely visible, unobstructed, and shown in high clarity. fixed shot. The person is stretching one leg with a visible extended leg pose.", "original_prompt_en": "A person is stretching leg"}
|
||||
{"index": 173, "data": "A medium shot shows one adult person wearing one shirt and one tie. The person and the tie are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is tying the tie at the collar with both hands.", "original_prompt_en": "A person is tying tie"}
|
||||
{"index": 174, "data": "A wide shot shows one adult person in one skydiving suit during freefall. The full body is completely visible, unobstructed, and shown in high clarity against a simple sky background. fixed shot. The person is skydiving with arms and legs spread in the air.", "original_prompt_en": "A person is skydiving"}
|
||||
{"index": 175, "data": "A wide shot shows one adult person, one soccer ball, and one goal on a soccer field. The person, the ball, and the goal are fully visible, unobstructed, and shown in high clarity, with the ball positioned between the person and the goal. fixed shot. The person runs forward and shoots the soccer ball toward the goal.", "original_prompt_en": "A person is shooting goal (soccer)"}
|
||||
{"index": 176, "data": "A wide shot shows one adult person seated at one piano in a simple room. The full person and the full piano are completely visible, unobstructed, and shown in high clarity. fixed shot. The person is playing the piano with both hands on the keys.", "original_prompt_en": "A person is playing piano"}
|
||||
{"index": 177, "data": "A medium shot shows one adult person against a simple background. One hand is clearly visible near the body, unobstructed, and shown in high clarity. fixed shot. The person is snapping the fingers with a visible finger snapping motion.", "original_prompt_en": "A person is finger snapping"}
|
||||
{"index": 178, "data": "A wide shot shows one adult person sitting in one kayak on calm water with one paddle. The full person, the full kayak, and the paddle are completely visible, unobstructed, and shown in high clarity. fixed shot. The person is kayaking by dipping the paddle into the water on alternating sides.", "original_prompt_en": "A person is canoeing or kayaking"}
|
||||
{"index": 179, "data": "A medium shot shows one adult person against a simple background. The face is fully visible, unobstructed, and shown in high clarity. fixed shot. The person is laughing, with the mouth open and the body showing natural laughing movement.", "original_prompt_en": "A person is laughing"}
|
||||
{"index": 180, "data": "A wide shot shows one adult person standing on soil with one shovel. The person and the shovel are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is digging the ground with the shovel.", "original_prompt_en": "A person is digging"}
|
||||
{"index": 181, "data": "A medium shot shows one adult person seated at one pottery wheel with one piece of clay. The person, the wheel, and the clay are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is making clay pottery with both hands shaping the clay on the spinning wheel.", "original_prompt_en": "A person is clay pottery making"}
|
||||
{"index": 182, "data": "A wide shot shows one adult person, one basketball, and one basketball hoop on a court. The person, the ball, and the hoop are fully visible, unobstructed, and shown in high clarity. fixed shot. The person raises the basketball and shoots it toward the hoop.", "original_prompt_en": "A person is shooting basketball"}
|
||||
{"index": 183, "data": "A wide shot shows one adult person on a simple exercise surface. The full body is completely visible, unobstructed, and shown in high clarity. fixed shot. The person bends the upper body backward in a clear back bending pose.", "original_prompt_en": "A person is bending back"}
|
||||
{"index": 184, "data": "A medium shot shows two adult people facing each other. Both people and both right hands are fully visible, unobstructed, and shown in high clarity. fixed shot. The two people are shaking hands.", "original_prompt_en": "A person is shaking hands"}
|
||||
{"index": 185, "data": "A medium shot shows one adult person with one bandage roll near one forearm. The person, the bandage roll, and the forearm are fully visible, unobstructed, and shown in high clarity. fixed shot. The person wraps the bandage around the forearm with both hands.", "original_prompt_en": "A person is bandaging"}
|
||||
{"index": 186, "data": "A wide shot shows one adult person on the floor in a simple exercise area. The full body is completely visible, unobstructed, and shown in high clarity. fixed shot. The person is doing push ups, lowering the chest toward the floor and pushing back up.", "original_prompt_en": "A person is push up"}
|
||||
{"index": 187, "data": "A wide shot shows one adult person and one frisbee in an open outdoor area. The full person and the frisbee are fully visible, unobstructed, and shown in high clarity. fixed shot. The person throws the frisbee forward with one arm.", "original_prompt_en": "A person is catching or throwing frisbee"}
|
||||
{"index": 188, "data": "A medium shot shows one adult person holding one trumpet in a simple room. The person and the full trumpet are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is playing the trumpet with both hands while blowing into it.", "original_prompt_en": "A person is playing trumpet"}
|
||||
{"index": 189, "data": "A wide shot shows one adult person holding one kite line, with one kite flying above in open sky. The person, the line, and the kite are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is flying the kite and controlling it with both hands.", "original_prompt_en": "A person is flying kite"}
|
||||
{"index": 190, "data": "A medium close shot shows one adult person in front of a simple mirror area with one eyebrow pencil. The face, both eyebrows, and the pencil are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is filling in both eyebrows with the pencil.", "original_prompt_en": "A person is filling eyebrows"}
|
||||
{"index": 191, "data": "A medium shot shows one adult person holding one deck of cards. The hands and the deck are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is shuffling the cards with both hands.", "original_prompt_en": "A person is shuffling cards"}
|
||||
{"index": 192, "data": "A medium shot shows one adult person standing at a table with two pieces of clothing. The person and both pieces of clothing are fully visible, unobstructed, and shown in high clarity. fixed shot. The person folds the clothes neatly with both hands.", "original_prompt_en": "A person is folding clothes"}
|
||||
{"index": 193, "data": "A medium shot shows one adult person holding one cigarette. The person and the cigarette are fully visible, unobstructed, and shown in high clarity. fixed shot. The person brings the cigarette to the mouth and smokes.", "original_prompt_en": "A person is smoking"}
|
||||
{"index": 194, "data": "A wide shot shows one adult person standing on a simple exercise surface. The full body is completely visible, unobstructed, and shown in high clarity. fixed shot. The person is performing tai chi with slow, controlled arm and leg movements.", "original_prompt_en": "A person is tai chi"}
|
||||
{"index": 195, "data": "A wide shot shows one adult person standing on a simple exercise surface. The full body is completely visible, unobstructed, and shown in high clarity. fixed shot. The person performs a squat by lowering the body and rising back up.", "original_prompt_en": "A person is squat"}
|
||||
{"index": 196, "data": "A medium shot shows one adult person holding one game controller. The person and the controller are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is playing with the controller, pressing buttons with both thumbs.", "original_prompt_en": "A person is playing controller"}
|
||||
{"index": 197, "data": "A wide shot shows one adult person holding one axe in front of one target in an open area. The person, the axe, and the target are fully visible, unobstructed, and shown in high clarity, with the target positioned in front of the person. fixed shot. The person throws the axe toward the target with one arm.", "original_prompt_en": "A person is throwing axe"}
|
||||
{"index": 198, "data": "A medium shot shows two adult people facing each other with one award between them. Both people and the award are fully visible, unobstructed, and shown in high clarity. fixed shot. One person hands the award to the other person, and both hold it briefly.", "original_prompt_en": "A person is giving or receiving award"}
|
||||
{"index": 199, "data": "A medium shot shows one adult person against a simple background with empty hands fully visible. The upper body and both arms are unobstructed and shown in high clarity. fixed shot. The person is air drumming with both hands as if striking invisible drums.", "original_prompt_en": "A person is air drumming"}
|
||||
{"index": 200, "data": "A medium shot shows one adult person standing under one shower head in a simple bathroom. The person and the shower head are fully visible, unobstructed, and shown in high clarity. fixed shot. Water falls from the shower head while the person is taking a shower and washing the body.", "original_prompt_en": "A person is taking a shower"}
|
||||
{"index": 201, "data": "A wide shot shows one adult person planting two young trees in soil with one shovel. The person, both trees, and the shovel are fully visible, unobstructed, and shown in high clarity, with the two trees clearly separated. fixed shot. The person places the two young trees into the ground and covers their bases with soil using the shovel.", "original_prompt_en": "A person is planting trees"}
|
||||
{"index": 202, "data": "A medium shot shows one adult person holding two knives and one sharpening tool. The person, both knives, and the sharpening tool are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is sharpening the knives by moving each blade along the sharpening tool.", "original_prompt_en": "A person is sharpening knives"}
|
||||
{"index": 203, "data": "A wide shot shows one adult person standing in an open area with a simple background. The full body is completely visible, unobstructed, and shown in high clarity. fixed shot. The person is robot dancing with stiff, angular arm and leg movements.", "original_prompt_en": "A person is robot dancing"}
|
||||
{"index": 204, "data": "A wide shot shows one adult person climbing on one rock wall. The full person and the rock wall are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is rock climbing upward using both hands and both feet.", "original_prompt_en": "A person is rock climbing"}
|
||||
{"index": 205, "data": "A wide shot shows one adult person with one hula hoop around the waist in an open area. The full person and the full hula hoop are completely visible, unobstructed, and shown in high clarity. fixed shot. The person is hula hooping by rotating the hips to keep the hoop moving.", "original_prompt_en": "A person is hula hooping"}
|
||||
{"index": 206, "data": "A medium shot shows one adult person at a desk with one sheet of paper and one pen. The person, the paper, and the pen are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is writing on the paper with the pen.", "original_prompt_en": "A person is writing"}
|
||||
{"index": 207, "data": "A wide shot shows one adult person attached to one bungee cord in an outdoor jumping area. The full person and the bungee cord are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is bungee jumping downward while attached to the cord.", "original_prompt_en": "A person is bungee jumping"}
|
||||
{"index": 208, "data": "A wide shot shows one adult person pushing one cart in an open area. The full person and the full cart are completely visible, unobstructed, and shown in high clarity. fixed shot. The person pushes the cart forward with both hands on the handle.", "original_prompt_en": "A person is pushing cart"}
|
||||
{"index": 209, "data": "A medium shot shows one adult person beside two window panes holding one cleaning cloth. The person, both window panes, and the cloth are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is cleaning the windows with repeated wiping motions.", "original_prompt_en": "A person is cleaning windows"}
|
||||
{"index": 210, "data": "A medium shot shows one adult person, one half watermelon on a table, and one knife. The person, the watermelon, and the knife are fully visible, unobstructed, and shown in high clarity. fixed shot. The person cuts the watermelon with the knife.", "original_prompt_en": "A person is cutting watermelon"}
|
||||
{"index": 211, "data": "A wide shot shows one adult person standing in an open area holding two pom poms. The full person and both pom poms are completely visible, unobstructed, and shown in high clarity. fixed shot. The person is cheerleading, lifting and shaking both pom poms with energetic arm movements.", "original_prompt_en": "A person is cheerleading"}
|
||||
{"index": 212, "data": "A medium shot shows one adult person at one sink with both hands under running water. The person, both hands, and the sink area are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is washing the hands by rubbing them together under the water.", "original_prompt_en": "A person is washing hands"}
|
||||
{"index": 213, "data": "A medium shot shows one adult person standing at an ironing board with one item of clothing and one iron. The person, the clothing, and the iron are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is ironing the clothing by moving the iron across the fabric.", "original_prompt_en": "A person is ironing"}
|
||||
{"index": 214, "data": "A close shot shows one adult person holding one hand with the other hand and using one nail clipper. The fingers, several nails, and the nail clipper are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is cutting the nails with the nail clipper.", "original_prompt_en": "A person is cutting nails"}
|
||||
{"index": 215, "data": "A medium shot shows two adult people standing close to each other. Both people are fully visible, unobstructed, and shown in high clarity. fixed shot. The two people are hugging each other with both arms.", "original_prompt_en": "A person is hugging"}
|
||||
{"index": 216, "data": "A medium shot shows one adult person in front of a mirror holding one razor near the beard area. The face, the beard area, and the razor are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is shaving the beard with the razor.", "original_prompt_en": "A person is trimming or shaving beard"}
|
||||
{"index": 217, "data": "A wide shot shows one adult person moving through an open outdoor area. The full body is completely visible, unobstructed, and shown in high clarity. fixed shot. The person is jogging forward at a steady pace.", "original_prompt_en": "A person is jogging"}
|
||||
{"index": 218, "data": "A wide shot shows one adult person beside one bed with bedding fully visible. The person and the full bed are completely visible, unobstructed, and shown in high clarity. fixed shot. The person is making the bed by pulling and smoothing the blanket over the mattress.", "original_prompt_en": "A person is making bed"}
|
||||
{"index": 219, "data": "A medium shot shows one adult person at one sink with two dishes and one sponge. The person, both dishes, and the sponge are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is washing the dishes by scrubbing them at the sink.", "original_prompt_en": "A person is washing dishes"}
|
||||
{"index": 220, "data": "A medium shot shows one adult person beside one dog holding one grooming brush. The person, the dog, and the brush are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is grooming the dog by brushing its fur.", "original_prompt_en": "A person is grooming dog"}
|
||||
{"index": 221, "data": "A medium shot shows one adult person at one washing machine holding two pieces of clothing. The person, the washing machine, and both pieces of clothing are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is doing laundry by placing the clothes into the washing machine.", "original_prompt_en": "A person is doing laundry"}
|
||||
{"index": 222, "data": "A medium shot shows one adult person holding two knitting needles and one piece of yarn work. The hands, both needles, and the yarn work are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is knitting with repeated hand movements.", "original_prompt_en": "A person is knitting"}
|
||||
{"index": 223, "data": "A medium shot shows one adult person holding one open book. The person and the full book are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is reading the book and looking down at the pages.", "original_prompt_en": "A person is reading book"}
|
||||
{"index": 224, "data": "A medium shot shows one baby lying on one bed. The baby and the bed are fully visible, unobstructed, and shown in high clarity. fixed shot. The baby wakes up, opens the eyes, and moves the arms and legs.", "original_prompt_en": "A person is baby waking up"}
|
||||
{"index": 225, "data": "A medium shot shows one adult person seated with both legs exposed and reachable by both hands. The person and both legs are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is massaging the legs with both hands.", "original_prompt_en": "A person is massaging legs"}
|
||||
{"index": 226, "data": "A medium shot shows one adult person holding one toothbrush at one sink. The person, the toothbrush, and the mouth area are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is brushing the teeth with the toothbrush.", "original_prompt_en": "A person is brushing teeth"}
|
||||
{"index": 227, "data": "A wide shot shows one baby on a flat indoor floor. The full baby is completely visible, unobstructed, and shown in high clarity. fixed shot. The baby is crawling forward on hands and knees.", "original_prompt_en": "A person is crawling baby"}
|
||||
{"index": 228, "data": "A wide shot shows one adult person riding one motorcycle on a simple road. The full person and the full motorcycle are completely visible, unobstructed, and shown in high clarity. fixed shot. The person is motorcycling forward with both hands on the handlebars.", "original_prompt_en": "A person is motorcycling"}
|
||||
{"index": 229, "data": "A medium wide shot shows one adult person seated in the driver's seat of one car, with both hands on the steering wheel clearly visible. The person and the car interior needed for the action are unobstructed and shown in high clarity. fixed shot. The person is driving the car and turning the steering wheel slightly while looking forward.", "original_prompt_en": "A person is driving car"}
|
||||
{"index": 230, "data": "A close shot shows one adult person facing the camera. The face is fully visible, unobstructed, and shown in high clarity. fixed shot. The person sticks the tongue out clearly.", "original_prompt_en": "A person is sticking tongue out"}
|
||||
{"index": 231, "data": "A medium shot shows one adult person facing the camera against a simple background. The head and shoulders are fully visible, unobstructed, and shown in high clarity. fixed shot. The person shakes the head from side to side.", "original_prompt_en": "A person is shaking head"}
|
||||
{"index": 232, "data": "A wide shot shows two adult people, each holding one sword, facing each other in an open area. Both people and both swords are fully visible, unobstructed, and shown in high clarity. fixed shot. The two people are sword fighting with visible swinging and blocking motions.", "original_prompt_en": "A person is sword fighting"}
|
||||
{"index": 233, "data": "A wide shot shows one adult person on a simple exercise surface. The full body is completely visible, unobstructed, and shown in high clarity. fixed shot. The person is doing aerobics with energetic repeated arm and leg movements.", "original_prompt_en": "A person is doing aerobics"}
|
||||
{"index": 234, "data": "A medium shot shows one adult person holding one guitar. The person and the full guitar are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is strumming the guitar strings with one hand while the other hand holds the neck.", "original_prompt_en": "A person is strumming guitar"}
|
||||
{"index": 235, "data": "A wide shot shows one adult person beside one horse in an open outdoor area. The full person and the full horse are completely visible, unobstructed, and shown in high clarity. fixed shot. The person is walking alongside the horse while holding it close.", "original_prompt_en": "A person is riding or walking with horse"}
|
||||
{"index": 236, "data": "A wide shot shows one adult person holding one bow and one arrow in front of one target. The person, the bow, the arrow, and the target are fully visible, unobstructed, and shown in high clarity, with the target positioned in front of the person. fixed shot. The person draws the bow and aims the arrow toward the target.", "original_prompt_en": "A person is archery"}
|
||||
{"index": 237, "data": "A wide shot shows one adult person and one baseball in an open field. The full person and the baseball are fully visible, unobstructed, and shown in high clarity. fixed shot. The person throws the baseball forward with one arm.", "original_prompt_en": "A person is catching or throwing baseball"}
|
||||
{"index": 238, "data": "A medium shot shows two adult people seated across one chessboard on one table. Both people and the chessboard are fully visible, unobstructed, and shown in high clarity. fixed shot. One person moves one chess piece on the board while both look at the game.", "original_prompt_en": "A person is playing chess"}
|
||||
{"index": 239, "data": "A medium shot shows two adult people facing each other with one hand from each person raised between them. Both people and both hands are fully visible, unobstructed, and shown in high clarity. fixed shot. The two people are playing rock scissors paper with a clear final hand sign.", "original_prompt_en": "A person is rock scissors paper"}
|
||||
{"index": 240, "data": "A medium shot shows one adult person seated at one computer with one keyboard. The person, the computer, and the keyboard are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is using the computer by looking at the screen and typing on the keyboard.", "original_prompt_en": "A person is using computer"}
|
||||
{"index": 241, "data": "A medium shot shows one adult person arranging five flowers in one vase on a table. The person, all five flowers, and the vase are fully visible, unobstructed, and shown in high clarity. fixed shot. The person adjusts the flowers with both hands to arrange them in the vase.", "original_prompt_en": "A person is arranging flowers"}
|
||||
{"index": 242, "data": "A medium shot shows one adult person holding one metal bar with both hands. The person and the metal bar are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is bending the metal bar with visible force from both hands.", "original_prompt_en": "A person is bending metal"}
|
||||
{"index": 243, "data": "A wide shot shows one adult person ice skating on an ice surface. The full person and both ice skates are completely visible, unobstructed, and shown in high clarity. fixed shot. The person is ice skating forward smoothly with gliding steps.", "original_prompt_en": "A person is ice skating"}
|
||||
{"index": 244, "data": "A wide shot shows one adult person climbing one rope in an open training area. The full person and the full rope are completely visible, unobstructed, and shown in high clarity. fixed shot. The person is climbing the rope upward using both hands and both feet.", "original_prompt_en": "A person is climbing a rope"}
|
||||
{"index": 245, "data": "A medium shot shows one adult person against a simple background. The face is fully visible, unobstructed, and shown in high clarity. fixed shot. The person is crying, with visible tears or a crying facial expression and body movement.", "original_prompt_en": "A person is crying"}
|
||||
{"index": 246, "data": "A wide shot shows one adult person on a simple dance floor. The full body is completely visible, unobstructed, and shown in high clarity. fixed shot. The person is dancing ballet with controlled arm positions and pointed footwork.", "original_prompt_en": "A person is dancing ballet"}
|
||||
{"index": 247, "data": "A medium shot shows two adult people, one seated and one standing as a barber, with one pair of scissors near the seated person's hair. Both people and the hair cutting action are fully visible, unobstructed, and shown in high clarity. fixed shot. The standing person is cutting the seated person's hair.", "original_prompt_en": "A person is getting a haircut"}
|
||||
{"index": 248, "data": "A wide shot shows one adult person on one treadmill in a gym setting with only the treadmill visible as the needed object. The full person and the full treadmill are completely visible, unobstructed, and shown in high clarity. fixed shot. The person is running on the treadmill.", "original_prompt_en": "A person is running on treadmill"}
|
||||
{"index": 249, "data": "A medium shot shows two adult people facing each other closely. Both faces and upper bodies are fully visible, unobstructed, and shown in high clarity. fixed shot. The two people lean in and kiss.", "original_prompt_en": "A person is kissing"}
|
||||
{"index": 250, "data": "A medium shot shows one adult person holding a stack of money with both hands. The hands and the money are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is counting the money by separating the bills one by one.", "original_prompt_en": "A person is counting money"}
|
||||
{"index": 251, "data": "A medium shot shows one adult person standing at one barbecue grill holding one food item with one tool. The person, the grill, the food item, and the tool are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is barbequing by turning the food on the grill.", "original_prompt_en": "A person is barbequing"}
|
||||
{"index": 252, "data": "A medium shot shows one adult person holding one apple and one peeler over a table. The person, the apple, and the peeler are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is peeling the apple with the peeler.", "original_prompt_en": "A person is peeling apples"}
|
||||
{"index": 253, "data": "A medium shot shows one adult person beside one cow holding the udder area with both hands. The person and the cow are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is milking the cow with repeated hand squeezing motions.", "original_prompt_en": "A person is milking cow"}
|
||||
{"index": 254, "data": "A medium shot shows one adult person holding two shoes and one polishing brush. The person, both shoes, and the brush are fully visible, unobstructed, and shown in high clarity. fixed shot. The person is shining the shoes by brushing or polishing their surfaces.", "original_prompt_en": "A person is shining shoes"}
|
||||
{"index": 255, "data": "A wide shot shows one adult person beside one snowman in a snowy outdoor area. The full person and the full snowman are completely visible, unobstructed, and shown in high clarity. fixed shot. The person is making the snowman by shaping and placing snow onto it with both hands.", "original_prompt_en": "A person is making snowman"}
|
||||
{"index": 256, "data": "A wide shot shows one adult person on one sailboat with one sail clearly visible on open water. The full person, the sailboat, and the sail are completely visible, unobstructed, and shown in high clarity. fixed shot. The person is sailing the boat forward.", "original_prompt_en": "A person is sailing"}
|
||||
{"index": 257, "data": "A medium shot captures a person swimming in the ocean. The individual, with light skin and short dark hair, wears a blue swimsuit. They perform a freestyle stroke, arms slicing rhythmically through the turquoise water, while legs kick beneath the surface, creating small splashes. The ocean is calm with gentle waves, and the sky above is clear blue, dotted with fluffy white clouds. In the background, the horizon blends with the sky, and a few seagulls soar. The camera stays fixed, capturing the swimmer’s smooth, steady movements as they glide through the water.", "original_prompt_en": "a person swimming in ocean"}
|
||||
{"index": 258, "data": "A medium shot captures a professionally dressed individual (with neatly styled dark hair, wearing a charcoal - gray suit and a light - blue dress shirt) standing at the front of a conference room, giving a presentation to a room full of colleagues. The presenter holds a laser pointer in their right hand, gesturing towards a projection screen that displays slides with data charts and bullet - pointed text. The conference room has cream - colored walls, a long wooden table surrounded by ergonomic office chairs. Colleagues (dressed in business casual or formal attire) are seated around the table—some are jotting down notes in notebooks, while others are focusing intently on the speaker or the screen. In the background, there are shelves with binders and a whiteboard with faded markings. The presenter occasionally shifts their weight and uses animated hand movements to emphasize key points, while the colleagues show engaged postures: a few nod in agreement, and one colleague with glasses rests their chin on their hand, deep in thought.", "original_prompt_en": "a person giving a presentation to a room full of colleagues"}
|
||||
{"index": 259, "data": "A medium shot captures a person washing dishes at a kitchen sink. The individual, with short brown hair and wearing a blue apron over a white shirt, is holding a white ceramic plate coated in soapy bubbles, rinsing it under the steady stream of water from a silver faucet. The kitchen background showcases white - tiled walls, a wooden cabinet with silver handles, and a drying rack filled with other dishes—a clear glass, a blue - rimmed bowl, and a stainless - steel pot—beside the sink. The person’s hands move gently yet efficiently: first scrubbing the plate with a yellow sponge to eliminate food remnants, then rinsing it thoroughly, and carefully placing the clean dish into the rack. The warm - toned lighting casts soft shadows on the countertop, which has a few scattered utensils (a fork and a spoon) and a red - and - white checkered towel draped nearby.", "original_prompt_en": "a person washing the dishes"}
|
||||
{"index": 260, "data": "Medium shot captures a young Asian person with short black hair, dressed in a blue T - shirt and black jeans, sitting at a wooden table in a bustling fast - food restaurant. The person holds a sizable beef burger—adorned with crisp lettuce, melted cheese, and a succulent patty—in their right hand, lifting it toward their mouth to take a hearty bite. In front of them, a red - and - white striped paper cup with a straw (likely containing a fizzy beverage) rests on the table, alongside a few crumpled napkins. The background is lined with vibrant burger - themed posters on the wall and other diners engrossed in their meals. The individual chews slowly, a faint smudge of sauce visible at the corner of their mouth, then reaches for a fresh napkin from the table.", "original_prompt_en": "a person eating a burger"}
|
||||
{"index": 261, "data": "Long shot captures a person walking in the fierce snowstorm. The sky is overcast, and thick snowflakes swirl down, blanketing the ground in a layer of white. The person, bundled in a heavy dark coat with a fur - lined hood, blue gloves, and thick boots, hunches slightly forward, arms bent at the elbows as if bracing against the wind. Snowflakes cling to their hair and shoulders, and the background is a blurred, snow - covered landscape with faint outlines of trees barely visible through the storm. The wind howls, and the person takes slow, deliberate steps, head bowed to shield their face from the driving snow. The camera remains fixed, emphasizing the solitary figure against the overwhelming, swirling snowstorm.", "original_prompt_en": "a person walking in the snowstorm"}
|
||||
{"index": 262, "data": "A medium shot captures a young woman in a cozy café. She has shoulder - length brown hair and is dressed in a light gray blouse and a black skirt. She holds a white ceramic coffee cup with her right hand, bringing it to her lips to take a sip, and a thin layer of steam is rising from the cup. The café is furnished with wooden tables and soft - cushioned chairs, and warm - toned pendant lights hang from the ceiling. In the background, there is a wall decorated with vintage - style paintings, and a large window reveals a rainy street outside, with raindrops pattering on the glass. Other customers are quietly enjoying their drinks, and the gentle clink of cups and soft chatter fill the space.", "original_prompt_en": "a person drinking coffee in a cafe"}
|
||||
{"index": 263, "data": "Medium shot captures a person with shoulder - length blonde hair, dressed in a white linen shirt and beige trousers, playing a classical guitar with a cedar top and rosewood fretboard. The background is a sun - lit garden, with blooming flowers and a wooden bench. The person plucks the guitar strings gently with their right hand, fingers of the left hand forming delicate chords on the fretboard. The camera stays fixed, capturing the relaxed posture and the way the guitar’s body casts a shadow on the grass.", "original_prompt_en": "a person playing guitar"}
|
||||
{"index": 264, "data": "Fixed shot of a bicycle leaning against a tree. The bicycle, with a metallic silver frame and black wheels, rests against a tall, leafy green tree with a brown, textured trunk. The ground beneath is a patch of lush green grass, and the background reveals a serene, sunlit park with scattered colorful flowers and a clear blue sky dotted with soft white clouds. The bicycle remains still, its kickstand touching the grass, while gentle shadows from the tree’s branches dapple its frame, and a few fallen leaves lie nearby.", "original_prompt_en": "a bicycle leaning against a tree"}
|
||||
{"index": 265, "data": "Panoramic shot of a black bicycle gliding smoothly across a vast snowy field. The bicycle, with its metallic frame, moves over a blanket of pristine white snow that stretches endlessly, leaving subtle tracks behind. The background reveals snow - capped trees standing silently under an overcast sky, their bare branches laden with snow. The camera follows the bicycle, capturing its steady glide as it traverses the tranquil, snow - covered landscape, with the frosty air adding to the serene atmosphere.", "original_prompt_en": "a bicycle gliding through a snowy field"}
|
||||
{"index": 266, "data": "A medium shot captures a silver bicycle with a metallic frame and black tires on a city street. The sky is overcast, casting a dim light over the scene. The bicycle is slowing down to stop: its wheels rotate at a decreasing speed, the front brake engages slightly, and the bicycle’s body tilts a bit as it decelerates. The background features a sidewalk with scattered fallen leaves, a row of brown brick buildings with white window frames, and a few pedestrians in the distance. The camera remains fixed, focusing on the bicycle’s gradual deceleration—first, the wheels’ motion becomes sluggish, then the bicycle comes to a complete halt, its wheels motionless and the bicycle upright on the asphalt road.", "original_prompt_en": "a bicycle slowing down to stop"}
|
||||
{"index": 267, "data": "A medium shot captures a sleek black bicycle with silver spokes on a sunlit asphalt road. The bicycle is accelerating to gain speed, its wheels spinning rapidly, the rubber tires gripping the smooth asphalt as it surges forward. The background reveals a clear blue sky with fluffy white clouds, and on either side of the road, green grass and small wildflowers dot the landscape. The bicycle’s frame leans slightly forward, showcasing the dynamic motion of acceleration, with the chain moving swiftly and the wheels creating a faint blur due to the rapid movement.", "original_prompt_en": "a bicycle accelerating to gain speed"}
|
||||
{"index": 268, "data": "A medium shot captures a gray sedan stuck in the congested traffic during rush hour. The street is packed with various vehicles—buses, cars, and motorcycles—either moving sluggishly or at a complete standstill. In the background, tall office buildings with glass facades line the street, and a red traffic light hangs above the intersection, signaling a halt. Pedestrians in business attire hurry along the sidewalks, some checking their watches. The sky is overcast, amplifying the sense of urgency in the bustling urban scene. The car remains stationary as adjacent vehicles slowly edge forward, highlighting the heavy traffic typical of rush hour.", "original_prompt_en": "a car stuck in traffic during rush hour"}
|
||||
{"index": 269, "data": "Medium shot of a silver sedan on a city street. The car, with a glossy exterior and black tires, is slowly turning a corner—its front wheels angled toward the left of the frame, producing a faint screech against the asphalt. The background includes brick buildings with storefronts, a few pedestrians on the sidewalk, and a street lamp under a green traffic light. The camera follows the car’s movement, panning to capture it as it completes the turn and enters a side alley, where a red bicycle rests by the curb and a small tree with green leaves sways gently in the breeze.", "original_prompt_en": "a car turning a corner"}
|
||||
{"index": 270, "data": "A medium shot captures a black sedan on an urban street, its brake lights illuminating as it gradually slows down. The sedan, with a sleek body and tinted windows, is surrounded by a cityscape: on the left, a sidewalk with pedestrians in casual wear, some glancing at the car; in the background, skyscrapers with reflective facades under a partly cloudy sky. The car’s speed decreases steadily—wheels rotating slower, engine noise fading—until it stops at a crosswalk, the vehicle slightly rocking from deceleration. A cyclist in a yellow helmet passes by, and a white SUV behind also slows to a halt.", "original_prompt_en": "a car slowing down to stop"}
|
||||
{"index": 271, "data": "A medium shot captures a black sedan on a paved road. The car, with shiny chrome accents and black tires, is accelerating to gain speed—its body leans slightly forward as the engine revs, and the wheels spin with growing momentum, pushing it forward at an increasing pace. The background features a suburban street with neatly trimmed lawns on either side, a few residential houses with sloped roofs, and a clear blue sky overhead. The camera stays steady, highlighting the sedan’s dynamic motion as it surges ahead, leaving a faint blur of its rear lights as it picks up speed, while a bicycle and a parked car are visible in the foreground, emphasizing the contrast between the sedan’s rapid movement and the stillness of its surroundings.", "original_prompt_en": "a car accelerating to gain speed"}
|
||||
{"index": 272, "data": "The sky is clear and blue. A long shot captures a black motorcycle with a glossy finish cruising smoothly along a coastal highway. The highway is flanked by a sun - drenched sandy beach on the left, where gentle ocean waves lap against the shore, creating delicate white foam. On the right, lush green coastal plants and scattered palm trees line the road, their leaves swaying in the light sea breeze. The motorcycle maintains a steady pace, its tires humming on the asphalt as it follows the curving coastline. In the background, the vast, shimmering blue ocean stretches to the horizon, with a few faint white sails visible in the distance. The camera remains fixed, capturing the motorcycle’s effortless journey along the scenic road, with the sun casting bright reflections off the motorcycle’s shiny bodywork.", "original_prompt_en": "a motorcycle cruising along a coastal highway"}
|
||||
{"index": 273, "data": "A medium shot captures a sleek black motorcycle with silver accents, ridden by a person in a black helmet and blue riding jacket, as it navigates a sharp corner. The road is paved with smooth asphalt, bordered on the left by gray brick buildings with large glass windows and on the right by a small park with green trees and a wooden bench. The sky is clear with scattered white clouds. The motorcycle leans into the curve, its front wheel angled into the bend, while the rider adjusts their posture, leaning slightly to maintain balance. The fixed camera captures the fluid motion of the motorcycle as it transitions from a straight path to the curved road, with the background blending urban architecture and greenery.", "original_prompt_en": "a motorcycle turning a corner"}
|
||||
{"index": 274, "data": "Long shot of a black motorcycle with a glossy body and silver handlebars on an asphalt road. The motorcycle, its engine’s hum softening as it decelerates, slows down gradually—its wheels rotating more sluggishly, the speedometer’s needle dropping—until it comes to a complete stop. The background features a suburban street lined with green trees and brick houses, the sky overcast. The camera remains fixed, capturing the motorcycle’s smooth transition from motion to stillness, its kickstand yet to be deployed as it halts.", "original_prompt_en": "a motorcycle slowing down to stop"}
|
||||
{"index": 275, "data": "Panoramic shot of a black motorcycle gliding smoothly across a vast, snow - covered field. The motorcycle, with its sleek metal frame and black tires lightly speckled with snow, moves steadily over the pristine white snow, leaving a faint, narrow trail in its wake. The background features a serene winter landscape with leafless trees, their branches heavy with snow, stretching into the distance under an overcast, pale gray sky. The camera follows the motorcycle from a side perspective, capturing its graceful glide as it cuts through the silent, snowy expanse, with delicate snowflakes drifting gently around.", "original_prompt_en": "a motorcycle gliding through a snowy field"}
|
||||
{"index": 276, "data": "A long shot captures a motorcycle with a glossy, dark - colored body on a paved road. The motorcycle accelerates, its speed increasing as the wheels spin faster, creating a blur that signifies the growing velocity. The background is a clear sky with a few clouds, and the road is empty, stretching ahead. The camera follows the motorcycle, panning slightly to keep it in frame, capturing the motorcycle gaining speed as it moves forward with increasing momentum.", "original_prompt_en": "a motorcycle accelerating to gain speed"}
|
||||
{"index": 277, "data": "Long shot of a silver passenger airplane with sleek wings and multiple windows soaring through a clear, vibrant blue sky. The airplane’s fuselage glistens under the bright sunlight, its wings slightly angled as it cuts through the air with steady, smooth motion. The sky is entirely clear, devoid of clouds, showcasing a vast expanse of deep blue that contrasts with the airplane’s metallic sheen. The camera remains fixed, capturing the airplane’s graceful flight as it moves steadily across the frame, emphasizing the freedom and serenity of its journey through the open sky.", "original_prompt_en": "an airplane soaring through a clear blue sky"}
|
||||
{"index": 278, "data": "A long shot captures a white commercial airplane with blue fuselage stripes positioned on a gray asphalt runway. The sky above is clear, dotted with a few fluffy white clouds, and the background reveals a sprawling airport landscape with distant control towers and other stationary aircraft. The airplane begins to accelerate, its engines emitting a powerful roar as it moves swiftly along the runway. Gradually, it lifts its nose, the wheels gently leaving the ground, and ascends into the sky. The camera follows the aircraft’s upward trajectory, capturing the moment it soars into the clear sky, with the runway and airport structures shrinking below.", "original_prompt_en": "an airplane taking off"}
|
||||
{"index": 279, "data": "Long shot captures a silver commercial airplane with a sleek fuselage and white winglets landing smoothly on an asphalt runway marked with white and yellow lines. The airplane’s black - tired landing gear touches the runway first, followed by a gentle touchdown of the fuselage as it decelerates, with its wings slightly tilted to maintain balance. The background reveals a clear blue sky with scattered white clouds, and in the distance, airport control towers, green navigation beacons, and a few parked aircraft on adjacent taxiways are visible. The camera remains fixed, documenting the airplane’s smooth descent, the faint smoke from the tires upon initial contact, and its gradual slowdown as it rolls along the runway.", "original_prompt_en": "an airplane landing smoothly on a runway"}
|
||||
{"index": 280, "data": "A long shot captures a silver commercial airplane with a streamlined fuselage and white wingtips positioned on a gray asphalt runway. The airplane is accelerating to gain speed, its powerful engines roaring as blue - white exhaust billows from the nozzles, while the black landing gear tires grip the runway, producing faint smoke from friction. The background reveals a clear blue sky dotted with fluffy white clouds, and the runway is lined with white and yellow directional markings. The camera follows the airplane from a side angle, capturing its sleek metal body glinting in the sunlight as it gradually lifts its nose, preparing for takeoff. The airplane’s wings, adorned with red navigation lights, slice through the air as it builds up speed, with distant airport buildings and control towers visible in the blurred background.", "original_prompt_en": "an airplane accelerating to gain speed"}
|
||||
{"index": 281, "data": "A medium shot captures a blue city bus with white stripes on its side (featuring multiple windows and a front route display) as it slowly turns a corner at an urban intersection. The background reveals a bustling street lined with gray brick buildings, green-leafed trees, and pedestrians—including a woman in a red coat walking a brown dog, and a cyclist in a yellow helmet. The road (gray asphalt, marked with white lines) has parked cars along the curb and a silver sedan waiting at a red traffic light. The sky is partly cloudy, casting soft shadows. As the bus completes the turn, the camera follows its movement, panning slightly to keep the bus centered, capturing the smooth rotation of its wheels and the gentle sway of its body.", "original_prompt_en": "a bus turning a corner"}
|
||||
{"index": 282, "data": "A long shot captures a yellow city bus stuck in heavy rush - hour traffic. The sky is overcast, and the street is jam - packed with various vehicles—multicolored cars, motorcycles, and bicycles—all inching forward at a snail's pace. Pedestrians stroll or hurry along the sidewalks, some glued to their phones, others with urgent strides. In the background, tall buildings with glass facades mirror the gloomy sky. Red traffic lights hang above the intersection, and street lamps with road signs line the street. The bus, with its large windows, reveals some passengers inside, their faces etched with impatience as they look out. The camera stays fixed, documenting the bustling yet stagnant chaos of the rush - hour traffic jam.", "original_prompt_en": "a bus stuck in traffic during rush hour"}
|
||||
{"index": 283, "data": "Long shot of a blue city bus with multiple glass windows and a company logo on its side, positioned on an asphalt road under a clear sky with scattered white clouds. The bus, initially stationary, begins to accelerate—its engine emits a low rumble as the wheels grip the road, the body leaning slightly forward as it gains speed. The background shows a street lined with buildings, trees, and parked cars; as the bus speeds up, the surrounding scenery blurs, emphasizing its increasing velocity. The camera remains fixed, capturing the bus’s smooth motion as it swiftly travels down the road, leaving stationary foreground objects behind.", "original_prompt_en": "a bus accelerating to gain speed"}
|
||||
{"index": 284, "data": "Long shot of a silver passenger train with multiple carriages speeding down the railway tracks. The train’s side faces the camera, showcasing its sleek metal exterior and evenly spaced windows. The railway track is lined with gray gravel, and the ground beside it is a mix of barren soil and sparse vegetation. The background reveals a clear blue sky dotted with fluffy white clouds. The camera remains fixed, capturing the train as it hurtles from the left to the right of the frame, its wheels clattering rapidly against the rails, emphasizing the swift pace of its journey.", "original_prompt_en": "a train speeding down the tracks"}
|
||||
{"index": 285, "data": "Long shot captures a silver passenger train with multiple carriages crossing over a tall reinforced - concrete bridge. The train, with a sleek metallic exterior and evenly spaced windows, moves steadily across the bridge which is equipped with sturdy metal railings. Below the bridge, a wide river flows, its surface shimmering under the clear blue sky. The background presents a picturesque landscape of rolling green hills. The camera remains fixed, focusing on the train as it travels from the right to the left of the frame, highlighting the bridge's height and grandeur against the scenic backdrop.", "original_prompt_en": "a train crossing over a tall bridge"}
|
||||
{"index": 286, "data": "Long shot of a gray passenger train with multiple carriages on the railway track. The train’s side, with windows lining both sides and a row of white letters, faces the camera. The track is surrounded by barren soil with sparse small plants, and the sky is clear blue with large white clouds. The train accelerates, gaining speed as it moves forward along the track; the fixed camera captures the train’s gradual increase in velocity, its carriages vibrating slightly as it picks up speed.", "original_prompt_en": "a train accelerating to gain speed"}
|
||||
{"index": 287, "data": "A medium shot captures a blue delivery truck with a white emblem on its side, turning a corner on a bustling urban street. The truck, with a rectangular cargo bed and black side mirrors, has a slightly scratched front fender, suggesting years of delivery work. The street is paved with smooth black asphalt, marked with white lane lines. On the corner, a brick building with a large glass window houses a bakery, where a baker in a white hat is placing golden - brown loaves on a wooden shelf. A few pedestrians animate the scene: a woman in a pink dress pushing a stroller (the baby inside, wrapped in a blue blanket, reaches for a toy), a man in a gray hoodie sipping a steaming cup of coffee, and a teenager in a black t - shirt skateboarding past, headphones on. Behind the truck, a sleek black sedan waits patiently, and a cyclist in a purple jacket rides by, ringing a silver bell. The traffic light above the intersection glows green for the truck’s direction, its metal pole adorned with a faded “No Parking” sign. As the truck turns right, its front wheels pivot sharply, the rear wheels tracing a wide arc, and the driver—partially visible through the windshield, wearing a blue cap and a focused expression—signals with the right turn indicator, the orange light blinking steadily. The background reveals a row of colorful storefronts: a café with a green awning, a bookstore with a “New Arrivals” sign, and a flower shop where a florist in a floral apron arranges roses. A stray dog with a white patch on its head trots along the sidewalk, sniffing at a discarded coffee cup, while a street vendor’s cart, loaded with fresh oranges and apples, sits nearby, the vendor calling out prices in a cheerful tone. The camera remains steady, capturing the truck’s smooth maneuver against the vibrant city backdrop, with sunlight filtering through the buildings, casting long shadows on the road.", "original_prompt_en": "a truck turning a corner"}
|
||||
{"index": 288, "data": "Long shot of a deep blue truck with a boxy cargo body anchored in a tranquil bay. The truck’s dark metal exterior glistens subtly under soft sunlight, its large black tires resting on smooth, wet sand near the water’s edge. The bay’s calm turquoise water stretches out, reflecting the pale blue sky dotted with fluffy white clouds. In the background, small sailboats drift lazily, and slender palm trees sway gently along the sandy shore, enhancing the serene atmosphere. Fixed shot, capturing the truck’s stillness against the peaceful coastal landscape.", "original_prompt_en": "a truck anchored in a tranquil bay"}
|
||||
{"index": 289, "data": "During rush hour, the sky is overcast with a hint of evening’s approach. A long shot captures a large gray freight truck—with a rugged metal exterior and black tires—stuck in heavy traffic. The truck is surrounded by a chaotic mix of vehicles: white sedans, a yellow taxi honking impatiently, and bicycles navigating narrow gaps between cars. All vehicles move at a crawl, their brake lights forming a red river of light. The road is flanked by tall concrete buildings with glass facades, and a traffic light above the intersection glows red, enforcing the standstill. The camera remains fixed, emphasizing the truck’s immobility as pedestrians in business attire or casual wear hurry along the sidewalks, some checking their phones. In the background, the city skyline is dotted with illuminated windows, and the sky transitions from gray to deep blue, signaling the end of the workday.", "original_prompt_en": "a truck stuck in traffic during rush hour"}
|
||||
{"index": 290, "data": "A fixed long shot captures a blue freight truck on a gray asphalt road. The truck, with a large metal cargo bed and black tires, is slowing down—its red brake lights glowing as it gradually reduces speed. The background reveals a clear blue sky, a few passing passenger cars, and distant urban buildings. The truck eases to a stop, its engine’s rumble softening until it rests motionless on the road, the surrounding traffic continuing to flow.", "original_prompt_en": "a truck slowing down to stop"}
|
||||
{"index": 291, "data": "A medium shot captures a gray cargo truck with a large metal container on its back, positioned on an asphalt road flanked by green trees. The sky above is clear and blue. The truck accelerates, its wheels spinning more rapidly as it gains speed, moving forward with increasing velocity. The camera follows the truck’s movement, capturing the vehicle as it speeds down the road, with dust lightly kicking up from the tires.", "original_prompt_en": "a truck accelerating to gain speed"}
|
||||
{"index": 292, "data": "Wide shot captures a small wooden boat with a weathered brown hull sailing smoothly on a calm lake. The lake’s surface is perfectly still, reflecting the clear blue sky dotted with a few fluffy white clouds. Along the shoreline, lush green willow trees with drooping branches sway gently in the breeze, their leaves brushing the water. In the background, misty gray - blue mountains rise faintly against the sky. The boat glides forward steadily, creating a delicate, rippling wake, and the camera remains fixed, framing the serene scene as the boat moves toward the center of the lake.", "original_prompt_en": "a boat sailing smoothly on a calm lake"}
|
||||
{"index": 293, "data": "Long shot captures a brown wooden boat with a white stripe along its side moving on a calm, clear lake. The water around it is smooth, reflecting the blue sky with scattered white clouds. In the background, lush green trees line the shore, and a faint outline of distant mountains is visible. The boat gradually reduces its speed, the ripples behind it diminishing, until it comes to a complete stop, floating gently on the water's surface.", "original_prompt_en": "a boat slowing down to stop"}
|
||||
{"index": 294, "data": "A long shot captures a blue wooden boat on a calm lake. The boat, with a sleek hull and a folded white sail, accelerates to gain speed, creating ripples and small splashes behind it. The background features a clear blue sky with a few white clouds, and the water glistens under the sunlight. The camera follows the boat as it moves smoothly across the frame, its bow slightly lifting as it picks up pace, showcasing the boat’s steady acceleration.", "original_prompt_en": "a boat accelerating to gain speed"}
|
||||
{"index": 295, "data": "A long shot captures a sleek bird with glossy, brown - hued feathers soaring gracefully in the sky. The bird spreads its wings wide in a fluid, rhythmic motion, showcasing the intricate patterns of its plumage as it glides effortlessly on gentle air currents. The sky is a vivid blue, dotted with a few wispy white clouds. The camera follows the bird’s elegant trajectory, capturing its smooth, effortless flight against the vast, open sky.", "original_prompt_en": "a bird soaring gracefully in the sky"}
|
||||
{"index": 296, "data": "A medium shot captures a small brown bird with fluffy plumage busily building a nest from slender twigs and fresh green leaves. The background reveals a dense, leafy tree branch, with patches of golden sunlight filtering through the foliage and a few other nests hidden among the greenery. The bird flutters its wings gently, using its sharp yellow beak to pick up a twig, carefully positioning it in the growing nest, then adding a soft green leaf to line the interior, repeating the process with focused precision.", "original_prompt_en": "a bird building a nest from twigs and leaves"}
|
||||
{"index": 297, "data": "Long shot of a small bird with brown and white feathers flying gracefully over a snowy forest. The forest is dense with tall trees, their branches heavy with fresh snow, creating a pristine white landscape. The sky above is clear and blue, contrasting with the white snow below. The bird flaps its wings steadily as it glides above the snow - covered treetops, and the camera remains fixed, capturing the serene scene of the bird in flight against the wintry forest backdrop.", "original_prompt_en": "a bird flying over a snowy forest"}
|
||||
{"index": 298, "data": "A close - up shot captures a gray short - haired cat with sleek fur grooming itself meticulously. The cat is seated on a light brown wooden floor, with a few scattered cat toys in the background. It lowers its head, using its rough, pink tongue to repeatedly lick the fur on its side, carefully smoothing out tangles. The background features a cozy living room with a plush sofa and a potted plant. The camera remains fixed, focusing on the cat’s delicate grooming movements as it occasionally pauses, adjusts its posture with a gentle paw flick, and then resumes licking, demonstrating its thorough self - care routine.", "original_prompt_en": "a cat grooming itself meticulously with its tongue"}
|
||||
{"index": 299, "data": "A medium shot captures a tabby cat with white paws playing in the park. The cat is energetically chasing a small red ball, its tail upright and body crouched low to the lush green grass, showcasing its sleek fur glistening in the sunlight. The background features tall green trees with leaves swaying in the gentle breeze, a clear blue sky with a few fluffy white clouds, and a wooden bench with a person sitting in the distance. The camera follows the cat as it pounces on the ball, then darts toward the left of the frame, occasionally pausing to bat at the ball with its paw. The cat’s ears are perked, and its eyes remain fixed on the ball, exhibiting a playful and lively demeanor.", "original_prompt_en": "a cat playing in park"}
|
||||
{"index": 300, "data": "Close - up shot of a white domestic cat with soft, fluffy fur. The cat is crouched slightly, its head lowered as its pink tongue repeatedly dips into a small, transparent glass of water, creating tiny ripples on the water's surface. Its eyes are focused on the water, and its ears are perked up, with a few water droplets glistening on its fur around the mouth. The background reveals a cozy living room corner, with a light - colored carpet beneath the glass and a potted plant with green leaves blurred in the distance. The cat continues to drink, occasionally lifting its head for a brief moment, showing the wet fur on its muzzle, before lowering its head again to lap at the water, and the camera remains fixed to capture this gentle drinking motion.", "original_prompt_en": "a cat drinking water"}
|
||||
{"index": 301, "data": "A medium shot captures a fluffy orange cat with soft, striped fur running happily across a sunlit green lawn. The cat’s tail is raised high, and its ears are perked up, showing a joyful expression with bright, alert eyes. The background features vibrant green grass dotted with colorful wildflowers, and the sky is clear and blue with a few fluffy white clouds. The camera follows the cat as it bounds forward, its paws landing lightly on the grass, occasionally pausing to sniff a flower before continuing to run with enthusiasm.", "original_prompt_en": "a cat running happily"}
|
||||
{"index": 302, "data": "Panoramic shot of a brown dog with a fluffy coat enjoying a peaceful walk. The dog ambles slowly along a winding path in a serene park, its tail wagging softly and its eyes calmly taking in the surroundings. The path is lined with tall, green trees whose leaves rustle in the gentle breeze, and the ground is covered with soft grass and a few scattered stones. The sky above is overcast, adding a tranquil atmosphere to the scene. The camera moves to the left, following the dog as it walks forward, capturing the peaceful moment of the dog’s leisurely stroll.", "original_prompt_en": "a dog enjoying a peaceful walk"}
|
||||
{"index": 303, "data": "A medium shot captures a golden retriever with a shiny, light - brown coat playing in a vibrant park. The park has lush green grass, colorful flowers, and tall trees with green leaves. The sky is clear and blue with a few white clouds. The dog is chasing a red frisbee, running in circles, leaping to catch it mid - air, its tail wagging wildly. The camera follows the dog as it drops the frisbee, sniffs a flower, then dashes off to fetch it again, with other people walking their dogs in the background.", "original_prompt_en": "a dog playing in park"}
|
||||
{"index": 304, "data": "Medium shot captures a brown dog with short, glossy fur standing on a lush green lawn. It lowers its head, its pink tongue lapping at the clear water in a blue plastic bowl placed on the ground. The background features a few scattered trees with vibrant green leaves and a white picket fence, under a sunny sky with soft, white clouds. The dog continues to drink, occasionally lifting its head slightly to lick its nose before resuming, with its tail relaxed and gently wagging.", "original_prompt_en": "a dog drinking water"}
|
||||
{"index": 305, "data": "A medium shot captures a brown dog with short glossy fur running happily across a lush green grassland. The dog’s tail wags energetically, its mouth open in a joyful pant, and its paws lift high with each lively stride. The background reveals a clear blue sky dotted with fluffy white clouds, while the grass beneath is interspersed with tiny wildflowers swaying gently in the breeze. In the distance, a few scattered trees stand against the horizon. The camera follows the dog’s movement, panning left as it sprints from the right to the left of the frame, showcasing its carefree and energetic run.", "original_prompt_en": "a dog running happily"}
|
||||
{"index": 306, "data": "A medium shot captures a brown horse with a sleek black mane bending down at the river’s edge. Its muscular neck curves elegantly as it lowers its head, lips gently parting to sip the clear, gently flowing river water, which creates small, circular ripples around its mouth. The riverbank is covered in lush, emerald - green grass interspersed with vibrant wildflowers, and the background reveals a sprawling meadow with tall grasses swaying in the breeze, under a partly cloudy sky. The horse remains in this bent posture, calmly drinking, with its tail hanging relaxed and occasionally twitching, while the camera stays fixed to capture the tranquil scene of the animal hydrating.", "original_prompt_en": "a horse bending down to drink water from a river"}
|
||||
{"index": 307, "data": "Panoramic shot of a brown horse galloping across a vast open field. The horse, with a sleek and muscular build, has its mane and tail flowing in the wind, and its four hooves are off the ground in mid - gallop, exhibiting a dynamic running posture. The field is blanketed with lush green grass, and in the background, rolling light - brown hills stretch under a clear blue sky dotted with a few white clouds. The camera follows the horse's movement to the right, capturing the horse's swift and powerful gallop across the field, with the grass swaying beneath its hooves as it surges forward.", "original_prompt_en": "a horse galloping across an open field"}
|
||||
{"index": 308, "data": "Wide shot of a brown horse with a glossy coat and a flowing black mane. The horse, in a relaxed posture with its head slightly lowered, takes a peaceful walk across a lush green meadow. The meadow is carpeted with soft grass, dotted with small wildflowers in purple and yellow. The background shows a clear blue sky with a few white clouds, and distant green hills with tall trees. The horse moves slowly, hooves lightly touching the ground, tail swishing gently. The camera remains steady, capturing the serene scene as the horse strolls calmly, with the breeze swaying the grass and its mane.", "original_prompt_en": "a horse taking a peaceful walk"}
|
||||
{"index": 309, "data": "Long shot captures a brown horse with a flowing black mane and tail, its muscular frame rippling as it sprints across a lush green grassland. The horse’s hooves kick up tufts of grass and soil, ears pricked forward in focus as it heads toward a herd of horses in the distance. The herd—composed of horses with coats in varying shades of brown, white, and black—gathers near a cluster of low shrubs, some grazing, others standing alert. The background unfolds as a vast, sunlit grassland stretching to the horizon, dotted with scattered trees and a clear blue sky. The horse runs from the left of the frame toward the herd on the right, its pace steady and determined, while the camera follows its movement, highlighting the contrast between the solitary runner and the assembled group. As the horse approaches, the herd shifts slightly, welcoming its arrival.", "original_prompt_en": "a horse running to join a herd of its kind"}
|
||||
{"index": 310, "data": "The sky is partly cloudy. A medium shot captures a white sheep with thick, curly wool bending its neck down to drink clear water from a gently flowing river. The riverbank is covered with lush green grass, dotted with a few wildflowers in soft pastel hues. The background features rolling green hills stretching into the distance. As the sheep drinks, its ears twitch occasionally, and its fluffy white tail rests calmly against its body. The water in the river ripples gently around its muzzle.", "original_prompt_en": "a sheep bending down to drink water from a river"}
|
||||
{"index": 311, "data": "A panoramic shot captures a white sheep with thick, fluffy wool taking a peaceful walk across a lush green meadow. The sheep moves at a relaxed pace, its head occasionally drooping to nuzzle the grass, as if savoring the fresh scent of the meadow. The ground beneath is a carpet of vibrant green grass, sprinkled with delicate wildflowers in shades of yellow and purple. The sky overhead is a clear, bright blue, with a few wispy white clouds floating idly. The background stretches into a vast, open landscape of rolling green hills, and a gentle breeze causes the grass to sway softly. The camera remains steady, focusing on the sheep’s tranquil journey as it ambles slowly to the right of the frame.", "original_prompt_en": "a sheep taking a peaceful walk"}
|
||||
{"index": 312, "data": "Long shot captures a white sheep with thick, fluffy wool running swiftly across a lush green meadow, heading toward a herd of its kind. The sheep, marked with a few light brown patches on its back, moves rapidly with its legs pumping, approaching a dozen other sheep—some grazing on the grass, others standing idly, their white and brown fleeces contrasting with the verdant landscape. The background reveals a vast expanse of the meadow stretching toward the horizon, under a clear blue sky dotted with fluffy white clouds. The camera follows the running sheep, capturing its swift movement as it nears the herd, where the other sheep lift their heads to notice its arrival.", "original_prompt_en": "a sheep running to join a herd of its kind"}
|
||||
{"index": 313, "data": "A medium shot captures a brown cow with short black horns and thick fur bending down by the river. Its neck arches gently as it lowers its head, allowing its mouth to meet the clear, rippling river water to drink. The riverbank is covered with lush green grass, and in the background, tall trees with vibrant green leaves sway softly in the breeze. The sky above is a bright blue, dotted with a few fluffy white clouds. The cow maintains its bent posture, steadily sipping the cool water, while small ripples spread from the point where its mouth touches the water’s surface.", "original_prompt_en": "a cow bending down to drink water from a river"}
|
||||
{"index": 314, "data": "A medium shot captures a brown cow with short, smooth fur resting in a tranquil barn. The cow, with drooping ears and half - closed eyes, chews cud rhythmically, the cud in its mouth exhibiting a soft, moist texture. It stands on a bed of hay, its tail hanging lazily. The barn’s interior is peaceful: neatly stacked hay bales occupy the corner, wooden beams criss - cross the ceiling, and farming tools like a pitchfork and a scythe hang on the walls. Soft light filters through a small window, casting gentle light spots on the hay - covered ground. A wooden trough filled with feed sits beside the cow, and a faint hay - like scent seems to fill the air. fixed shot. The cow continues to chew cud, occasionally pausing as if savoring the taste, fully immersed in its restful moment in this serene barn.", "original_prompt_en": "a cow chewing cud while resting in a tranquil barn"}
|
||||
{"index": 315, "data": "A panoramic shot captures a brown cow with a glossy coat running swiftly across a lush green grassland. The cow, tail slightly raised, kicks up patches of grass as it sprints toward a herd of its kind in the distance. The herd, composed of several similarly colored cows, is either grazing or standing, their forms scattered across the expansive grassy plain. The background features a wide, sunlit grassland with tall grasses swaying gently in the breeze, and a clear blue sky dotted with a few white clouds. The cow continues to run leftward toward the herd, and the camera follows its movement, panning left to capture the cow’s approach. As it nears, some cows in the herd lift their heads, seemingly noticing the incoming cow.", "original_prompt_en": "a cow running to join a herd of its kind"}
|
||||
{"index": 316, "data": "A medium shot captures a gray elephant with rough, wrinkled skin standing on a grassy plain under the bright sun. Its long trunk dips into a nearby water puddle, then lifts to spray a stream of water onto its back and head, creating glistening droplets that roll down its skin. The background shows a few scattered trees and a clear blue sky, emphasizing the hot, sunny day as the elephant repeatedly uses its trunk to splash water, visibly cooling itself down. The camera remains fixed, focusing on the elephant’s deliberate movements to regulate its body temperature.", "original_prompt_en": "an elephant spraying itself with water using its trunk to cool down"}
|
||||
{"index": 317, "data": "Panoramic shot of a gray elephant with thick wrinkled skin taking a peaceful walk on a vast grassland. Its large ears flap gently, and the long trunk sways with each step. The ground is a mix of green grass and patches of soil, with wildflowers scattered. The background shows a clear blue sky with fluffy white clouds. The camera follows the elephant as it moves slowly to the right of the frame, capturing its tranquil gait.", "original_prompt_en": "an elephant taking a peaceful walk"}
|
||||
{"index": 318, "data": "A panoramic shot captures a gray elephant with large flapping ears and wrinkled thick skin running swiftly across a vast golden grassland. Its long trunk sways with each stride, and powerful legs move in a coordinated urgent rhythm as it heads toward a herd of fellow elephants in the distance. The herd, consisting of several elephants of varying sizes, gathers near a cluster of scattered acacia trees, their gray forms contrasting against the yellowish - brown grass that sways gently in the breeze. The sky above is clear with a few fluffy white clouds, and the camera follows the running elephant, panning to keep it in frame as it approaches the herd, which appears to be calmly grazing or interacting before the elephant joins them.", "original_prompt_en": "an elephant running to join a herd of its kind"}
|
||||
{"index": 319, "data": "Medium shot captures a brown bear with thick, shaggy fur standing on a moss - covered rock in a swiftly flowing river. The bear, using its powerful front paws to grip the slippery stone, catches a silver - gray salmon with pinkish tones in its massive, muscular jaws. The salmon thrashes wildly, sending splashes of water flying around. The background is a dense forest with tall evergreen trees, and the sky is partly cloudy. The bear holds the salmon tightly, its jaws clamping down as the fish’s tail keeps flicking, while the camera stays fixed, capturing the raw power of the predator during the hunt.", "original_prompt_en": "a bear catching a salmon in its powerful jaws"}
|
||||
{"index": 320, "data": "Medium shot captures a brown bear with thick, shaggy fur standing on a forest floor blanketed with fallen leaves. The bear, with a robust and muscular build, raises its head slightly, its nose twitching rapidly as it sniffs the air intently, searching for scents of food. The background reveals a dense forest with tall green trees and a canopy that filters the sunlight, casting dappled shadows on the ground. The sky above is partly cloudy, with patches of blue peeking through. The bear remains still, focused on detecting any traces of food in the surrounding air, its ears perked up in alertness.", "original_prompt_en": "a bear sniffing the air for scents of food"}
|
||||
{"index": 321, "data": "A medium shot captures a brown bear with thick, fluffy fur climbing a tall, rugged tree with rough, textured bark. The background reveals a dense forest filled with lush green foliage, and the sky is partially overcast. The bear grips the tree trunk firmly with its sharp claws, moving steadily upward, while the camera follows its ascent to emphasize the animal’s strength and agility as it navigates the tree’s rugged surface.", "original_prompt_en": "a bear climbing a tree"}
|
||||
{"index": 322, "data": "Medium shot of a brown bear with thick, shaggy fur hunting for prey. The bear, with a robust build and dark brown coat, stands on a forest floor covered in fallen leaves and twigs. It lowers its head, intently sniffing the ground to detect prey scents (nose twitching), then slowly moves forward, lifting its head occasionally to scan the surroundings with keen eyes. The background features a dense forest with tall green trees, dappled sunlight filtering through the canopy. The camera captures its deliberate, focused movements as it follows a scent trail, showcasing the bear’s hunting behavior.", "original_prompt_en": "a bear hunting for prey"}
|
||||
{"index": 323, "data": "A medium shot captures a zebra with striking black - and - white vertical stripes bending down to drink water from a calm river. Its neck is gracefully arched as it lowers its head toward the water’s surface, where gentle ripples spread. The riverbank is lined with lush green grass and smooth stones, while the background reveals a vast, golden - brown grassland with sparse trees swaying in the breeze. The sky is overcast, casting a soft light over the scene. The camera remains fixed, focusing on the zebra’s deliberate, steady motion as it quenches its thirst.", "original_prompt_en": "a zebra bending down to drink water from a river"}
|
||||
{"index": 324, "data": "A medium shot captures a zebra with striking black - and - white stripes running swiftly across a sunlit grassland, its legs moving in rapid strides as it heads to join a herd of its kind scattered across the grassy plain. The background reveals a vast expanse of green grass swaying gently in the breeze, with a clear blue sky overhead. The herd, composed of several zebras with matching black - and - white patterns, moves slowly across the landscape. The camera follows the zebra’s movement, emphasizing its agile approach toward the group.", "original_prompt_en": "a zebra running to join a herd of its kind"}
|
||||
{"index": 325, "data": "Panoramic shot of a zebra on the grassland. The zebra, with its distinctive black - white vertical stripes covering the body and a short, upright black mane, is taking a peaceful walk. Its legs move slowly and gracefully, and its tail sways gently. The ground is a lush green grassland, dotted with patches of wildflowers. The background is a vast, open savannah with scattered acacia trees, and the sky is clear with a few fluffy white clouds. The zebra continues to walk slowly towards the left of the frame, and the camera follows its movement, capturing the serene environment around it.", "original_prompt_en": "a zebra taking a peaceful walk"}
|
||||
{"index": 326, "data": "A medium shot captures a giraffe with a long neck and distinctive brown - and - white patchwork patterns on its body bending down gracefully. The giraffe spreads its legs slightly to maintain balance, lowering its head to drink water from a calm and clear river. The surface of the river ripples gently as the giraffe's mouth touches the water, and its long tongue can be seen lapping up the liquid. The riverbank is lined with green grass and scattered stones, while the background features a vast savannah landscape with tall acacia trees and a clear sky dotted with a few white clouds. As the giraffe drinks, its slender legs remain steady, showcasing the elegant curve of its neck against the natural backdrop.", "original_prompt_en": "a giraffe bending down to drink water from a river"}
|
||||
{"index": 327, "data": "Panoramic shot of a giraffe on the grassland. The giraffe, with a light - brown body adorned with irregular dark - brown patches, takes a peaceful walk. Its long neck stretches elegantly, and its slender legs move steadily, each step being deliberate and calm. The ground is covered with lush green grass, and in the background, there is a vast grassland dotted with a few acacia trees. The sky is clear with a few wispy clouds floating. The camera follows the giraffe's movement, capturing its tranquil gait as it moves forward. The surrounding grass sways gently in the breeze, and the scene radiates a sense of serenity, emphasizing the giraffe's unhurried and graceful stroll across the open landscape.", "original_prompt_en": "a giraffe taking a peaceful walk"}
|
||||
{"index": 328, "data": "Panoramic shot of a giraffe with a long neck and distinctive brownish - yellow fur patterned with dark brown patches, running swiftly towards the right side of the frame. Its legs are bent in a running posture, and its tail sways slightly with the movement. In the background, a herd of giraffes with similar patterned fur is gathered on a wide, light - green grassland dotted with scattered acacia trees. The sky is clear and blue, with a few white clouds floating. The giraffe, with its head held high, runs to join the herd, and the camera follows its movement to the right, capturing the dynamic scene of it approaching its kind.", "original_prompt_en": "a giraffe running to join a herd of its kind"}
|
||||
{"index": 329, "data": "A medium shot shows only one main object: a person. The human figure is shown with a complete body, clearly visible head, torso, arms, and legs, and a natural upright pose. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a simple natural environment under soft daylight, with a clean softly blurred background. fixed shot. Exactly one a person remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a person"}
|
||||
{"index": 330, "data": "A wide shot shows only one main object: a bicycle. The bicycle shows two clearly visible wheels, handlebars, a seat, and a distinct frame. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a spacious outdoor area under clear daylight, with a simple open background. fixed shot. Exactly one a bicycle remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a bicycle"}
|
||||
{"index": 331, "data": "A wide shot shows only one main object: a car. The car shows a clear body shape, four wheels, windows, and headlights. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a spacious outdoor area under clear daylight, with a simple open background. fixed shot. Exactly one a car remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a car"}
|
||||
{"index": 332, "data": "A wide shot shows only one main object: a motorcycle. The motorcycle shows two clearly visible wheels, handlebars, a seat, and a compact body. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a spacious outdoor area under clear daylight, with a simple open background. fixed shot. Exactly one a motorcycle remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a motorcycle"}
|
||||
{"index": 333, "data": "A wide shot shows only one main object: an airplane. The airplane shows clearly visible wings, a fuselage, and a tail. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a spacious outdoor area under clear daylight, with a simple open background. fixed shot. Exactly one an airplane remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "an airplane"}
|
||||
{"index": 334, "data": "A wide shot shows only one main object: a bus. The bus shows a long rectangular body, large windows, and clearly visible wheels. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a spacious outdoor area under clear daylight, with a simple open background. fixed shot. Exactly one a bus remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a bus"}
|
||||
{"index": 335, "data": "A wide shot shows only one main object: a train. The train shows a long body with clearly visible windows and a distinct front section. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a spacious outdoor area under clear daylight, with a simple open background. fixed shot. Exactly one a train remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a train"}
|
||||
{"index": 336, "data": "A wide shot shows only one main object: a truck. The truck shows a large cab, a clear cargo body, and clearly visible wheels. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a spacious outdoor area under clear daylight, with a simple open background. fixed shot. Exactly one a truck remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a truck"}
|
||||
{"index": 337, "data": "A wide shot shows only one main object: a boat. The boat shows a clearly visible hull and a complete body shape. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a spacious outdoor area under clear daylight, with a simple open background. fixed shot. Exactly one a boat remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a boat"}
|
||||
{"index": 338, "data": "A medium shot shows only one main object: a traffic light. The traffic light shows a tall pole and a clear signal box with stacked circular lights. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a simple outdoor environment under clear daylight, with a clean open background. fixed shot. Exactly one a traffic light remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a traffic light"}
|
||||
{"index": 339, "data": "A medium shot shows only one main object: a fire hydrant. The fire hydrant shows a short upright body with clear side outlets and a top cap. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a simple outdoor environment under clear daylight, with a clean open background. fixed shot. Exactly one a fire hydrant remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a fire hydrant"}
|
||||
{"index": 340, "data": "A medium shot shows only one main object: a stop sign. The stop sign shows a clearly visible red octagonal sign mounted on a vertical pole. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a simple outdoor environment under clear daylight, with a clean open background. fixed shot. Exactly one a stop sign remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a stop sign"}
|
||||
{"index": 341, "data": "A medium shot shows only one main object: a parking meter. The parking meter shows a slim upright post and a clearly visible meter head. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a simple outdoor environment under clear daylight, with a clean open background. fixed shot. Exactly one a parking meter remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a parking meter"}
|
||||
{"index": 342, "data": "A medium shot shows only one main object: a bench. The bench shows a clearly visible seat, backrest, and supporting legs. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a simple outdoor environment under clear daylight, with a clean open background. fixed shot. Exactly one a bench remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a bench"}
|
||||
{"index": 343, "data": "A wide shot shows only one main object: a bird. The bird shows a complete body with a clearly visible head, beak, wings, tail, and legs. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in an open grassy field under natural daylight, with a clean and natural background. fixed shot. Exactly one a bird remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a bird"}
|
||||
{"index": 344, "data": "A wide shot shows only one main object: a cat. The cat shows a complete body with clearly visible ears, face, legs, and tail. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in an open grassy field under natural daylight, with a clean and natural background. fixed shot. Exactly one a cat remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a cat"}
|
||||
{"index": 345, "data": "A wide shot shows only one main object: a dog. The dog shows a complete body with clearly visible head, legs, and tail. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in an open grassy field under natural daylight, with a clean and natural background. fixed shot. Exactly one a dog remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a dog"}
|
||||
{"index": 346, "data": "A wide shot shows only one main object: a horse. The horse shows a complete body with clearly visible head, mane, legs, and tail. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in an open grassy field under natural daylight, with a clean and natural background. fixed shot. Exactly one a horse remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a horse"}
|
||||
{"index": 347, "data": "A wide shot shows only one main object: a sheep. The sheep shows a complete body with a clearly visible woolly torso, head, and legs. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in an open grassy field under natural daylight, with a clean and natural background. fixed shot. Exactly one a sheep remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a sheep"}
|
||||
{"index": 348, "data": "A wide shot shows only one main object: a cow. The cow shows a complete body with clearly visible head, torso, legs, and tail. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in an open grassy field under natural daylight, with a clean and natural background. fixed shot. Exactly one a cow remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a cow"}
|
||||
{"index": 349, "data": "A wide shot shows only one main object: an elephant. The elephant shows a complete body with a clearly visible trunk, large ears, and legs. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in an open grassy field under natural daylight, with a clean and natural background. fixed shot. Exactly one an elephant remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "an elephant"}
|
||||
{"index": 350, "data": "A wide shot shows only one main object: a bear. The bear shows a complete body with clearly visible head, torso, and legs. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in an open grassy field under natural daylight, with a clean and natural background. fixed shot. Exactly one a bear remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a bear"}
|
||||
{"index": 351, "data": "A wide shot shows only one main object: a zebra. The zebra shows a complete body with clearly visible black-and-white stripes, head, legs, and tail. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in an open grassy field under natural daylight, with a clean and natural background. fixed shot. Exactly one a zebra remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a zebra"}
|
||||
{"index": 352, "data": "A wide shot shows only one main object: a giraffe. The giraffe shows a complete body with a clearly visible very long neck, head, torso, and legs. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in an open grassy field under natural daylight, with a clean and natural background. fixed shot. Exactly one a giraffe remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a giraffe"}
|
||||
{"index": 353, "data": "A medium shot shows only one main object: a backpack. The backpack shows a clear bag shape with shoulder straps and a main compartment. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a clean simple environment with soft natural light and a softly blurred background. fixed shot. Exactly one a backpack remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a backpack"}
|
||||
{"index": 354, "data": "A medium shot shows only one main object: an umbrella. The umbrella shows a clearly visible canopy and handle. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a clean simple environment with soft natural light and a softly blurred background. fixed shot. Exactly one an umbrella remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "an umbrella"}
|
||||
{"index": 355, "data": "A medium shot shows only one main object: a handbag. The handbag shows a clearly visible main body and handle or strap. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a clean simple environment with soft natural light and a softly blurred background. fixed shot. Exactly one a handbag remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a handbag"}
|
||||
{"index": 356, "data": "A medium shot shows only one main object: a tie. The tie shows a clearly visible long narrow shape with a wider pointed end. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a clean simple environment with soft natural light and a softly blurred background. fixed shot. Exactly one a tie remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a tie"}
|
||||
{"index": 357, "data": "A medium shot shows only one main object: a suitcase. The suitcase shows a clearly visible boxy body and handle. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a clean simple environment with soft natural light and a softly blurred background. fixed shot. Exactly one a suitcase remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a suitcase"}
|
||||
{"index": 358, "data": "A medium-wide shot shows only one main object: a frisbee. The frisbee shows a clearly visible round flat disc shape. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in an open outdoor area under clear daylight, with a simple natural background. fixed shot. Exactly one a frisbee remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a frisbee"}
|
||||
{"index": 359, "data": "A medium-wide shot shows only one main object: skis. The skis appear as exactly one clear pair of long narrow skis, fully visible from tip to tail. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in an open outdoor area under clear daylight, with a simple natural background. fixed shot. Exactly one skis remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "skis"}
|
||||
{"index": 360, "data": "A medium-wide shot shows only one main object: a snowboard. The snowboard shows a clearly visible long single board shape. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in an open outdoor area under clear daylight, with a simple natural background. fixed shot. Exactly one a snowboard remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a snowboard"}
|
||||
{"index": 361, "data": "A medium-wide shot shows only one main object: a sports ball. The sports ball shows a clearly visible complete spherical shape. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in an open outdoor area under clear daylight, with a simple natural background. fixed shot. Exactly one a sports ball remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a sports ball"}
|
||||
{"index": 362, "data": "A medium-wide shot shows only one main object: a kite. The kite shows a clearly visible kite-shaped body and tail string. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in an open outdoor area under clear daylight, with a simple natural background. fixed shot. Exactly one a kite remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a kite"}
|
||||
{"index": 363, "data": "A medium-wide shot shows only one main object: a baseball bat. The baseball bat shows a clearly visible long tapered shape with a thicker hitting end. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in an open outdoor area under clear daylight, with a simple natural background. fixed shot. Exactly one a baseball bat remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a baseball bat"}
|
||||
{"index": 364, "data": "A medium-wide shot shows only one main object: a baseball glove. The baseball glove shows a clearly visible glove shape with a pocket and finger sections. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in an open outdoor area under clear daylight, with a simple natural background. fixed shot. Exactly one a baseball glove remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a baseball glove"}
|
||||
{"index": 365, "data": "A medium-wide shot shows only one main object: a skateboard. The skateboard shows a clearly visible deck and wheels. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in an open outdoor area under clear daylight, with a simple natural background. fixed shot. Exactly one a skateboard remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a skateboard"}
|
||||
{"index": 366, "data": "A medium-wide shot shows only one main object: a surfboard. The surfboard shows a clearly visible long smooth board shape. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in an open outdoor area under clear daylight, with a simple natural background. fixed shot. Exactly one a surfboard remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a surfboard"}
|
||||
{"index": 367, "data": "A medium-wide shot shows only one main object: a tennis racket. The tennis racket shows a clearly visible oval string area and handle. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in an open outdoor area under clear daylight, with a simple natural background. fixed shot. Exactly one a tennis racket remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a tennis racket"}
|
||||
{"index": 368, "data": "A close shot shows only one main object: a bottle. The bottle shows a clearly visible body, neck, and opening. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The object is placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly one a bottle remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a bottle"}
|
||||
{"index": 369, "data": "A close shot shows only one main object: a wine glass. The wine glass shows a clearly visible bowl, stem, and base. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The object is placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly one a wine glass remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a wine glass"}
|
||||
{"index": 370, "data": "A close shot shows only one main object: a cup. The cup shows a clearly visible cup body and handle. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The object is placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly one a cup remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a cup"}
|
||||
{"index": 371, "data": "A close shot shows only one main object: a fork. The fork shows a clearly visible handle and pronged head. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The object is placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly one a fork remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a fork"}
|
||||
{"index": 372, "data": "A close shot shows only one main object: a knife. The knife shows a clearly visible handle and blade. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The object is placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly one a knife remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a knife"}
|
||||
{"index": 373, "data": "A close shot shows only one main object: a spoon. The spoon shows a clearly visible handle and rounded bowl. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The object is placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly one a spoon remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a spoon"}
|
||||
{"index": 374, "data": "A close shot shows only one main object: a bowl. The bowl shows a clearly visible round open container shape. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The object is placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly one a bowl remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a bowl"}
|
||||
{"index": 375, "data": "A close shot shows only one main object: a banana. The banana shows a clearly visible curved elongated shape. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The object is placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly one a banana remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a banana"}
|
||||
{"index": 376, "data": "A close shot shows only one main object: an apple. The apple shows a clearly visible round shape with a stem. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The object is placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly one an apple remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "an apple"}
|
||||
{"index": 377, "data": "A close shot shows only one main object: a sandwich. The sandwich shows a clearly visible layered bread shape. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The object is placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly one a sandwich remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a sandwich"}
|
||||
{"index": 378, "data": "A close shot shows only one main object: an orange. The orange shows a clearly visible round citrus shape. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The object is placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly one an orange remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "an orange"}
|
||||
{"index": 379, "data": "A close shot shows only one main object: broccoli. The broccoli shows a clearly visible branching stalk and clustered florets. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The object is placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly one broccoli remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "broccoli"}
|
||||
{"index": 380, "data": "A close shot shows only one main object: a carrot. The carrot shows a clearly visible tapered root shape and green top area. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The object is placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly one a carrot remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a carrot"}
|
||||
{"index": 381, "data": "A close shot shows only one main object: a hot dog. The hot dog shows a clearly visible bun and sausage. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The object is placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly one a hot dog remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a hot dog"}
|
||||
{"index": 382, "data": "A close shot shows only one main object: a pizza. The pizza shows a clearly visible round flat shape with toppings. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The object is placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly one a pizza remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a pizza"}
|
||||
{"index": 383, "data": "A close shot shows only one main object: a donut. The donut shows a clearly visible ring shape with a center hole. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The object is placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly one a donut remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a donut"}
|
||||
{"index": 384, "data": "A close shot shows only one main object: a cake. The cake shows a clearly visible complete cake shape with smooth edges. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The object is placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly one a cake remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a cake"}
|
||||
{"index": 385, "data": "A medium shot shows only one main object: a chair. The chair shows a clearly visible seat, backrest, and legs. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly one a chair remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a chair"}
|
||||
{"index": 386, "data": "A medium shot shows only one main object: a couch. The couch shows clearly visible seat cushions, a backrest, and armrests. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly one a couch remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a couch"}
|
||||
{"index": 387, "data": "A medium shot shows only one main object: a potted plant. The potted plant shows a clearly visible pot and complete plant leaves. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly one a potted plant remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a potted plant"}
|
||||
{"index": 388, "data": "A medium shot shows only one main object: a bed. The bed shows a clearly visible mattress, bed frame, and overall rectangular form. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly one a bed remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a bed"}
|
||||
{"index": 389, "data": "A medium shot shows only one main object: a dining table. The dining table shows a clearly visible tabletop and supporting legs. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly one a dining table remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a dining table"}
|
||||
{"index": 390, "data": "A medium shot shows only one main object: a toilet. The toilet shows a clearly visible tank, seat, and base. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly one a toilet remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a toilet"}
|
||||
{"index": 391, "data": "A medium shot shows only one main object: a tv. The tv shows a clearly visible screen and rectangular body. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly one a tv remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a tv"}
|
||||
{"index": 392, "data": "A medium shot shows only one main object: a laptop. The laptop shows a clearly visible screen and keyboard area. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly one a laptop remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a laptop"}
|
||||
{"index": 393, "data": "A medium shot shows only one main object: a remote. The remote shows a clearly visible slim rectangular body and buttons. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly one a remote remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a remote"}
|
||||
{"index": 394, "data": "A medium shot shows only one main object: a keyboard. The keyboard shows a clearly visible rectangular body and key layout. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly one a keyboard remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a keyboard"}
|
||||
{"index": 395, "data": "A medium shot shows only one main object: a cell phone. The cell phone shows a clearly visible rectangular body and screen. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly one a cell phone remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a cell phone"}
|
||||
{"index": 396, "data": "A medium shot shows only one main object: a microwave. The microwave shows a clearly visible rectangular body, door, and control area. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly one a microwave remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a microwave"}
|
||||
{"index": 397, "data": "A medium shot shows only one main object: an oven. The oven shows a clearly visible rectangular body, front door, and control area. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly one an oven remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "an oven"}
|
||||
{"index": 398, "data": "A medium shot shows only one main object: a toaster. The toaster shows a clearly visible compact body and top slots. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly one a toaster remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a toaster"}
|
||||
{"index": 399, "data": "A medium shot shows only one main object: a sink. The sink shows a clearly visible basin and faucet area. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly one a sink remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a sink"}
|
||||
{"index": 400, "data": "A medium shot shows only one main object: a refrigerator. The refrigerator shows a clearly visible tall rectangular body and door. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly one a refrigerator remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a refrigerator"}
|
||||
{"index": 401, "data": "A close shot shows only one main object: a book. The book shows a clearly visible rectangular cover and page block. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The object is placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly one a book remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a book"}
|
||||
{"index": 402, "data": "A close shot shows only one main object: a clock. The clock shows a clearly visible face with markers and a complete outline. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The object is placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly one a clock remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a clock"}
|
||||
{"index": 403, "data": "A close shot shows only one main object: a vase. The vase shows a clearly visible container shape with an opening at the top. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The object is placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly one a vase remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a vase"}
|
||||
{"index": 404, "data": "A close shot shows only one main object: scissors. The scissors show clearly visible two blades and two handles. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The object is placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly one scissors remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "scissors"}
|
||||
{"index": 405, "data": "A close shot shows only one main object: a teddy bear. The teddy bear shows a clearly visible plush body, head, ears, arms, and legs. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The object is placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly one a teddy bear remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a teddy bear"}
|
||||
{"index": 406, "data": "A medium shot shows only one main object: a hair drier. The hair drier shows a clearly visible handle and nozzle. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly one a hair drier remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a hair drier"}
|
||||
{"index": 407, "data": "A close shot shows only one main object: a toothbrush. The toothbrush shows a clearly visible handle and bristle head. The object is placed near the center of the frame with comfortable margins from all image borders, so it is not too close to the edges. It is fully visible, complete, and unobstructed, with no cropping or occlusion in any frame. No additional prominent objects appear in the scene, so the target object remains the only clearly recognizable subject. The object is placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly one a toothbrush remains in the scene throughout, and every frame shows its appearance clearly and consistently for precise recognition.", "original_prompt_en": "a toothbrush"}
|
||||
{"index": 408, "data": "A wide shot shows only one main object: a red bicycle. The bicycle is shown with a clear red color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a clean open setting under clear daylight. fixed shot. Exactly one bicycle with a clear red color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a red bicycle"}
|
||||
{"index": 409, "data": "A wide shot shows only one main object: a green bicycle. The bicycle is shown with a clear green color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a clean open setting under clear daylight. fixed shot. Exactly one bicycle with a clear green color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a green bicycle"}
|
||||
{"index": 410, "data": "A wide shot shows only one main object: a blue bicycle. The bicycle is shown with a clear blue color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a clean open setting under clear daylight. fixed shot. Exactly one bicycle with a clear blue color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a blue bicycle"}
|
||||
{"index": 411, "data": "A wide shot shows only one main object: a yellow bicycle. The bicycle is shown with a clear yellow color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a clean open setting under clear daylight. fixed shot. Exactly one bicycle with a clear yellow color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a yellow bicycle"}
|
||||
{"index": 412, "data": "A wide shot shows only one main object: an orange bicycle. The bicycle is shown with a clear orange color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a clean open setting under clear daylight. fixed shot. Exactly one bicycle with a clear orange color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "an orange bicycle"}
|
||||
{"index": 413, "data": "A wide shot shows only one main object: a purple bicycle. The bicycle is shown with a clear purple color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a clean open setting under clear daylight. fixed shot. Exactly one bicycle with a clear purple color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a purple bicycle"}
|
||||
{"index": 414, "data": "A wide shot shows only one main object: a pink bicycle. The bicycle is shown with a clear pink color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a clean open setting under clear daylight. fixed shot. Exactly one bicycle with a clear pink color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a pink bicycle"}
|
||||
{"index": 415, "data": "A wide shot shows only one main object: a black bicycle. The bicycle is shown with a clear black color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a clean open setting under clear daylight. fixed shot. Exactly one bicycle with a clear black color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a black bicycle"}
|
||||
{"index": 416, "data": "A wide shot shows only one main object: a white bicycle. The bicycle is shown with a clear white color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a clean open setting under clear daylight. fixed shot. Exactly one bicycle with a clear white color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a white bicycle"}
|
||||
{"index": 417, "data": "A wide shot shows only one main object: a red car. The car is shown with a clear red color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a clean open setting under clear daylight. fixed shot. Exactly one car with a clear red color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a red car"}
|
||||
{"index": 418, "data": "A wide shot shows only one main object: a green car. The car is shown with a clear green color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a clean open setting under clear daylight. fixed shot. Exactly one car with a clear green color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a green car"}
|
||||
{"index": 419, "data": "A wide shot shows only one main object: a blue car. The car is shown with a clear blue color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a clean open setting under clear daylight. fixed shot. Exactly one car with a clear blue color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a blue car"}
|
||||
{"index": 420, "data": "A wide shot shows only one main object: a yellow car. The car is shown with a clear yellow color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a clean open setting under clear daylight. fixed shot. Exactly one car with a clear yellow color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a yellow car"}
|
||||
{"index": 421, "data": "A wide shot shows only one main object: an orange car. The car is shown with a clear orange color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a clean open setting under clear daylight. fixed shot. Exactly one car with a clear orange color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "an orange car"}
|
||||
{"index": 422, "data": "A wide shot shows only one main object: a purple car. The car is shown with a clear purple color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a clean open setting under clear daylight. fixed shot. Exactly one car with a clear purple color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a purple car"}
|
||||
{"index": 423, "data": "A wide shot shows only one main object: a pink car. The car is shown with a clear pink color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a clean open setting under clear daylight. fixed shot. Exactly one car with a clear pink color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a pink car"}
|
||||
{"index": 424, "data": "A wide shot shows only one main object: a black car. The car is shown with a clear black color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a clean open setting under clear daylight. fixed shot. Exactly one car with a clear black color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a black car"}
|
||||
{"index": 425, "data": "A wide shot shows only one main object: a white car. The car is shown with a clear white color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a clean open setting under clear daylight. fixed shot. Exactly one car with a clear white color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a white car"}
|
||||
{"index": 426, "data": "A medium shot shows only one main object: a red bird. The bird is shown with a clear red color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment under clear daylight. fixed shot. Exactly one bird with a clear red color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a red bird"}
|
||||
{"index": 427, "data": "A medium shot shows only one main object: a green bird. The bird is shown with a clear green color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment under clear daylight. fixed shot. Exactly one bird with a clear green color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a green bird"}
|
||||
{"index": 428, "data": "A medium shot shows only one main object: a blue bird. The bird is shown with a clear blue color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment under clear daylight. fixed shot. Exactly one bird with a clear blue color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a blue bird"}
|
||||
{"index": 429, "data": "A medium shot shows only one main object: a yellow bird. The bird is shown with a clear yellow color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment under clear daylight. fixed shot. Exactly one bird with a clear yellow color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a yellow bird"}
|
||||
{"index": 430, "data": "A medium shot shows only one main object: an orange bird. The bird is shown with a clear orange color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment under clear daylight. fixed shot. Exactly one bird with a clear orange color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "an orange bird"}
|
||||
{"index": 431, "data": "A medium shot shows only one main object: a purple bird. The bird is shown with a clear purple color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment under clear daylight. fixed shot. Exactly one bird with a clear purple color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a purple bird"}
|
||||
{"index": 432, "data": "A medium shot shows only one main object: a pink bird. The bird is shown with a clear pink color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment under clear daylight. fixed shot. Exactly one bird with a clear pink color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a pink bird"}
|
||||
{"index": 433, "data": "A medium shot shows only one main object: a black bird. The bird is shown with a clear black color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment under clear daylight. fixed shot. Exactly one bird with a clear black color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a black bird"}
|
||||
{"index": 434, "data": "A medium shot shows only one main object: a white bird. The bird is shown with a clear white color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment under clear daylight. fixed shot. Exactly one bird with a clear white color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a white bird"}
|
||||
{"index": 435, "data": "A medium shot shows only one main object: a black cat. The cat is shown with a clear black color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment under clear daylight. fixed shot. Exactly one cat with a clear black color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a black cat"}
|
||||
{"index": 436, "data": "A medium shot shows only one main object: a white cat. The cat is shown with a clear white color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment under clear daylight. fixed shot. Exactly one cat with a clear white color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a white cat"}
|
||||
{"index": 437, "data": "A medium shot shows only one main object: an orange cat. The cat is shown with a clear orange color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment under clear daylight. fixed shot. Exactly one cat with a clear orange color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "an orange cat"}
|
||||
{"index": 438, "data": "A medium shot shows only one main object: a yellow cat. The cat is shown with a clear yellow color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment under clear daylight. fixed shot. Exactly one cat with a clear yellow color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a yellow cat"}
|
||||
{"index": 439, "data": "A medium shot shows only one main object: a red umbrella. The umbrella is shown with a clear red color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one umbrella with a clear red color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a red umbrella"}
|
||||
{"index": 440, "data": "A medium shot shows only one main object: a green umbrella. The umbrella is shown with a clear green color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one umbrella with a clear green color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a green umbrella"}
|
||||
{"index": 441, "data": "A medium shot shows only one main object: a blue umbrella. The umbrella is shown with a clear blue color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one umbrella with a clear blue color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a blue umbrella"}
|
||||
{"index": 442, "data": "A medium shot shows only one main object: a yellow umbrella. The umbrella is shown with a clear yellow color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one umbrella with a clear yellow color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a yellow umbrella"}
|
||||
{"index": 443, "data": "A medium shot shows only one main object: an orange umbrella. The umbrella is shown with a clear orange color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one umbrella with a clear orange color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "an orange umbrella"}
|
||||
{"index": 444, "data": "A medium shot shows only one main object: a purple umbrella. The umbrella is shown with a clear purple color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one umbrella with a clear purple color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a purple umbrella"}
|
||||
{"index": 445, "data": "A medium shot shows only one main object: a pink umbrella. The umbrella is shown with a clear pink color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one umbrella with a clear pink color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a pink umbrella"}
|
||||
{"index": 446, "data": "A medium shot shows only one main object: a black umbrella. The umbrella is shown with a clear black color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one umbrella with a clear black color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a black umbrella"}
|
||||
{"index": 447, "data": "A medium shot shows only one main object: a white umbrella. The umbrella is shown with a clear white color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one umbrella with a clear white color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a white umbrella"}
|
||||
{"index": 448, "data": "A medium shot shows only one main object: a red suitcase. The suitcase is shown with a clear red color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one suitcase with a clear red color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a red suitcase"}
|
||||
{"index": 449, "data": "A medium shot shows only one main object: a green suitcase. The suitcase is shown with a clear green color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one suitcase with a clear green color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a green suitcase"}
|
||||
{"index": 450, "data": "A medium shot shows only one main object: a blue suitcase. The suitcase is shown with a clear blue color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one suitcase with a clear blue color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a blue suitcase"}
|
||||
{"index": 451, "data": "A medium shot shows only one main object: a yellow suitcase. The suitcase is shown with a clear yellow color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one suitcase with a clear yellow color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a yellow suitcase"}
|
||||
{"index": 452, "data": "A medium shot shows only one main object: an orange suitcase. The suitcase is shown with a clear orange color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one suitcase with a clear orange color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "an orange suitcase"}
|
||||
{"index": 453, "data": "A medium shot shows only one main object: a purple suitcase. The suitcase is shown with a clear purple color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one suitcase with a clear purple color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a purple suitcase"}
|
||||
{"index": 454, "data": "A medium shot shows only one main object: a pink suitcase. The suitcase is shown with a clear pink color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one suitcase with a clear pink color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a pink suitcase"}
|
||||
{"index": 455, "data": "A medium shot shows only one main object: a black suitcase. The suitcase is shown with a clear black color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one suitcase with a clear black color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a black suitcase"}
|
||||
{"index": 456, "data": "A medium shot shows only one main object: a white suitcase. The suitcase is shown with a clear white color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one suitcase with a clear white color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a white suitcase"}
|
||||
{"index": 457, "data": "A close shot shows only one main object: a red bowl. The bowl is shown with a clear red color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one bowl with a clear red color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a red bowl"}
|
||||
{"index": 458, "data": "A close shot shows only one main object: a green bowl. The bowl is shown with a clear green color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one bowl with a clear green color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a green bowl"}
|
||||
{"index": 459, "data": "A close shot shows only one main object: a blue bowl. The bowl is shown with a clear blue color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one bowl with a clear blue color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a blue bowl"}
|
||||
{"index": 460, "data": "A close shot shows only one main object: a yellow bowl. The bowl is shown with a clear yellow color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one bowl with a clear yellow color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a yellow bowl"}
|
||||
{"index": 461, "data": "A close shot shows only one main object: an orange bowl. The bowl is shown with a clear orange color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one bowl with a clear orange color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "an orange bowl"}
|
||||
{"index": 462, "data": "A close shot shows only one main object: a purple bowl. The bowl is shown with a clear purple color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one bowl with a clear purple color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a purple bowl"}
|
||||
{"index": 463, "data": "A close shot shows only one main object: a pink bowl. The bowl is shown with a clear pink color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one bowl with a clear pink color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a pink bowl"}
|
||||
{"index": 464, "data": "A close shot shows only one main object: a black bowl. The bowl is shown with a clear black color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one bowl with a clear black color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a black bowl"}
|
||||
{"index": 465, "data": "A close shot shows only one main object: a white bowl. The bowl is shown with a clear white color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one bowl with a clear white color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a white bowl"}
|
||||
{"index": 466, "data": "A medium shot shows only one main object: a red chair. The chair is shown with a clear red color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a clean indoor setting with a plain uncluttered background. fixed shot. Exactly one chair with a clear red color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a red chair"}
|
||||
{"index": 467, "data": "A medium shot shows only one main object: a green chair. The chair is shown with a clear green color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a clean indoor setting with a plain uncluttered background. fixed shot. Exactly one chair with a clear green color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a green chair"}
|
||||
{"index": 468, "data": "A medium shot shows only one main object: a blue chair. The chair is shown with a clear blue color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a clean indoor setting with a plain uncluttered background. fixed shot. Exactly one chair with a clear blue color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a blue chair"}
|
||||
{"index": 469, "data": "A medium shot shows only one main object: a yellow chair. The chair is shown with a clear yellow color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a clean indoor setting with a plain uncluttered background. fixed shot. Exactly one chair with a clear yellow color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a yellow chair"}
|
||||
{"index": 470, "data": "A medium shot shows only one main object: an orange chair. The chair is shown with a clear orange color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a clean indoor setting with a plain uncluttered background. fixed shot. Exactly one chair with a clear orange color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "an orange chair"}
|
||||
{"index": 471, "data": "A medium shot shows only one main object: a purple chair. The chair is shown with a clear purple color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a clean indoor setting with a plain uncluttered background. fixed shot. Exactly one chair with a clear purple color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a purple chair"}
|
||||
{"index": 472, "data": "A medium shot shows only one main object: a pink chair. The chair is shown with a clear pink color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a clean indoor setting with a plain uncluttered background. fixed shot. Exactly one chair with a clear pink color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a pink chair"}
|
||||
{"index": 473, "data": "A medium shot shows only one main object: a black chair. The chair is shown with a clear black color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a clean indoor setting with a plain uncluttered background. fixed shot. Exactly one chair with a clear black color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a black chair"}
|
||||
{"index": 474, "data": "A medium shot shows only one main object: a white chair. The chair is shown with a clear white color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a clean indoor setting with a plain uncluttered background. fixed shot. Exactly one chair with a clear white color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a white chair"}
|
||||
{"index": 475, "data": "A close shot shows only one main object: a red clock. The clock is shown with a clear red color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one clock with a clear red color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a red clock"}
|
||||
{"index": 476, "data": "A close shot shows only one main object: a green clock. The clock is shown with a clear green color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one clock with a clear green color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a green clock"}
|
||||
{"index": 477, "data": "A close shot shows only one main object: a blue clock. The clock is shown with a clear blue color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one clock with a clear blue color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a blue clock"}
|
||||
{"index": 478, "data": "A close shot shows only one main object: a yellow clock. The clock is shown with a clear yellow color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one clock with a clear yellow color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a yellow clock"}
|
||||
{"index": 479, "data": "A close shot shows only one main object: an orange clock. The clock is shown with a clear orange color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one clock with a clear orange color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "an orange clock"}
|
||||
{"index": 480, "data": "A close shot shows only one main object: a purple clock. The clock is shown with a clear purple color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one clock with a clear purple color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a purple clock"}
|
||||
{"index": 481, "data": "A close shot shows only one main object: a pink clock. The clock is shown with a clear pink color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one clock with a clear pink color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a pink clock"}
|
||||
{"index": 482, "data": "A close shot shows only one main object: a black clock. The clock is shown with a clear black color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one clock with a clear black color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a black clock"}
|
||||
{"index": 483, "data": "A close shot shows only one main object: a white clock. The clock is shown with a clear white color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one clock with a clear white color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a white clock"}
|
||||
{"index": 484, "data": "A close shot shows only one main object: a red vase. The vase is shown with a clear red color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one vase with a clear red color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a red vase"}
|
||||
{"index": 485, "data": "A close shot shows only one main object: a green vase. The vase is shown with a clear green color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one vase with a clear green color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a green vase"}
|
||||
{"index": 486, "data": "A close shot shows only one main object: a blue vase. The vase is shown with a clear blue color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one vase with a clear blue color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a blue vase"}
|
||||
{"index": 487, "data": "A close shot shows only one main object: a yellow vase. The vase is shown with a clear yellow color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one vase with a clear yellow color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a yellow vase"}
|
||||
{"index": 488, "data": "A close shot shows only one main object: an orange vase. The vase is shown with a clear orange color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one vase with a clear orange color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "an orange vase"}
|
||||
{"index": 489, "data": "A close shot shows only one main object: a purple vase. The vase is shown with a clear purple color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one vase with a clear purple color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a purple vase"}
|
||||
{"index": 490, "data": "A close shot shows only one main object: a pink vase. The vase is shown with a clear pink color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one vase with a clear pink color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a pink vase"}
|
||||
{"index": 491, "data": "A close shot shows only one main object: a black vase. The vase is shown with a clear black color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one vase with a clear black color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a black vase"}
|
||||
{"index": 492, "data": "A close shot shows only one main object: a white vase. The vase is shown with a clear white color, and the whole object is fully visible, complete, and unobstructed in every frame. It is placed near the center of the frame with comfortable margins from all image borders, and no additional prominent objects appear in the scene. The scene is set in a simple natural environment with a clean softly blurred background. fixed shot. Exactly one vase with a clear white color remains in the scene throughout, and every frame shows it clearly and consistently for precise recognition.", "original_prompt_en": "a white vase"}
|
||||
{"index": 493, "data": "A panoramic shot of a beautiful coastal beach in spring, styled in Van Gogh’s artistic manner with bold, swirling brushstrokes. Gentle waves, dyed in turquoise and sapphire hues that ripple like animated paint, lap rhythmically against the golden sand—its surface textured like thickly applied pigment, each grain a vivid dab of color. The sky is a dynamic mix of soft blues and warm yellows, mirroring Van Gogh’s dreamy vibrancy, with wispy clouds formed by swirling strokes. In the background, the horizon blends sea and sky in harmonious hues, and the shoreline has delicate, brush - like green vegetation, hinting at spring’s freshness. The camera stays fixed, capturing waves caressing the sand in this painterly scene, all elements glowing with Van Gogh’s intense, emotive color palette.", "original_prompt_en": "A beautiful coastal beach in spring, waves lapping on sand, Van Gogh style"}
|
||||
{"index": 494, "data": "A medium shot, rendered in the style of an oil painting, captures a beautiful coastal beach in spring. The golden sand stretches smoothly, with gentle waves rhythmically lapping against it—their frothy white crests contrasting the deep blue seawater. The air carries a fresh, breezy feel, and the background reveals a hazy horizon where the pale blue sky merges with the calm, distant sea, all depicted with rich, textured brushstrokes typical of an oil painting. The waves’ lapping is the sole motion, crafting a serene, timeless mood across the sun - kissed, still shore.", "original_prompt_en": "A beautiful coastal beach in spring, waves lapping on sand, oil painting"}
|
||||
{"index": 495, "data": "Panoramic shot of a beautiful coastal beach in spring, where gentle turquoise waves lap rhythmically against the pale golden sand. The scene is rendered in the style of Ukiyo - e, reminiscent of Hokusai’s masterful works, with delicate brushstrokes capturing the tranquil motion of the waves and the stillness of the sandy shore. The sky above is a soft, muted blue with wispy clouds, while scattered seashells and smooth pebbles adorn the beach, enhancing the serene, artistic ambiance. The camera remains steady, focusing on the harmonious interplay between the moving waves and the static shore, evoking the timeless beauty of traditional Japanese ukiyo - e art.", "original_prompt_en": "A beautiful coastal beach in spring, waves lapping on sand by Hokusai, in the style of Ukiyo"}
|
||||
{"index": 496, "data": "A fixed shot of a beautiful coastal beach in spring, rendered in black and white. Gentle waves with frothy crests lap rhythmically against the fine sand (appearing in varying shades of gray in the monochrome view). The shoreline stretches into the distance, with faint outlines of distant rock formations or coastal vegetation visible in the hazy background. The waves continuously roll in, creating subtle ripples that spread across the sand before receding, while the overall scene exudes a serene, timeless quality due to the black - and - white aesthetic.", "original_prompt_en": "A beautiful coastal beach in spring, waves lapping on sand, black and white"}
|
||||
{"index": 497, "data": "Long shot in pixel - art style, presenting a beautiful coastal beach in spring. The golden - colored sand extends along the shoreline, and gentle waves with frothy white edges lap against the sand rhythmically, producing small ripples that spread and then recede. The sky is bright blue with a few fluffy white clouds, and in the distance, swaying palm trees line the beach. The scene, rendered in pixel - art, has noticeable pixelated textures on the waves and sandy ground. Fixed shot, capturing the peaceful wave movement and the tranquil spring beach beauty.", "original_prompt_en": "A beautiful coastal beach in spring, waves lapping on sand, pixel art"}
|
||||
{"index": 498, "data": "Panoramic shot of a beautiful coastal beach in spring, styled in cyberpunk aesthetics. The golden sandy shore stretches along the coastline, with gentle waves lapping the sand in rhythmic motions—their frothy white crests glistening under the ambient, neon - tinged light. The background showcases a skyline of futuristic skyscrapers, their facades embedded with glowing neon strips in electric purple and cyan, alongside holographic billboards projecting flickering advertisements against the hazy, technologically altered spring sky. The beach’s natural tranquility contrasts sharply with the high - tech, dystopian charm of the cyberpunk cityscape behind, where flying vehicles (drones or hovercars) occasionally zip across the sky. The camera holds steady, capturing the continuous motion of waves caressing the sand while the cyberpunk metropolis buzzes with artificial light and futuristic activity in the distance.", "original_prompt_en": "A beautiful coastal beach in spring, waves lapping on sand, in cyberpunk style"}
|
||||
{"index": 499, "data": "Wide shot of a beautiful coastal beach in spring, rendered in an animated style. The shoreline is lined with soft golden - yellow sand, and gentle light - blue waves lap rhythmically against it, creating frothy white crests that dissolve into the sand. The sky above is a clear and vibrant blue with fluffy white clouds drifting lazily. In the distance, slender palm trees with lush green fronds sway gently in the breeze, their trunks casting delicate shadows on the sand. The water shimmers with bright, cartoonish hues, and the waves’ motion is fluid and stylized, typical of animated visuals. The scene exudes a cheerful and lively atmosphere, with the animated style enhancing the vivid colors and smooth, playful movement of the waves.", "original_prompt_en": "A beautiful coastal beach in spring, waves lapping on sand, animated style"}
|
||||
{"index": 500, "data": "A panoramic shot captures a beautiful coastal beach in spring, rendered in a watercolor - painting style with soft and blended hues that give the scene a dreamy and ethereal quality. Gentle waves, their surfaces glistening like liquid aquamarine under the mild spring sunlight, lap rhythmically against the golden, fine - grained sand, leaving subtle and shimmering ripples in their wake. The sky above is a pale, misty blue, with wispy clouds drifting lazily. On the distant horizon, faint silhouettes of rocky cliffs or islands can be seen, adding depth to the tranquil seascape. Scattered across the sand are delicate seashells with iridescent surfaces that catch the light, and patches of seaweed in muted greens and browns, gently swaying with the ebb and flow of the tide. The camera remains fixed, capturing the serene motion of the waves as they caress the shore. The entire scene is bathed in the soft and diffused light characteristic of a spring day by the coast.", "original_prompt_en": "A beautiful coastal beach in spring, waves lapping on sand, watercolor painting"}
|
||||
{"index": 501, "data": "Long shot captures a beautiful coastal beach in spring, rendered in surrealism style. Gentle waves with iridescent hues (typical of surrealist imagery) lap rhythmically against the fine, ivory - hued sand that glitters as if sprinkled with stardust. The sky above is a dreamlike blend of pastel pinks and blues, with clouds shaped like floating sea creatures, enhancing the surreal atmosphere. The camera remains steady, emphasizing the otherworldly stillness of the scene while the waves’ motion contrasts with the dreamy, static beauty of the beachscape.", "original_prompt_en": "A beautiful coastal beach in spring, waves lapping on sand, surrealism style"}
|
||||
{"index": 502, "data": "Panoramic shot of The Bund in Shanghai, presented in a Van Gogh - style. The historic waterfront buildings feature intricate facades rendered with bold, swirling brushstrokes of warm yellows and oranges, echoing Van Gogh’s expressive artistic technique. The Huangpu River below mirrors the vibrant, distorted colors of the sky—swirling blues and golden yellows that capture the dynamism of Van Gogh’s iconic brushwork, reminiscent of *Starry Night*. Pedestrians stroll along the promenade, their forms outlined with thick, expressive lines, while boats on the river float with shapes exaggerated by the artistic style. The camera pans slowly across the scene, capturing the interplay of light and color on the buildings’ surfaces and the rippling water, as the sky (reimagined in Van Gogh’s signature palette of vivid, swirling hues) looms overhead, enhancing the dreamy, painterly atmosphere.", "original_prompt_en": "The bund Shanghai, Van Gogh style"}
|
||||
{"index": 503, "data": "A panoramic shot in an oil - painting style captures The Bund in Shanghai. Grand colonial - style buildings with elaborate architectural details line the riverside, their facades rendered in rich, warm hues characteristic of oil paintings. The Huangpu River flows serenely in the foreground, with a few cruise ships gliding on the water, their reflections on the river surface blurred in a way that mimics the brushstrokes of an oil painting. The sky above is a harmonious mix of soft oranges and purples, evoking the glow of a sunset, with clouds depicted in gentle, flowing forms. Along the riverside walkway, silhouettes of pedestrians amble, their figures softened by the oil - painting effect, infusing the scene with a nostalgic and artistic atmosphere. The camera stays fixed, enabling a full appreciation of this picturesque, painterly portrayal of the iconic Shanghai landmark.", "original_prompt_en": "The bund Shanghai, oil painting"}
|
||||
{"index": 504, "data": "Panoramic shot of The Bund in Shanghai, rendered in the Ukiyo - e style of Hokusai. The scene showcases riverside buildings with Hokusai’s distinctive Ukiyo - e details: bold black outlines, delicate brushstrokes, and a muted yet vivid color palette. The Huangpu River flows calmly in the foreground, with traditional - styled boats (adorned with Ukiyo - e - like patterns) floating on the water. Along the riverbank, figures in attire blending local and Ukiyo - e influences move leisurely, some gazing at the water. The sky above is a soft gradient of blues and whites, with wispy clouds drawn in Hokusai’s characteristic lines. The camera remains steady, capturing the serene urban landscape reimagined through Hokusai’s Ukiyo - e artistry, merging historical artistry with Shanghai’s iconic waterfront scene.", "original_prompt_en": "The bund Shanghai by Hokusai, in the style of Ukiyo"}
|
||||
{"index": 505, "data": "Panoramic shot in black - and - white, showcasing the Bund in Shanghai. The scene is dominated by retro - styled European - architectural structures with stone - textured facades, their elaborate window patterns discernible in the monochromatic palette. The Huangpu River stretches before these buildings, with a few dark - toned vessels cruising on the tranquil water, their hulls and masts forming stark, elegant silhouettes. Along the riverside walkway, pedestrians in diverse outfits stroll leisurely—some in groups chatting, others pausing to admire the river view. The background sky, rendered in grayscale, exhibits subtle tonal variations, hinting at a clear or mildly overcast day. The camera slowly pans from left to right, capturing the continuous expanse of historic architecture and the bustling yet serene ambiance of the Bund.", "original_prompt_en": "The bund Shanghai, black and white"}
|
||||
{"index": 506, "data": "Panoramic shot in pixel art style of The Bund in Shanghai. The scene is composed of vibrant pixelated color blocks, with the Huangpu River in the foreground showing pixelated ripples. On the opposite bank, iconic buildings like the Oriental Pearl Tower stand with their pixelated outlines, displaying a retro video - game - like aesthetic. Along the riverside promenade, pixel - styled pedestrians, some strolling and some taking photos, move about. The sky is a clear blue with pixelated white clouds floating. In the river, pixelated boats with simple geometric shapes sail slowly. The camera remains fixed, capturing the nostalgic pixel - art - rendered bustling scene of Shanghai's Bund, where the pixelated architecture and people create a unique visual experience reminiscent of classic 8 - bit games.", "original_prompt_en": "The bund Shanghai, pixel art"}
|
||||
{"index": 507, "data": "Panoramic shot of The Bund in Shanghai, presented in cyberpunk style. It’s nighttime, with the sky a deep indigo hue, faintly illuminated by scattered neon glows that tint the humid air. The historic riverfront buildings are adorned with futuristic cyberpunk enhancements: holographic advertisements in neon pink and electric blue hover above their facades, while glowing LED strips trace the architectural outlines. The Huangpu River below mirrors the vibrant, chaotic light display, ripples distorting the reflections of illuminated skyscrapers and occasional futuristic drones hovering in the distance. On the promenade, pedestrians in cyberpunk - inspired attire—some with glowing cybernetic implants, others in sleek, neon - lined jackets—move slowly, their shadows elongated by multicolored streetlights. The camera pans from left to right, capturing the stark contrast between the antique architecture and the high - tech, dystopian - futuristic additions. Neon signs flicker, and digital billboards cycle through vivid, glitchy animations, blending The Bund’s old - world charm with a gritty, futuristic aesthetic.", "original_prompt_en": "The bund Shanghai, in cyberpunk style"}
|
||||
{"index": 508, "data": "Panoramic shot of The Bund in Shanghai, presented in an animated style. The scene showcases cartoon - styled historical buildings with vibrant, saturated colors lining the riverside, their architectural details simplified into playful, exaggerated shapes. The Huangpu River below has a smooth, stylized surface with gentle, animated ripples shimmering in bright hues. Cartoon - like boats, with rounded edges and bold color schemes, float slowly on the river, moving from the right to the left of the frame. The sky is a clear, bright blue, dotted with fluffy, white, cartoon clouds featuring soft, rounded outlines. In the foreground, cartoon pedestrians with exaggerated features and colorful clothing stroll along the riverside promenade. The camera pans slowly from left to right, capturing the lively, whimsical atmosphere of the animated Bund, where the iconic skyline and animated elements together create a cheerful, cartoonish scene.", "original_prompt_en": "The bund Shanghai, animated style"}
|
||||
{"index": 509, "data": "Panoramic shot of The Bund in Shanghai, presented in a watercolor painting style. The scene features the iconic European - styled buildings of the Bund, their facades adorned with soft, blended watercolor hues, their reflections gently rippling on the tranquil Huangpu River. The sky is dotted with light, wispy clouds, rendered with the delicate brushstrokes characteristic of watercolors. Small boats with softly - outlined forms float on the river, and faint, mist - like figures of pedestrians wander along the riverside promenade, their shapes slightly blurred to fit the watercolor aesthetic. The overall color scheme is delicate, dominated by pastel tones, creating a dreamy and artistic atmosphere that encapsulates the charm of Shanghai's Bund in the watercolor medium.", "original_prompt_en": "The bund Shanghai, watercolor painting"}
|
||||
{"index": 510, "data": "Panoramic shot of The Bund in Shanghai, presented in a surrealism style. The historic buildings lining the Bund exhibit dreamlike distortions—their stone facades curve and flow like liquid, merging into the sky in surreal, undulating silhouettes. The Huangpu River below mirrors a kaleidoscopic array of neon glows and impossible colors, its surface rippling with glowing, otherworldly patterns that ripple without natural logic. The sky is a surreal canvas of swirling, multicolored clouds, defying natural hues, and a hazy, shimmering mist shrouds the scene in an otherworldly blur. In the foreground, pedestrians move in slow, dreamlike motions, their forms slightly warped as if in a waking dream. The camera pans gently across the scene, capturing the surreal fusion of Shanghai’s iconic architecture and fantastical elements: some buildings hover above the ground, the river’s surface undulates with impossible wave - like textures, and light casts surreal, shifting patterns. The atmosphere is ethereal, with reality and dreamscape merging—architectural details melt into the air, and the river glows with unearthly, pulsating light, crafting a scene both familiar (The Bund) and utterly surreal.", "original_prompt_en": "The bund Shanghai, surrealism style"}
|
||||
{"index": 511, "data": "A medium shot captures a shark swimming in the ocean, rendered in Vincent van Gogh’s iconic artistic style. The shark, with a sleek form, is depicted with swirling, vibrant blues and yellows across its gray - toned body, echoing the dynamic brushstrokes of Van Gogh’s works. The surrounding ocean water bursts with chaotic, painterly patterns: deep cobalt waves intermingle with golden - hued currents, mimicking the turbulent, textured skies of *The Starry Night*. The background dissolves into a dreamlike expanse of stylized, brushstroke - filled water, as the shark glides gracefully forward, its fins slicing through the vividly rendered sea.", "original_prompt_en": "a shark is swimming in the ocean, Van Gogh style"}
|
||||
{"index": 512, "data": "A medium long shot in an oil - painting style captures a grayish - blue shark with a sleek, streamlined body swimming in the deep blue ocean. The shark glides gracefully, its tail fin undulating rhythmically as it moves, with the ocean water depicted in rich, brush - stroked turquoise and deep blue tones, showing gentle waves. In the distance, faint, painterly outlines of coral reefs and small fish add to the scene’s depth. The oil - painting effect enhances the vivid colors and gives the shark’s fluid motion a dreamy, artistic quality as it swims towards the left of the frame.", "original_prompt_en": "a shark is swimming in the ocean, oil painting"}
|
||||
{"index": 513, "data": "A medium shot captures a sleek gray shark with a streamlined body swimming gracefully in the ocean, rendered in the Ukiyo - e style reminiscent of Hokusai’s masterful works. The shark’s smooth, gray skin glistens as it undulates its powerful tail fin, moving slowly towards the right of the frame. The ocean around it showcases the characteristic Ukiyo - e aesthetics: waves with bold, curvilinear brushstrokes in varying shades of blue, evoking the traditional woodblock - print texture, and the water surface is dotted with white, stylized foam that mirrors Hokusai’s iconic wave depictions. The background reveals a vast expanse of the sea, with hints of distant, misty horizons rendered in the soft, muted tones typical of Ukiyo - e, while the shark continues its elegant swim, embodying the dynamic yet serene essence of Hokusai’s oceanic visions.", "original_prompt_en": "a shark is swimming in the ocean by Hokusai, in the style of Ukiyo"}
|
||||
{"index": 514, "data": "A medium shot captures a black - and - white shark swimming in the ocean. The shark has a streamlined body, and its black - and - white patterned skin stands out against the deep - blue ocean water. Gentle waves roll around it, and some light rays penetrate the water surface, creating a shimmering effect. The shark moves smoothly, with its body undulating rhythmically as it swims towards the right of the frame, and the camera follows its movement to keep it in the center of the shot.", "original_prompt_en": "a shark is swimming in the ocean, black and white"}
|
||||
{"index": 515, "data": "A medium shot in pixel art style captures a gray shark with blocky, pixelated features swimming in the ocean. The shark has a streamlined body with pixelated dorsal, pectoral, and caudal fins, its mouth slightly open to reveal pixelated white teeth. The ocean background consists of pixelated blue water with pixelated waves and distant pixelated seaweed. The retro pixel art style gives the scene a low - resolution, square - pixel appearance. The shark swims steadily toward the right of the frame, and the camera follows its movement, maintaining focus on the shark as it glides through the pixelated ocean.", "original_prompt_en": "a shark is swimming in the ocean, pixel art"}
|
||||
{"index": 516, "data": "The visual style is cyberpunk, with dimness and neon glows. A panoramic shot captures a gray shark with a streamlined body swimming in the cyberpunk - themed ocean. The ocean shimmers with blue - purple neon reflections, and the background reveals submerged futuristic city ruins, metallic structures, and flickering neon lights cutting through the dark water. The shark’s skin has faint, glowing circuit - like patterns, and it swims forward smoothly, tail fin swaying rhythmically. The camera follows the shark from a side angle, capturing its fluid motion as it navigates the neon - lit, dystopian underwater space, with floating digital particles dancing around.", "original_prompt_en": "a shark is swimming in the ocean, in cyberpunk style"}
|
||||
{"index": 517, "data": "An animated - style medium shot captures a cartoonish gray shark with a streamlined body and sharp fins swimming gracefully in the deep blue ocean. The water around it is filled with bubbly trails and faint silhouettes of colorful tropical fish darting in the background. The shark swings its tail side to side, propelling itself forward with smooth, exaggerated motions typical of animation. The camera follows the shark’s movement, panning slightly to keep it centered in the frame, while the ocean’s surface above shows gentle, stylized waves reflecting bright, vibrant colors characteristic of the animated art style.", "original_prompt_en": "a shark is swimming in the ocean, animated style"}
|
||||
{"index": 518, "data": "A medium shot in a watercolor painting style captures a grayish - blue shark with a streamlined body and a triangular dorsal fin swimming gracefully in the deep blue ocean. The ocean water shows soft, blended light - blue waves, and there are a few floating seaweeds and tiny silver - colored fish in the background, creating a tranquil marine scene. The shark moves smoothly from the right to the left of the frame, its tail fin swaying rhythmically, and the camera follows its movement to keep the shark in focus.", "original_prompt_en": "a shark is swimming in the ocean, watercolor painting"}
|
||||
{"index": 519, "data": "A medium shot in a surrealism style captures a gray - blue shark with a streamlined body swimming in the ocean. The shark’s dorsal fin slices through the water, which shimmers with surreal hues of deep purple and turquoise, dotted with bioluminescent jellyfish emitting faint blue light. The ocean floor is lined with distorted, otherworldly coral formations in neon pink and green, twisting in impossible shapes. The shark moves gracefully, its tail fin undulating in a fluid, almost dreamlike motion as it glides from the right to the left of the frame. The camera follows the shark’s movement, panning left to keep it centered, while the surreal background—with floating, translucent geometric shapes and a sky (visible through the water’s surface) painted in pastel oranges and purples—enhances the dreamlike atmosphere.", "original_prompt_en": "a shark is swimming in the ocean, surrealism style"}
|
||||
{"index": 520, "data": "Medium shot captures a giant panda in a Van Gogh - styled Parisian café, sipping coffee from a white ceramic cup. The panda’s black - and - white fur is recreated with Van Gogh’s signature bold, swirling brushstrokes, interspersed with vivid yellows and deep blues. The café’s interior is full of color: the walls are decorated with starry - night - inspired swirling patterns, the wooden tables and chairs have exaggerated, brushstroke - like edges, and a window shows a Paris street in impressionistic, sun - lit hues. The panda holds the cup with its right paw, head slightly tilted as it drinks, and the scene is rendered with Van Gogh’s characteristic thick, textured strokes, creating a dreamy, painterly atmosphere of a Parisian café.", "original_prompt_en": "A panda drinking coffee in a cafe in Paris, Van Gogh style"}
|
||||
{"index": 521, "data": "In an oil - painting style, a medium shot depicts a giant panda with its iconic black - and - white fur seated at a rustic wooden table in a quaint Parisian café. The panda, with one paw curled around a delicate porcelain coffee cup adorned with golden floral patterns, is gently sipping the rich, dark coffee. The café, rendered with thick, vibrant oil - paint brushstrokes, features plush velvet chairs in deep red, walls decorated with impressionistic scenes of Parisian boulevards, and warm, amber light filtering through lace - curtained windows. Outside, the faint, painterly outlines of Parisian architecture—like stone buildings with wrought - iron balconies and the distant silhouette of the Eiffel Tower—add to the scene’s charm. The entire composition, with its textured brushwork and dreamy color palette, captures the panda’s tranquil moment of enjoying coffee in the heart of Paris, evoking the timeless beauty of an oil painting.", "original_prompt_en": "A panda drinking coffee in a cafe in Paris, oil painting"}
|
||||
{"index": 522, "data": "Medium shot in the style of Ukiyo - e (evoking Hokusai's artistic style) captures a panda with black - and - white fur seated at a wooden table in a Parisian café. The panda, with a rounded body and a relaxed demeanor, holds a white coffee cup adorned with delicate Ukiyo - e - style patterns in its right paw, sipping the dark brown coffee. The café’s interior is warmly lit, featuring wooden furniture, a vintage bar counter, and walls decorated with retro Paris street - scene prints. Outside the window, the silhouettes of Parisian buildings with European - style facades and a softly hued sky (in the muted, elegant color palette characteristic of Ukiyo - e) are visible. The scene is rendered with the delicate linework and soft color gradients of traditional Ukiyo - e prints, blending Eastern artistic aesthetics with the charm of a Parisian café. The camera remains fixed, capturing the panda’s leisurely coffee - drinking moment, while blurred figures of other patrons in the background enhance the dreamy, woodblock - print - like atmosphere.", "original_prompt_en": "A panda drinking coffee in a cafe in Paris by Hokusai, in the style of Ukiyo"}
|
||||
{"index": 523, "data": "Medium shot captures a black - and - white giant panda in a cozy Parisian café. The panda, with its distinctive black - and - white fur (black patches around the eyes, ears, and limbs, white on the body), sits on a wooden chair, holding a white ceramic coffee cup with both paws, sipping the brown coffee as steam gently drifts up. The café’s interior features warm yellow lighting, wooden tables, and framed Parisian street - scene paintings on the walls. Outside the window, the backdrop reveals Paris’s iconic cobblestone streets, pastel - hued buildings, and a few pedestrians strolling. The camera remains fixed, documenting the panda’s relaxed demeanor as it savors the coffee.", "original_prompt_en": "A panda drinking coffee in a cafe in Paris, black and white"}
|
||||
{"index": 524, "data": "[A medium shot in pixel - art style depicts a panda with blocky black - and - white pixels. It is seated at a wooden table in a Parisian café. The café's interior has pixel - styled French - inspired decor: floors with pixel - patterned tiles, a counter with pixelated coffee machines, and framed pixel - art pictures of Parisian streets on the walls. The panda, with its pixel - rendered fur (black patches on a white base, made up of square pixels), holds a pixelated brown coffee cup in its right paw, bringing it to its mouth as if sipping coffee. Outside the café's large pixelated windows, the background shows pixelated Parisian architecture with stone - faced buildings and wrought - iron balconies. The scene has a crisp, nostalgic pixel - art look, and the panda's sipping motion is animated in smooth, block - based frames, typical of classic pixel - art aesthetics.]", "original_prompt_en": "A panda drinking coffee in a cafe in Paris, pixel art"}
|
||||
{"index": 525, "data": "Medium shot of a giant panda in a cyberpunk - styled Parisian café. The panda, with its iconic black - and - white fur, is seated at a sleek, metallic table. It holds a transparent glass coffee cup with its paw, gently bringing it to its mouth as if savoring the coffee. The café is filled with cyberpunk elements: neon lights in vibrant hues of purple and blue illuminate the space, holographic menus float in the air, and the walls are adorned with futuristic graffiti. Outside the large, tinted glass windows, the Parisian street is transformed into a cyberpunk scene, with rain - slicked roads reflecting the neon glow, tall buildings covered in digital billboards, and flying vehicles hovering in the overcast sky. The panda remains seated, slowly sipping the coffee, while the camera subtly pans to capture the blend of classic Parisian architecture and cyberpunk aesthetics in the background.", "original_prompt_en": "A panda drinking coffee in a cafe in Paris, in cyberpunk style"}
|
||||
{"index": 526, "data": "An animated medium shot depicts a panda drinking coffee in a charming Parisian café. The panda, with its classic black - and - white fur, round black eye patches, and fluffy ears, holds a white coffee cup (with a wisp of steam rising) in its paw, sipping leisurely. The café’s interior is cozy and vintage - inspired, with wooden tables and chairs, floral - patterned curtains, and a framed print of the Eiffel Tower on the wall. Outside the window, the silhouette of the Eiffel Tower is visible against a soft, pastel - colored sky, which is characteristic of the animated style. The animation features vibrant colors, smooth lines, and a playful tone, highlighting the panda’s relaxed and adorable demeanor as it savors its coffee in this Parisian setting.", "original_prompt_en": "A panda drinking coffee in a cafe in Paris, animated style"}
|
||||
{"index": 527, "data": "In a watercolor painting style with soft, blended edges, a medium shot reveals a panda with distinctive black - and - white fur seated at a rustic wooden table in a charming Parisian café. The panda, holding a delicate white coffee cup in its paw, is gently sipping the coffee, and its posture is relaxed. The café’s interior is warm and inviting, with brown leather chairs, vintage - style lamps, and framed posters adorning the walls. Outside the large, paned windows, the iconic Parisian streetscape unfolds—stone buildings with wrought - iron balconies, cobblestone streets, and distant tree - lined avenues. The watercolor technique lends a dreamy, artistic quality to the scene, emphasizing the whimsical contrast of a panda enjoying coffee in a quintessentially French setting.", "original_prompt_en": "A panda drinking coffee in a cafe in Paris, watercolor painting"}
|
||||
{"index": 528, "data": "A medium shot in surrealism style captures a giant panda with distinctive black - and - white fur, large black eye patches, and a rounded belly, seated at a wooden table in a charming Parisian café. The café features vintage wooden chairs, soft warm lighting, and walls adorned with classic French art prints. The panda holds a delicate white porcelain coffee cup in its paw, sipping the dark brown coffee slowly; steam from the cup twists into surreal, cloud - like shapes. Outside the café’s glass window, the Eiffel Tower stands in the distance, bathed in a dreamy, pastel - colored light that blends reality and fantasy. The panda’s expression is calm and content, and its striking fur contrasts with the café’s warm, cozy tones, amplifying the surreal atmosphere.", "original_prompt_en": "A panda drinking coffee in a cafe in Paris, surrealism style"}
|
||||
{"index": 529, "data": "A medium shot captures a cute, happy Corgi with short, fluffy tricolor fur playing energetically in a park, bathed in the warm, swirling hues of a Van Gogh - style sunset. The Corgi, with perky ears and a wagging tail, bounds across the grassy area, chasing a fallen leaf. The park’s background features tall trees with twisting branches (echoing Van Gogh’s brushstrokes), and the sky blazes with vibrant oranges, yellows, and deep purples, mimicking Van Gogh’s dynamic, textured style. The ground is a patchwork of green grass and golden sunset light. As the Corgi plays, it occasionally pauses to gaze at the colorful sky, its eyes bright with joy. The camera follows its playful antics, capturing the whimsical, painterly quality of the scene, with long, expressive shadows echoing the artistic style.", "original_prompt_en": "A cute happy Corgi playing in park, sunset, Van Gogh style"}
|
||||
{"index": 530, "data": "The image has an oil - painting style with soft, brush - like textures. A medium shot captures a cute and happy Corgi with a fluffy body, short legs, and a coat of warm brown (with white patches) playing in a park. The park is filled with lush green grass, and colorful flowers are scattered here and there. Tall trees stand in the background, their leaves gently swaying in the evening breeze. As the sun sets, the sky is painted in warm shades of orange and pink, casting a golden glow over the entire scene. The Corgi jumps around, chasing a small butterfly, its tail wagging joyfully, fully enjoying the playful moment under the beautiful sunset in the park.", "original_prompt_en": "A cute happy Corgi playing in park, sunset, oil painting"}
|
||||
{"index": 531, "data": "Panoramic shot of a cute, happy Corgi with short brown - and - white fur, stubby legs, and perky ears playing in a park. The Corgi bounds around, chasing its tail and wagging its fluffy tail energetically. The background features a Hokusai - style sunset, with the sky dyed in warm oranges and reds, clouds depicted with the delicate, flowing lines typical of Ukiyo - e. The park has lush green grass, scattered cherry blossom trees with pink petals, and a winding stone path. Rendered in the style of Ukiyo - e, the scene boasts soft, muted colors and elegant brushstrokes. The camera follows the Corgi’s movements, capturing its playful antics against the picturesque sunset - lit park.", "original_prompt_en": "A cute happy Corgi playing in park, sunset by Hokusai, in the style of Ukiyo"}
|
||||
{"index": 532, "data": "The picture is in black and white, with a warm sunset ambiance implied by the lighting. A medium shot captures a cute, happy Corgi with short, fluffy fur and a stubby tail playing energetically in a park. The Corgi bounds across a grassy area, occasionally stopping to wag its tail or nuzzle at the grass. The background includes park trees with dark silhouettes, a few benches, and the sky—where the sunset’s glow translates to soft light - dark contrasts in the monochrome frame. The camera follows the Corgi as it runs, capturing its joyful leaps and spins. The Corgi looks toward the camera with a cheerful expression, its ears perked, embodying a playful spirit. The park’s serene environment, with the sunset casting long shadows in grayscale, enhances the black - and - white aesthetic.", "original_prompt_en": "A cute happy Corgi playing in park, sunset, black and white"}
|
||||
{"index": 533, "data": "Pixel art style, medium shot: A cute, happy Corgi with short, fluffy brown - white fur plays energetically in a park at sunset. The Corgi wags its stumpy tail, bounces around the grassy field, and occasionally pauses to nuzzle the green grass dotted with vibrant wildflowers. The background shows a park scene bathed in the warm glow of sunset: the sky is a gradient of orange, pink, and deep purple, and tall trees with leaves glowing golden in the light line the edge of the park. A wooden bench is on the left, and a winding stone - tiled path curves through the grass. The ground is lush green grass with patches of exposed soil. The camera stays fixed, capturing the Corgi as it joyfully chases a fluttering leaf or runs in circles. The pixel art style gives a retro, blocky aesthetic, enhancing the nostalgic sunset ambiance with sharp, colorful pixel details.", "original_prompt_en": "A cute happy Corgi playing in park, sunset, pixel art"}
|
||||
{"index": 534, "data": "Panoramic shot of a cute, happy Corgi with short yellow - white fur and a plump rump playing in a cyberpunk - styled park. The sky glows with warm orange and deep purple during sunset, while the park is filled with neon - lit holographic billboards, futuristic metallic structures, and glowing neon pathways. The Corgi, with its short legs bouncing, joyfully chases a cyan - hued light spot (from a neon sign) on the ground, its tail wagging rapidly. In the background, towering buildings with cascading LED strips and floating drones hover, blending the sunset’s warmth with the park’s cool cyberpunk aesthetics. The camera follows the Corgi as it prances left, capturing its playful movements against the sci - fi - infused park and the colorful sunset sky.", "original_prompt_en": "A cute happy Corgi playing in park, sunset, in cyberpunk style"}
|
||||
{"index": 535, "data": "An animated - style medium full shot captures a cute and happy Corgi with a short, fluffy tricolor (brown, white, and black) coat and a stumpy tail playing in a park. The Corgi has bright, sparkling eyes and a wide, joyful grin, bounding around on its short legs, chasing a colorful butterfly that flutters near the grass. The park background features lush green lawns, a few tall trees with leaves gently swaying in the breeze, and a stunning sunset painting the sky in vibrant hues of orange, pink, and purple, with golden - hued clouds drifting slowly. The animation style brings vivid, saturated colors, smooth, exaggerated movements (like the Corgi’s body stretching comically as it leaps), and adorable, cartoon - like facial expressions (its eyes turning into star shapes when excited). The camera follows the Corgi’s playful movements, panning slightly to the right as it darts across the grass, with the warm glow of the sunset casting long, whimsical shadows on the ground.", "original_prompt_en": "A cute happy Corgi playing in park, sunset, animated style"}
|
||||
{"index": 536, "data": "A medium shot with a watercolor painting aesthetic captures a cute, happy Corgi—with short, fluffy tricolor fur (predominantly brown with white markings) and a cheerfully wagging stumpy tail—playing energetically in a park at sunset. The scene is rendered in soft, blended watercolor strokes: the sky glows with warm orange and pink hues, casting a golden glow over the park’s lush green grass and scattered, silhouette - like trees. The Corgi bounces around, chasing a fallen leaf or pouncing on dappled sunlight, its ears perked and tongue lolling in joy. The background features a serene park landscape with gentle grassy slopes, a few distant flower beds, and the sunset’s radiant light reflecting off a small, shimmering pond (styled as a watercolor wash). The camera follows the Corgi’s playful movements, panning left as it darts right, preserving the dreamy, artistic watercolor effect throughout. The sunset’s warm tones and the watercolor style combine to create a whimsical, cheerful scene of the Corgi’s park adventure.", "original_prompt_en": "A cute happy Corgi playing in park, sunset, watercolor painting"}
|
||||
{"index": 537, "data": "A medium full shot captures a cute happy Corgi with short brown fur and white markings on its chest and face, playing energetically in a park. The Corgi bounds across lush green grass dotted with vibrant, surreal flowers that glow faintly under the warm sunset light. The sky is ablaze with vivid oranges, pinks, and a dreamy purple hue as the sun sets, creating a surreal, painterly atmosphere. The park’s trees have twisted, whimsical shapes, and the grass ripples like water in patches, enhancing the surrealist style. The Corgi chases a large, iridescent butterfly that floats in mid - air, its short legs moving quickly as it bounds around. The camera follows its playful movements, capturing the long, distorted shadows cast by the surreal sunset light on the ground. In the background, the trees’ leaves shimmer, and the clouds morph into fantastical forms, further emphasizing the surreal aesthetic. The warm golden light of the setting sun bathes the scene, blending reality and dream as the Corgi continues its joyful play.", "original_prompt_en": "A cute happy Corgi playing in park, sunset, surrealism style"}
|
||||
{"index": 538, "data": "Medium shot captures Gwen Stacy, a young woman with shoulder - length blonde hair, dressed in a blue - and - white striped dress, seated as she reads a book. Her gaze is fixed on the pages, and her fingers gently hold the book’s edge. The background is infused with Van Gogh’s signature style: swirling, vividly colored brushstrokes form a sky of deep indigo and blazing golden - yellow spirals (reminiscent of “The Starry Night”), creating a dreamy, painterly atmosphere that contrasts with her still, focused posture. The camera stays still, highlighting her quiet concentration as she reads, while the Van Gogh - inspired backdrop throbs with dynamic, expressive color and texture, merging the real - life scene with the artist’s iconic vision.", "original_prompt_en": "Gwen Stacy reading a book, Van Gogh style"}
|
||||
{"index": 539, "data": "A medium shot captures Gwen Stacy reading a book, rendered in the style of an oil painting. She has long, wavy blonde hair and wears a delicate white blouse with lace trims. The book, with a dark brown leather cover, rests on her lap as her fingers lightly trace the pages. The background is filled with soft, impressionistic brushstrokes—warm amber and muted blue hues blend across the canvas - like scene, with a vintage wooden chair and a faded floral tapestry adding to the painterly, nostalgic atmosphere. Her posture is relaxed yet focused, eyes fixed on the text, capturing the serene, timeless quality of an oil painting.", "original_prompt_en": "Gwen Stacy reading a book, oil painting"}
|
||||
{"index": 540, "data": "Medium shot captures Gwen Stacy deeply absorbed in reading a book by Hokusai, presented in the Ukiyo - e style. She sports her characteristic blonde hair, styled in gentle, cascading waves, and dons a flowing outfit with subtle patterns evoking traditional Japanese textiles. The book she holds boasts a cover decorated with Hokusai’s renowned artwork—maybe the dynamic Great Wave or a peaceful landscape—with its pages showcasing intricate woodblock - print - like illustrations. The backdrop is a serene, traditional Japanese interior: tatami mats lie beneath her, shoji doors softly diffuse the natural light, and framed Ukiyo - e prints adorn the walls, their vivid hues and detailed scenes harmonizing with the book’s aesthetic. Gwen sits in a relaxed yet attentive stance, her eyes meticulously following the text and images, occasionally lingering on a striking illustration. The soft, diffused light bathes her and the book in a warm radiance, amplifying the Ukiyo - e - inspired atmosphere that permeates the scene.", "original_prompt_en": "Gwen Stacy reading a book by Hokusai, in the style of Ukiyo"}
|
||||
{"index": 541, "data": "A medium shot in black - and - white captures Gwen Stacy engrossed in reading a book. She has shoulder - length hair (appearing as soft gray in the monochrome style) and is dressed in a simple, dark - toned blouse (presented in shades of black and white). The book, a hard - covered volume with faint text on its cover, is held in her hands as she focuses intently on the pages. The background features a quiet room with wooden bookshelves filled with various books, their spines creating a patterned backdrop. Gwen sits upright, her eyes scanning the text, occasionally moving her fingers to trace the lines or turn a page. The black - and - white aesthetic casts gentle shadows on the plain walls, lending a classic, serene atmosphere to the scene.", "original_prompt_en": "Gwen Stacy reading a book, black and white"}
|
||||
{"index": 542, "data": "A medium close - up shot in pixel art style captures Gwen Stacy. She has long blonde hair and wears her iconic blue - white checkered school uniform. She sits upright, holding a pixelated book with a simple block - patterned cover in both hands, her eyes intently fixed on the pages as she reads. The background is a pixel - constructed room, with walls composed of vibrant, neatly arranged pixel blocks, a pixel - art table with a tiny pixel - styled plant, and other retro - pixel decorative items. The entire scene exhibits the classic pixel art aesthetic, with distinct blocky edges and a nostalgic, colorful palette.", "original_prompt_en": "Gwen Stacy reading a book, pixel art"}
|
||||
{"index": 543, "data": "Medium shot captures Gwen Stacy, with her blonde hair styled in a sleek bob, seated on a metallic bench amidst a cyberpunk cityscape. She dons a black leather jacket etched with neon - blue circuit - like patterns, futuristic goggles perched on her forehead, and fingerless gloves. In her hands, a book with a glowing magenta cover rests, her eyes fixed on the pages as she traces them with her right index finger. The backdrop erupts with neon - lit skyscrapers, holographic ads flickering with garbled text, and rain - drenched streets reflecting vibrant hues—purple, cyan, and red neon signs cast glows on the wet pavement. A hovering drone drifts by in the distance, and the air thrums with the low hum of hovercars. Gwen remains still, engrossed in her reading, as the cyberpunk world’s neon chaos swirls around her, neon light streaks from passing vehicles intermittently illuminating the scene.", "original_prompt_en": "Gwen Stacy reading a book, in cyberpunk style"}
|
||||
{"index": 544, "data": "Medium shot in an animated style captures Gwen Stacy reading a book. She has long blonde hair with a white headband, wearing a blue - and - white striped top. Her eyes are fixed on the book, fingers gently holding the pages, and a faint smile on her face. The background is a cozy animated room with pastel - colored walls, a window revealing a sunny sky with fluffy clouds, and a wooden bookshelf filled with colorful books. The camera remains fixed, emphasizing her calm reading posture, with soft, vibrant animation lines and bright, saturated colors characteristic of the animated style.", "original_prompt_en": "Gwen Stacy reading a book, animated style"}
|
||||
{"index": 545, "data": "Medium shot of Gwen Stacy, her long blonde hair flowing over her shoulders, clad in a white blouse and a blue skirt, seated upright on a wooden chair. She holds a hardcover book with both hands, her gaze fixed on the pages, a faint smile gracing her lips. The backdrop is a cozy art studio: a wooden easel with a half - completed watercolor painting of a blooming rose stands to her right, a palette brimming with vivid watercolor shades (blues, pinks, yellows) lies on a cluttered desk, along with scattered paintbrushes and sheets of watercolor paper. Sunlight streams through a window, casting a warm radiance over the scene, and the walls are decorated with framed watercolor artworks. As she reads, she occasionally looks up, her attention momentarily drawn to the watercolor painting on the easel before she resumes reading.", "original_prompt_en": "Gwen Stacy reading a book, watercolor painting"}
|
||||
{"index": 546, "data": "A medium shot presents Gwen Stacy, with long golden hair cascading down, clad in a white button - up shirt and a blue plaid skirt (evoking her iconic school uniform look), deeply engrossed in reading a book. The book boasts an ornate, vintage - styled cover adorned with swirling, iridescent patterns that emit a faint, otherworldly glow, perfectly suiting the surrealism aesthetic. The background unfolds as a surreal realm: books of all sizes float weightlessly around her, the walls undulate like rippling water, and vivid, neon - colored light beams intersect in the air, crafting a dreamlike ambiance. Gwen’s gaze is fixed on the pages, her right hand steadying the book while her left hand occasionally flicks to turn a page. The camera stays in a fixed shot, highlighting the surreal elements surrounding her as she remains motionless, fully absorbed in her reading.", "original_prompt_en": "Gwen Stacy reading a book, surrealism style"}
|
||||
{"index": 547, "data": "Long shot, rendered in Van Gogh’s signature style with vivid, swirling brushstrokes and richly saturated colors. A wooden boat, its hull adorned with warm, earthy hues, sails leisurely along the Seine River—where the water shimmers with dynamic patches of deep blue and golden yellow, echoing the textural vibrancy of Van Gogh’s landscapes. In the background, the Eiffel Tower rises, its iron framework rendered with bold, expressive lines that mirror the artist’s distinctive technique. The sky above is a tumult of swirling clouds in fiery oranges and moody purples, emblematic of Van Gogh’s celestial scenes. The camera holds steady, capturing the boat’s gentle glide across the river, while the Eiffel Tower stands as a striking, artistically stylized backdrop.", "original_prompt_en": "A boat sailing leisurely along the Seine River with the Eiffel Tower in background, Van Gogh style"}
|
||||
{"index": 548, "data": "A medium long shot captures a small boat with a rustic wooden hull sailing leisurely along the calm Seine River, its gentle movement creating soft, silvery ripples on the water’s surface. In the background, the iconic Eiffel Tower rises majestically, its lattice - like iron framework rendered with thick, vibrant brushstrokes that are typical of an oil painting, standing out against a sky brushed with warm, painterly shades of orange and purple. Crafted in an oil - painting style, the scene features rich, textured brushstrokes that enhance the tranquil atmosphere. The boat glides slowly towards the right of the frame, and the camera remains fixed, allowing the viewer to fully absorb the serene, artistic depiction of the river, the tower, and the surrounding landscape.", "original_prompt_en": "A boat sailing leisurely along the Seine River with the Eiffel Tower in background, oil painting"}
|
||||
{"index": 549, "data": "A medium full shot captures a traditional wooden boat, styled in the delicate Ukiyo - e manner of Hokusai, sailing leisurely along the Seine River. The boat, with its curved hull and understated decorative patterns, glides smoothly over the rippling, turquoise water. In the background, the iconic Eiffel Tower rises, its iron latticework silhouetted against a pale, cloud - dotted sky. The scene is imbued with Ukiyo - e’s signature flat colors and flowing brushstrokes: the boat moves steadily toward the right of the frame, while the fixed camera lets the viewer take in the peaceful fusion of the historic vessel, the tranquil river, and the stately Eiffel Tower, all filtered through Hokusai - inspired artistic sensibilities.", "original_prompt_en": "A boat sailing leisurely along the Seine River with the Eiffel Tower in background by Hokusai, in the style of Ukiyo"}
|
||||
{"index": 550, "data": "A long - shot in black - and - white captures a small boat with a simple, classic design sailing leisurely along the Seine River. The boat glides smoothly over the river's surface, where gentle ripples spread out in the monochromatic tones. In the background, the iconic Eiffel Tower, with its delicate iron - framed structure, stands tall and prominent, its form presented in striking black - and - white contrasts. The riverbanks are lined with the shadowy outlines of historic buildings, which blend into the grayscale sky above. As the boat continues its unhurried journey along the Seine, the black - and - white aesthetic gives the scene a timeless, nostalgic atmosphere, with the Eiffel Tower serving as a majestic, constant backdrop.", "original_prompt_en": "A boat sailing leisurely along the Seine River with the Eiffel Tower in background, black and white"}
|
||||
{"index": 551, "data": "Pixel art style, a medium shot captures a small boat with blocky, pixelated textures sailing leisurely along the calm, blue waters of the Seine River. The boat’s hull, rendered in simple pixelated hues, moves smoothly, leaving gentle, pixel - formed ripples on the water. In the background, the iconic Eiffel Tower stands tall, its metal framework stylized into distinct pixel blocks, silhouetted against a softly colored sky. The camera stays steady, focusing on the boat’s tranquil journey as it glides, with the Eiffel Tower’s pixel - art - like form offering a picturesque, nostalgic backdrop characteristic of retro pixel art.", "original_prompt_en": "A boat sailing leisurely along the Seine River with the Eiffel Tower in background, pixel art"}
|
||||
{"index": 552, "data": "Panoramic shot of a cyberpunk - styled boat sailing leisurely along the Seine River. The boat, with a sleek metallic body adorned with neon - colored (blue and purple) light strips, glides smoothly on the river, whose surface reflects the colorful lights from the boat and the surroundings. In the background, the Eiffel Tower, reimagined in cyberpunk style, is wrapped with holographic projections and neon light tubes, emitting a cool - toned glow against the dark, misty sky typical of cyberpunk aesthetics. The boat continues its leisurely journey forward, and the camera remains fixed, capturing the harmonious blend of the futuristic vessel, the iconic tower, and the cyberpunk - infused river scene.", "original_prompt_en": "A boat sailing leisurely along the Seine River with the Eiffel Tower in background, in cyberpunk style"}
|
||||
{"index": 553, "data": "A medium long shot (animated style, with vibrant colors and smooth lines) captures a charming cartoon - styled boat with a sleek white hull and blue accents sailing leisurely along the calm, glistening Seine River. In the background, the iconic Eiffel Tower stands tall, its iron lattice structure rendered in warm golden hues, with fluffy white clouds drifting across a bright blue sky. The river’s surface reflects the vivid colors of the scene, and the boat gently moves from the right to the left of the frame, while the camera remains fixed, emphasizing the relaxed pace of the voyage against the picturesque Parisian backdrop.", "original_prompt_en": "A boat sailing leisurely along the Seine River with the Eiffel Tower in background, animated style"}
|
||||
{"index": 554, "data": "A long shot in a watercolor painting style captures a small boat with a wooden hull sailing leisurely along the Seine River. The boat glides smoothly on the calm, reflective water that shimmers with soft, blended hues of blue and green, characteristic of watercolor’s delicate color - blending. In the background, the iconic Eiffel Tower stands tall, its iron lattice structure rendered in gentle, muted tones, partially veiled by a light, misty atmosphere that enhances the dreamy watercolor effect. The sky above is a wash of pale grayish - blue with faint, wispy clouds. The boat continues its tranquil journey downstream, and the camera remains steady to emphasize the serene, painterly quality of the scene.", "original_prompt_en": "A boat sailing leisurely along the Seine River with the Eiffel Tower in background, watercolor painting"}
|
||||
{"index": 555, "data": "The sky is suffused with surreal, pastel - hued clouds, blending lavender and gold. A long shot captures a sleek, white sailboat gliding leisurely along the calm, reflective waters of the Seine River. The boat’s sails, billowing gently, carry faint, surreal patterns as if painted by an otherworldly brush. In the background, the iconic Eiffel Tower stands, its iron latticework distorted in subtle, dreamlike ways—edges blurred, colors shifting in a surreal play of light and shadow, as if the structure is both solid and ethereal. The river’s surface mirrors the sky’s surreal palette, rippling with iridescent waves that defy natural physics. The camera remains steady, framing the boat’s tranquil journey and the Eiffel Tower’s surreal silhouette, emphasizing the scene’s otherworldly, artistic (surrealism) atmosphere.", "original_prompt_en": "A boat sailing leisurely along the Seine River with the Eiffel Tower in background, surrealism style"}
|
||||
{"index": 556, "data": "Medium full shot, styled in Van Gogh’s signature swirling, vivid brushwork. A couple in elegant formal evening wear—he in a tailored black tuxedo with a crisp white shirt and bow tie, she in a flowing, rich - hued gown trailing to the ground—are caught in a heavy downpour while heading home, each holding a dark umbrella. Raindrops splash dynamically against the umbrellas, forming a colorful, turbulent pattern. The background reveals a city street lit by hazy, warm streetlights, with the sky swirling in deep blue and purple tones, echoing Van Gogh’s stormy skies. The couple walks slowly, their attire glistening with rain, the fabric of their evening wear clinging slightly as the downpour soaks through. The camera stays steady, capturing the contrast between their refined outfits and the wildly painterly storm, with the wet pavement reflecting lights in a Van Gogh - esque play of light and reflection.", "original_prompt_en": "A couple in formal evening wear going home get caught in a heavy downpour with umbrellas, Van Gogh style"}
|
||||
{"index": 557, "data": "Medium full shot of a couple in elegant formal evening wear—he in a sharp black tuxedo with a white dress shirt and bow tie, she in a flowing satin gown with delicate lace trims—caught in a heavy downpour as they head home. Both hold dark umbrellas, raindrops hammering the canopies and splattering onto the glistening wet street. The scene has an oil - painting texture: rich, brush - stroked colors, soft edges, and a dreamy, painterly glow. Behind them, a dim street lined with vintage street lamps casts amber light through the rain, buildings with wet, reflective facades looming in the mist. The couple huddles under their umbrellas, walking slowly; their attire glistens with moisture, the gown’s fabric clinging slightly, the tuxedo’s lapels damp. The camera stays fixed, framing their poised figures against the dramatic rain - soaked urban backdrop—street lamps, shadowed buildings, and the wild downpour—emphasizing the contrast between their refined elegance and the tempestuous weather, all rendered in the lush, textured style of an oil painting.", "original_prompt_en": "A couple in formal evening wear going home get caught in a heavy downpour with umbrellas, oil painting"}
|
||||
{"index": 558, "data": "Panoramic shot capturing a couple in formal evening wear—the man in a tailored black tuxedo with a crisp white shirt and bow tie, the woman in an elegant floor - length gown with delicate lace trimmings—on their way home, caught in a heavy downpour. They each hold an ornate umbrella, the umbrella fabric patterned in the Ukiyo - e style, evoking the artistry of Hokusai. The sky is overcast with dark storm clouds, and dense raindrops pound the ground, creating ripples in the puddles that reflect the faint glow of street lamps. The background features traditional Japanese - style buildings with tiled roofs, their forms softened by the misty rain, mirroring the atmospheric aesthetics of Ukiyo - e. The couple huddles closer under their umbrellas, carefully navigating the water - logged street, and the camera remains fixed, capturing the dramatic contrast between their refined attire and the tempestuous weather, all rendered in the vivid, stylized manner characteristic of Hokusai's Ukiyo - e.", "original_prompt_en": "A couple in formal evening wear going home get caught in a heavy downpour with umbrellas by Hokusai, in the style of Ukiyo"}
|
||||
{"index": 559, "data": "In black - and - white, a medium shot captures a couple in formal evening wear — the man in a tailored black tuxedo, the woman in a flowing white gown — heading home, caught in a heavy downpour. They hold umbrellas: his is black, sleekly shielding him from the rain; hers is white, gently deflecting the cascading raindrops. The street is slick with pooled water, and the background reveals blurred city buildings, their outlines softened by the relentless rain. The couple presses on, their formal attire dampening, as the camera holds on their resolute steps through the storm.", "original_prompt_en": "A couple in formal evening wear going home get caught in a heavy downpour with umbrellas, black and white"}
|
||||
{"index": 560, "data": "Pixel - art style (with low resolution and block - like textures). A medium full shot captures a couple dressed in elegant formal evening wear — the man in a black tuxedo (featuring a white dress shirt and a black bow - tie) and the woman in a long, flowing dark - hued evening gown adorned with delicate lace trims. They are on their way home and get caught in a heavy downpour, where raindrops are rendered as tiny square pixels splashing all around them. Both of them hold black umbrellas with pixelated patterns, trying to shield themselves from the rain: the man leans towards the woman, tilting the umbrella more to cover her, while the woman clutches her gown to prevent it from getting soaked. The background presents a dimly lit city street in pixel art, with block - shaped street lamps, low - resolution buildings with glowing window blocks, and a dark, overcast sky (composed of gray and black pixel blocks). The couple walks slowly, their steps cautious on the pixel - styled wet pavement. The fixed camera captures the scene of them navigating through the heavy rain while wearing their formal attire.", "original_prompt_en": "A couple in formal evening wear going home get caught in a heavy downpour with umbrellas, pixel art"}
|
||||
{"index": 561, "data": "A medium wide shot in cyberpunk aesthetic captures a couple in sophisticated formal evening wear—he in a tailored black tuxedo with silver - lined lapels, she in a floor - length emerald - green gown with subtle, glowing circuitry - inspired patterns—on their way home, suddenly caught in a heavy downpour. They hold futuristic umbrellas: his umbrella has a neon - red metallic frame and a canopy that displays shifting cyberpunk cityscapes, hers features a cobalt - blue LED - lit edge and a translucent surface reflecting the rain - slicked street. The background reveals a cyberpunk metropolis: towering buildings with holographic advertisements, neon - lit alleyways, and wet pavement glistening under the city’s vibrant, chaotic lights. The sky is stormy gray, rain pouring down in sheets. The couple, huddled slightly under their umbrellas, walks slowly toward home, and the camera follows them, capturing the gritty, luminous ambiance of the rainy cyberpunk night.", "original_prompt_en": "A couple in formal evening wear going home get caught in a heavy downpour with umbrellas, in cyberpunk style"}
|
||||
{"index": 562, "data": "An animated medium full shot captures a couple in formal evening wear—he in a sleek black tuxedo with a crisp white dress shirt, she in a flowing, jewel - toned gown with delicate lace detailing—hurrying home as they’re caught in a heavy downpour. They clutch matching black umbrellas with silver handles, yet the relentless rain (raindrops dense and glistening like crystal beads) cascades over the edges, soaking the hems of their attire: her gown’s silk skirt clings softly to her legs, while his trousers glisten with water. The backdrop is a nighttime city street, with warm - glowing streetlamps casting halos through the rain, tall buildings’ silhouettes looming in the distance, and puddles reflecting the faint neon of shopfronts. The couple moves briskly, shoulders close, the man subtly angling his umbrella to shield the woman as they navigate the wet pavement (raindrops splashing around their feet in playful, animated arcs). The animation style is vibrant: colors are rich, lines are smooth, raindrops have a translucent, shimmering quality, and the formal garments’ folds are rendered in a charmingly exaggerated, cartoonish manner—emphasizing the contrast between their refined attire and the chaotic downpour.", "original_prompt_en": "A couple in formal evening wear going home get caught in a heavy downpour with umbrellas, animated style"}
|
||||
{"index": 563, "data": "Medium full shot in watercolor painting style. The sky is overcast with dark clouds, and a heavy downpour drenches the scene. A couple in formal evening wear—he in a black tuxedo with a white bow tie, she in a flowing white evening gown adorned with delicate lace—are caught in the rain, holding black umbrellas glistening with raindrops. The man’s tuxedo pants and the woman’s gown hem are speckled with mud from the wet street. They walk briskly toward home, steps hurried as rain splatters against their umbrellas (drooping slightly under the water’s weight). The background reveals a misty street lined with street lamps, their light diffused into warm yellow halos through the watercolor’s soft, blurred textures. Distant buildings fade into the rainy haze, and the scene’s edges are tinged with watercolor washes—blending the downpour into the painting’s dreamy, muted palette, with colors晕染 (diffused) to mimic the fluid, painterly texture of rain merging with the canvas.", "original_prompt_en": "A couple in formal evening wear going home get caught in a heavy downpour with umbrellas, watercolor painting"}
|
||||
{"index": 564, "data": "In a surrealism - styled medium shot, a couple dressed in sophisticated formal evening wear is captured— the man in a tailored black tuxedo with a crisp white shirt and a glossy bow tie, the woman in a flowing, floor - length gown of deep emerald—on their way home and caught in a heavy, surreal downpour. They grip umbrellas with distorted, almost melting frames (the fabric of the umbrellas rippling as if alive), while the rain falls in twisting, gravity - defying streams. The background presents a warped urban street: buildings lean at impossible angles, streetlights cast eerie, elongated glows, and the sky churns with stormy gray and surreal, swirling hues. The couple huddles under the umbrellas, moving slowly through the downpour, and the camera pans to follow their steps, amplifying the disorienting, dreamlike atmosphere of the rain - soaked scene.", "original_prompt_en": "A couple in formal evening wear going home get caught in a heavy downpour with umbrellas, surrealism style"}
|
||||
{"index": 565, "data": "A medium shot captures an astronaut clad in a white spacesuit with a reflective helmet, floating gracefully in space, rendered in a Van Gogh - style aesthetic. The astronaut’s body is slightly angled, one arm extended as if gliding through the cosmos. The backdrop is a mesmerizing Van Gogh - inspired space: deep blue voids swirl with golden - yellow, brushstroke - like nebulae, bright yellow stars speckle the expanse, and wispy, swirling stardust clouds mimic the dynamic textures of Van Gogh's art. The astronaut drifts slowly, and the camera tracks his movement, highlighting the dreamy, painterly quality of the cosmic scene around him.", "original_prompt_en": "An astronaut flying in space, Van Gogh style"}
|
||||
{"index": 566, "data": "A medium shot, rendered in the style of an oil painting, captures an astronaut floating in the vast expanse of space. The astronaut is clad in a crisp white spacesuit, with the helmet’s visor reflecting faint, swirling hues of cosmic colors—deep blues, purples, and hints of gold, all rendered with the thick, textured brushstrokes characteristic of oil paint. Their body drifts gently, limbs relaxed in a weightless posture, as if suspended by the void’s embrace. The background unfolds as a deep, inky black canvas, speckled with pinprick stars that glow with soft, diffused light, and wisps of nebulous clouds in vibrant, blended tones of pink and orange, echoing the layered, painterly look of oil on canvas. The astronaut’s form, defined by expressive, heavy brushwork, slowly rotates, emphasizing the serene, dreamlike quality of this celestial scene. The overall composition bears the hallmarks of an oil painting: rich, saturated colors, visible brushstrokes, and a soft, ethereal blur around the edges, enhancing the otherworldly atmosphere of space exploration.", "original_prompt_en": "An astronaut flying in space, oil painting"}
|
||||
{"index": 567, "data": "A stylized medium shot (in the Ukiyo - e style, evoking Hokusai’s artistic vision) depicts an astronaut floating weightlessly in the boundless cosmos. The astronaut wears a spacesuit adorned with intricate, wood - block - print - like patterns (in line with Ukiyo - e aesthetics), their form angled as if gliding through space. The backdrop is a star - filled expanse, with sections rendered in Hokusai’s signature bold, wavy lines and muted yet vivid color palettes—suggesting celestial “waves” or nebulae stylized like his famed ocean surf. The astronaut’s helmet reflects faint glimmers of this cosmic scene, and their posture conveys serene motion, as if traversing a surreal, Edo - era - inspired vision of space. The camera stays fixed, highlighting the fusion of futuristic spaceflight with classic Ukiyo - e art: the astronaut’s flight mirrors the dynamic movement of traditional Ukiyo - e figures, while the starry void is reimagined with Hokusai - esque flourishes.", "original_prompt_en": "An astronaut flying in space by Hokusai, in the style of Ukiyo"}
|
||||
{"index": 568, "data": "Long shot, in black - and - white quality. An astronaut in a black - and - white space suit is floating in space. The astronaut’s body is slightly tilted, with arms gently outstretched as if navigating through the void. The background is a vast, dark expanse of space, dotted with faint, blurry star - like specks due to the monochromatic and low - clarity visual style. The astronaut moves slowly, maintaining a weightless posture typical of spaceflight, and the camera remains fixed, capturing the serene yet solitary motion of the astronaut in the endless black - and - white cosmos.", "original_prompt_en": "An astronaut flying in space, black and white"}
|
||||
{"index": 569, "data": "A medium shot in pixel art style captures an astronaut flying in space. The astronaut wears a white spacesuit with colorful pixelated patterns, and the helmet reflects pixelated starlight (stars appear as square - shaped blocks). The background is a deep black space dotted with pixelated stars (square blocks) and distant pixelated planets (block - like clusters in light blue or red). The astronaut floats with slightly bent limbs, as if moving slowly in a weightless environment. The pixelated outline is clear, and the colors are presented in a retro 8 - bit style.", "original_prompt_en": "An astronaut flying in space, pixel art"}
|
||||
{"index": 570, "data": "A panoramic long shot in a cyberpunk aesthetic captures an astronaut floating and flying in the vast expanse of space. The astronaut is clad in a futuristic cyberpunk - styled spacesuit, adorned with glowing neon - colored lines (shades of electric blue and magenta) running along the contours, and metallic armor plates with intricate circuit - like patterns. The helmet features a sleek, reflective visor with holographic data streams flickering across its surface, and a pair of mechanical - looking, cybernetic arm enhancements with exposed, glowing circuitry. Behind the astronaut, a set of jet - black thrusters emit bursts of bright blue - purple energy, propelling them forward. The backdrop is a breathtaking cyberpunk - themed space: a deep, inky blackness of the universe is interspersed with swirling nebulae in hues of violet and cyan, dotted with floating cyberpunk - style satellite debris that have neon - lit panels and rusted, industrial - looking metal frames. In the distance, a colossal space station looms, its surface crisscrossed with glowing neon pipelines and holographic billboards projecting advertisements in an otherworldly script. The astronaut glides slowly through the void, their body surrounded by floating, translucent holographic navigation interfaces that display complex data. Occasionally, they adjust their posture, and the thrusters on their back pulse rhythmically, sending out ripples of light that illuminate the nearby floating cybernetic fragments, which have sharp, angular designs and glowing red or green accent lights. The sky (space) is a canvas of cosmic darkness, punctuated by the faint, pulsing lights of distant cyberpunk - inspired orbital structures, creating a striking contrast with the astronaut’s vividly lit, high - tech gear as they continue their flight through this stylized, futuristic cosmos.", "original_prompt_en": "An astronaut flying in space, in cyberpunk style"}
|
||||
{"index": 571, "data": "An animated - style medium shot depicts an astronaut flying in space. The astronaut is dressed in a streamlined white spacesuit adorned with silver accents, and a transparent helmet encloses their head, revealing a portion of their face. The backdrop is the boundless cosmos, sprinkled with twinkling stars of differing luminosities and faint, vibrant nebulae drifting leisurely. The astronaut’s body is slightly angled, and their arms and legs are arranged in a manner that conveys a gentle, floating movement as they traverse the cosmic void. The overall visual style is vivid and cartoon - like, with smooth lines and bright colors accentuating the animated space - themed scene.", "original_prompt_en": "An astronaut flying in space, animated style"}
|
||||
{"index": 572, "data": "A medium shot rendered in a watercolor painting style captures an astronaut floating weightlessly in the vast, inky blackness of space. The astronaut, dressed in a white spacesuit with subtle blue - gray watercolor - hued details, has their arms gently outstretched in a relaxed, weightless posture. The helmet’s visor reflects faint, softly blended starlight and distant, pastel - toned nebulas, all rendered with the translucent, fluid quality of watercolor. The background is a deep black expanse dotted with delicate, watercolor - like stars that bleed into the darkness, and wispy, muted - colored cosmic clouds drift in the distance, imbuing the scene with the dreamy, airy texture of watercolor art. The astronaut drifts slowly, as if suspended in the gentle flow of watercolor pigments, and the entire scene exudes a delicate, ethereal charm, with colors bleeding gently at the edges, characteristic of a watercolor painting.", "original_prompt_en": "An astronaut flying in space, watercolor painting"}
|
||||
{"index": 573, "data": "Long shot in surrealism style, capturing an astronaut floating in space. The astronaut is dressed in a white spacesuit with detailed textures, the helmet visor reflecting swirling, iridescent nebulae. His body drifts slowly, arms relaxed yet slightly bent, as if navigating through a dreamlike cosmic realm. The background is a surreal expanse of deep black space, dotted with pulsating, multicolored stars and wispy, luminous nebulae that twist in impossible patterns. Floating fragments of metallic debris and ethereal, translucent space - like creatures (in the surreal style) drift around him. The camera follows the astronaut’s movement, panning gently to emphasize the weightless, otherworldly motion. The astronaut’s suit glows with faint, shifting hues, enhancing the surreal atmosphere as he floats deeper into the surreal cosmic landscape.", "original_prompt_en": "An astronaut flying in space, surrealism style"}
|
||||
{"index": 574, "data": "A panoramic shot captures snow - blanketed rocky mountain peaks surrounding and casting shadows over deep canyons. The canyons twist and bend sinuously through the high - elevated, rugged mountain peaks, with their rocky surfaces partially exposed beneath the thick, pristine snow blankets. Rendered in a Van Gogh - style, the scene bursts with swirling, vibrant brushstrokes — the blues and whites of the snow - capped peaks merge with the earthy browns and grays of the rocky outcrops, while the depths of the canyons ripple with dark, undulating shadows that echo the dynamic, emotional textures of Van Gogh’s masterpieces. The high - elevated mountain peaks, with their snow - laden slopes glistening, frame the twisting canyons that carve through the mountainous landscape, all bathed in the passionate, turbulent vision of Van Gogh’s distinctive artistic style.", "original_prompt_en": "Snow rocky mountains peaks canyon. snow blanketed rocky mountains surround and shadow deep canyons. the canyons twist and bend through the high elevated mountain peaks, Van Gogh style"}
|
||||
{"index": 575, "data": "A panoramic shot presents an oil - painting - like scene of snow - blanketed rocky mountain peaks and deep canyons. The snow - blanketed rocky mountains, with rugged gray - brown rock faces partially hidden under thick layers of glistening white snow, surround the deep canyons and cast long dark shadows over them. The canyons, with steep rocky walls, twist and bend sinuously through the high - elevated, snow - capped mountain peaks, creating a dramatic and majestic landscape.", "original_prompt_en": "Snow rocky mountains peaks canyon. snow blanketed rocky mountains surround and shadow deep canyons. the canyons twist and bend through the high elevated mountain peaks, oil painting"}
|
||||
{"index": 576, "data": "Panoramic shot of snow - blanketed rocky mountains surrounding and shadowing deep canyons that twist and bend through high - elevated peaks, presented in the Ukiyo - e style reminiscent of Hokusai’s art. Snow clings to the rugged rock faces, with the canyons’ dark depths contrasting sharply against the bright, wind - swept mountain summits. The scene captures the dramatic, undulating landscape as if crafted with delicate brushstrokes, emphasizing the natural drama of the mountains and canyons interweaving in a still, majestic setting, true to the artistic vision of Ukiyo - e.", "original_prompt_en": "Snow rocky mountains peaks canyon. snow blanketed rocky mountains surround and shadow deep canyons. the canyons twist and bend through the high elevated mountain peaks by Hokusai, in the style of Ukiyo"}
|
||||
{"index": 577, "data": "A long shot captures a breathtaking landscape of snow - blanketed rocky mountain peaks and deep canyons. The snow - blanketed rocky mountains surround and cast shadows over the deep canyons, which twist and bend sinuously through the high - elevated mountain peaks. The entire scene is rendered in black - and - white tones, emphasizing the stark contrast between the white snow, the dark rocky surfaces, and the shadowed depths of the canyons.", "original_prompt_en": "Snow rocky mountains peaks canyon. snow blanketed rocky mountains surround and shadow deep canyons. the canyons twist and bend through the high elevated mountain peaks, black and white"}
|
||||
{"index": 578, "data": "Panoramic shot of a pixel - art landscape showcasing snow - blanketed rocky mountain peaks and deep canyons. The snow - blanketed rocky mountains surround the area, casting shadows on the deep canyons that twist and bend through the high - elevated mountain peaks. The scene is rendered in pixel art, with distinct pixelated textures on the snow - covered rocks and the meandering canyon paths.", "original_prompt_en": "Snow rocky mountains peaks canyon. snow blanketed rocky mountains surround and shadow deep canyons. the canyons twist and bend through the high elevated mountain peaks, pixel art"}
|
||||
{"index": 579, "data": "A panoramic shot in cyberpunk style captures snow - blanketed rocky mountains surrounding and casting shadows over deep canyons. These canyons twist and bend through the high - elevated mountain peaks, with the snow - capped rocky mountain peaks exhibiting rugged textures and the deep canyons, veiled in the mountains' shadows, winding sinuously amidst the lofty peaks. The cyberpunk - styled backdrop adds a futuristic ambiance, highlighting the stark contrast between the snow - covered rocky mountains and the shadow - filled, twisting canyons within the elevated terrain.", "original_prompt_en": "Snow rocky mountains peaks canyon. snow blanketed rocky mountains surround and shadow deep canyons. the canyons twist and bend through the high elevated mountain peaks, in cyberpunk style"}
|
||||
{"index": 580, "data": "Panoramic shot of snow - blanketed rocky mountain peaks and deep canyons. The snow - capped rocky mountains, with gray, rugged rock faces partially covered in pristine white snow, surround and cast shadows over the deep canyons below. These canyons twist and bend sinuously through the high - elevated, jagged mountain peaks, all rendered in an animated style. The background, consistent with the animated aesthetic, presents a stylized landscape where the mountains’ rugged textures and the canyons’ winding paths are vividly depicted, and the camera holds steady to capture this dramatic, stylized scene of snow - clad peaks enclosing the shadowed, twisting canyons.", "original_prompt_en": "Snow rocky mountains peaks canyon. snow blanketed rocky mountains surround and shadow deep canyons. the canyons twist and bend through the high elevated mountain peaks, animated style"}
|
||||
{"index": 581, "data": "Panoramic shot of snow - blanketed rocky mountain peaks enclosing deep canyons. The rocky mountains are covered with a thick layer of glistening white snow, and the rugged gray stone surfaces are partially exposed from beneath the snow. The deep canyons, shrouded in the mountains' shadows, twist and bend sinuously through the high - elevated, snow - capped peaks. The scene has a watercolor - painting - like quality, with soft and blended hues of white (snow), gray (rock), and blue (shadows) creating a dreamy and artistic atmosphere. The overcast sky in the background adds to the ethereal and painterly feel of the landscape. The dark and winding canyons contrast sharply with the bright snow - covered peaks, emphasizing the dramatic topography as they wind through the mountain range.", "original_prompt_en": "Snow rocky mountains peaks canyon. snow blanketed rocky mountains surround and shadow deep canyons. the canyons twist and bend through the high elevated mountain peaks, watercolor painting"}
|
||||
{"index": 582, "data": "Panoramic shot of snow - blanketed rocky mountain peaks and deep canyons. Snow - covered rocky mountains surround the deep canyons, casting shadows over them. The canyons twist and bend sinuously through the high - elevated mountain peaks, creating a surrealistic scene. The background features rugged, snow - capped mountain ridges with sharp edges, and the sky above is a pale, misty gray, enhancing the surreal atmosphere. The camera stays fixed, capturing the otherworldly landscape where snow - blanketed mountains and winding canyons merge in a dreamlike, surrealist style.", "original_prompt_en": "Snow rocky mountains peaks canyon. snow blanketed rocky mountains surround and shadow deep canyons. the canyons twist and bend through the high elevated mountain peaks, surrealism style"}
|
||||
{"index": 583, "data": "A long shot captures a beautiful coastal beach in spring. The shore is covered with golden sand that glistens softly under the light. Clear turquoise waves, topped with delicate white foam, lap against the sand in super slow motion, their gentle movement unfolding in a leisurely, serene manner. The background features a bright blue sky dotted with a few fluffy white clouds, while the distant horizon merges softly with the calm sea, enhancing the tranquil and picturesque atmosphere of the scene.", "original_prompt_en": "A beautiful coastal beach in spring, waves lapping on sand, in super slow motion"}
|
||||
{"index": 584, "data": "A medium shot transitions to a zoom - in view of a beautiful coastal beach in spring. The sky is a clear pastel blue with wispy white clouds drifting lazily. The golden sand, with fine and glistening grains, stretches along the shore. Gentle waves, with crests tinted pale turquoise, lap rhythmically against the sand, forming delicate foamy patterns that vanish swiftly into the shore. In the background, distant rocky outcrops and swaying palm trees line the coastline, adding to the tropical spring ambiance. As the camera zooms in, it captures the intricate details of the waves’ movement—each wave curls, breaks, and caresses the sand, while the shore reveals subtle indentations from the receding tide, with the soft spring sunlight enhancing the sand’s golden sheen and the waves’ sparkling surface.", "original_prompt_en": "A beautiful coastal beach in spring, waves lapping on sand, zoom in"}
|
||||
{"index": 585, "data": "A long shot captures a beautiful coastal beach in spring. The golden sand stretches along the shore, with gentle waves lapping rhythmically on the sand, creating tiny ripples that glisten under the soft spring sunlight. The sky above is clear and blue, dotted with a few fluffy white clouds, while the deep blue sea meets the horizon in the distance. Patches of green coastal plants sway slightly in the breeze along the beach. As the camera zooms out, a broader view of the serene coastline unfolds, revealing more of the sandy expanse, the undulating waves, and the calm ocean under the spring sky.", "original_prompt_en": "A beautiful coastal beach in spring, waves lapping on sand, zoom out"}
|
||||
{"index": 586, "data": "Panoramic shot of a beautiful coastal beach in spring. The golden sand stretches smoothly, with delicate ripples tracing the shore where waves recede. Gentle, turquoise - hued waves lap rhythmically against the sand, their crests breaking into frothy white as they reach the shore. The sky above is a clear, vibrant blue with a few wispy white clouds, and in the distance, the deep blue ocean merges with the horizon. Sparse palm trees line the beach, their fronds swaying gently in the spring breeze. As the camera pans left, it reveals more of the tranquil coastline—tiny seashells scattered across the sand and a few seagulls gliding low over the water, enhancing the peaceful springtime coastal scene with the soothing sound of waves lapping on the shore.", "original_prompt_en": "A beautiful coastal beach in spring, waves lapping on sand, pan left"}
|
||||
{"index": 587, "data": "Panoramic shot of a beautiful coastal beach in spring. The golden sandy shore stretches along the coastline, with gentle turquoise waves lapping rhythmically against the sand, creating small foamy ripples that recede back into the ocean. The sky is clear and blue, with a few fluffy white clouds drifting by, and in the distance, faint silhouettes of distant landmasses or rocky formations are visible. Sparse patches of green coastal plants sway softly in the light breeze. The camera pans right, slowly unveiling more of the serene shoreline, capturing the continuous, soothing motion of the waves caressing the sandy beach as the scene extends.", "original_prompt_en": "A beautiful coastal beach in spring, waves lapping on sand, pan right"}
|
||||
{"index": 588, "data": "Long shot of a beautiful coastal beach in spring. The creamy - white sand lines the shore, and gentle blue waves with frothy edges lap rhythmically on the sand, forming tiny ripples that spread and fade. The camera tilts up: starting from the wave - kissed sand, it moves upward to reveal the clear blue sky with fluffy white clouds, and in the distance, slender coconut trees sway in the spring breeze, their fronds rustling. A few sailboats dot the calm sea, adding serenity to the lively spring beach.", "original_prompt_en": "A beautiful coastal beach in spring, waves lapping on sand, tilt up"}
|
||||
{"index": 589, "data": "The sun shines gently over a picturesque coastal beach in spring. A tilt - down shot captures the scene: fine golden sand stretches along the shore, and gentle waves, frothy with white foam, lap rhythmically against the sand, creating small, glistening ripples that spread and then ebb. The background reveals an expansive, deep - blue sea merging with a clear, cloud - dotted sky at the horizon, with a few seagulls gliding leisurely. Scattered across the beach are seashells of assorted shapes and hues, and the distant coastline is lined with lush green coastal plants swaying softly in the spring breeze. As the camera tilts down, it focuses on the delicate interplay between the waves and the sand, showcasing the wet sand glimmering under the warm sunlight, with the waves’ gentle motion leaving intricate patterns on its surface.", "original_prompt_en": "A beautiful coastal beach in spring, waves lapping on sand, tilt down"}
|
||||
{"index": 590, "data": "A panoramic shot of a beautiful coastal beach in spring. The golden sandy shore stretches along the coastline, and gentle waves lap rhythmically against the sand. An intense shaking effect permeates the scene, causing the waves and the glistening sand to tremble visibly, as if the entire beach is quivering. The background showcases a clear blue sky dotted with soft white clouds, while the distant sea blends seamlessly with the horizon. The shaking effect persists, infusing the tranquil spring beach with a dynamic, almost unsettling vibrancy, as the waves continue to caress the shore amidst the rhythmic trembling.", "original_prompt_en": "A beautiful coastal beach in spring, waves lapping on sand, with an intense shaking effect"}
|
||||
{"index": 591, "data": "A panoramic shot of a beautiful coastal beach in spring. Gentle waves lap smoothly against the golden, fine - grained sand, their translucent crests glistening under the soft spring sunlight. The sky above is a clear blue, dotted with fluffy white clouds, and the distant sea merges seamlessly with the horizon. This scene is captured with a steady and smooth perspective, showcasing the rhythmic motion of the waves and the tranquil, picturesque beauty of the spring coastal landscape.", "original_prompt_en": "A beautiful coastal beach in spring, waves lapping on sand, featuring a steady and smooth perspective"}
|
||||
{"index": 592, "data": "A medium shot with racking focus captures a beautiful coastal beach in spring. The golden sand stretches along the shore, with gentle waves lapping rhythmically on it, creating small, foamy ripples that glisten under the soft spring sunlight. The sky above is a clear, vibrant blue with a few fluffy white clouds drifting lazily. In the background, the deep blue ocean meets the horizon, and some distant seagulls can be seen soaring. The racking focus shifts subtly, first highlighting the delicate texture of the wet sand where the waves recede, then bringing the rolling waves into sharp focus, and finally emphasizing the expansive, serene beachscape that extends into the distance.", "original_prompt_en": "A beautiful coastal beach in spring, waves lapping on sand, racking focus"}
|
||||
{"index": 593, "data": "Panoramic shot of The Bund in Shanghai, captured in super slow motion. The riverside is lined with iconic colonial - style buildings, their intricate facades (featuring arched windows and decorative moldings) facing the Huangpu River. The river flows gently, with a few white - hulled cruise ships (adorned with colorful accents) moving at a slowed - down pace, their wakes spreading slowly across the water. On the wide promenade, pedestrians in diverse outfits stroll—their motions elongated, some pausing to take photos of the riverside view, others chatting leisurely. In the distance, Lujiazui’s modern skyscrapers rise, their glass curtain walls reflecting the overcast sky. The camera pans slightly, capturing the bustling yet serene scene, where every movement (from the pedestrians’ steps to the ships’ glide) is prolonged, showcasing The Bund’s unique charm in this super slow - motion perspective.", "original_prompt_en": "The bund Shanghai, in super slow motion"}
|
||||
{"index": 594, "data": "A zoom - in shot of The Bund in Shanghai. The scene presents a line of magnificent, historic buildings with European - style architecture along the waterfront. Their facades are decorated with elaborate carvings and large windows. In front, the Huangpu River flows gently, with ripples glistening under the light. Along the promenade, tourists in different clothes stroll leisurely, some taking photos. A few vehicles, like sightseeing buses and cars, move slowly on the nearby road. The sky above is clear with a few white clouds. As the camera zooms in, it focuses on the detailed decorations of the building facades, capturing the bustling atmosphere of this iconic landmark.", "original_prompt_en": "The bund Shanghai, zoom in"}
|
||||
{"index": 595, "data": "A zoom - out shot of The Bund in Shanghai. Initially, the frame presents a section of the classic European - style buildings along the Bund, with their elaborate facades and historical architectural details. As the camera zooms out, the view expands to include the Huangpu River flowing calmly in front of the buildings, with several cruise ships and cargo vessels sailing on the water. On the riverside promenade, numerous tourists, some taking photos and others strolling, are visible. The background reveals the modern skyscrapers of Lujiazui on the opposite bank, including the Oriental Pearl Tower and other high - rise buildings with glass curtain walls, standing tall against the sky. The sky above is partly cloudy, with white clouds floating in the blue expanse. The camera continues to zoom out, gradually presenting the entire scene of the Bund, the river, and the contrasting architectural styles of the two riverbanks, highlighting the blend of history and modernity in Shanghai.", "original_prompt_en": "The bund Shanghai, zoom out"}
|
||||
{"index": 596, "data": "A panoramic shot of The Bund in Shanghai. The sky is clear with a few white clouds. Along the Huangpu River, the historic European - style buildings with elaborate architectural details line the waterfront, their vibrant facades reflecting the sunlight. On the river, several cruise ships with colorful decorations sail gently. In the background, the modern skyscrapers of Lujiazui, including the Oriental Pearl Tower and the Shanghai Tower, rise against the sky. The camera pans left, capturing the busy street with tourists strolling, taking photos, and cyclists riding, as well as cars and sightseeing buses moving along the road. As the camera pans left, it reveals more of the iconic buildings, the flowing river with boats, and the lively mix of historical architecture and modern city life.", "original_prompt_en": "The bund Shanghai, pan left"}
|
||||
{"index": 597, "data": "Panoramic shot of The Bund in Shanghai. The sky is clear with a few white clouds floating. Along the Huangpu River’s edge, grand historical buildings with intricate European - style facades line the promenade, their stone surfaces glistening under the sunlight. The river flows gently, with a couple of cruise ships cruising on the water. On the opposite bank, the modern skyline of Lujiazui unfolds, showcasing the Oriental Pearl Tower and sleek skyscrapers with reflective glass exteriors. The promenade is crowded with tourists: some are posing for photos in front of the buildings, others are leisurely walking or chatting in small groups. The camera pans right, capturing more of the Bund’s magnificent architecture, the bustling riverfront activities—like street performers and vendors selling souvenirs—and the continuous flow of pedestrians and cyclists along the path.", "original_prompt_en": "The bund Shanghai, pan right"}
|
||||
{"index": 598, "data": "A medium shot of The Bund in Shanghai. The camera tilts up, starting from the Huangpu River with rippling blue - green water and a few white - hulled cruise ships, then moving up to reveal the iconic European - style buildings with elaborate facades—some featuring arched windows, decorative cornices, and red - tiled roofs. The promenade beside the river is lined with pedestrians in casual and formal wear, strolling along the stone walkway. As the tilt - up progresses, the camera captures the upper stories of the buildings, their ornate architectural details, and the overcast (or clear) sky above, with soft clouds floating. The buildings’ grand silhouettes against the sky, along with the river’s gentle flow below, highlight the Bund’s historic charm.", "original_prompt_en": "The bund Shanghai, tilt up"}
|
||||
{"index": 599, "data": "A tilt - down shot of The Bund in Shanghai. The scene starts with a view of the iconic colonial - style buildings, their facades decorated with intricate details and roofs in colors like red and gray. As the camera tilts down, the Huangpu River comes into sight, its surface rippling gently under the sunlight. Along the riverside promenade, pedestrians stroll—some take photos of the scenery, while others chat in groups. A few colorful cruise ships are docked at the pier, their hulls reflecting on the blue water. In the distance, the Lujiazui skyline rises, with skyscrapers such as the Oriental Pearl Tower and Shanghai Tower piercing a clear sky with scattered white clouds. The ground shows stone - paved walkways, greenery, street lamps, and decorative sculptures. The camera’s tilt - down motion reveals more of the bustling riverside, combining historical architecture with modern city life.", "original_prompt_en": "The bund Shanghai, tilt down"}
|
||||
{"index": 600, "data": "Panoramic shot of The Bund in Shanghai, with an intense shaking effect causing the image to jolt. The Bund’s historic buildings with ornate facades line the Huangpu River, their light - colored exteriors contrasting with the overcast sky. The Huangpu River’s water shimmers, with a few ships sailing slowly. In the foreground, tourists in various outfits stroll or take photos on the waterfront promenade, their figures swaying as the camera trembles. The background features modern skyscrapers like the Oriental Pearl Tower, standing against the sky. The camera shakes vigorously, making the buildings, river, and people in the scene jolt and blur intermittently, creating a sense of dynamic instability.", "original_prompt_en": "The bund Shanghai, with an intense shaking effect"}
|
||||
{"index": 601, "data": "Panoramic shot of The Bund in Shanghai, featuring a steady and smooth perspective. The scene presents the historic Western - style buildings with various architectural details, such as arched windows and decorative facades, lining the Huangpu River on the near side. On the opposite bank, modern skyscrapers including the Oriental Pearl Tower with its distinctive spherical structures stand tall against the clear sky dotted with a few white clouds. The Huangpu River below has several cruise ships and cargo vessels moving slowly, their reflections glimmering on the water’s surface. Along the riverside promenade, pedestrians in casual and tourist - like attire stroll, some stopping to take photos of the scenic view. Sightseeing buses and private cars also move along the road adjacent to the buildings. The camera maintains a steady and smooth movement, panning slowly to capture the harmonious combination of historical architecture, modern skyline, and the bustling riverside activity.", "original_prompt_en": "The bund Shanghai, featuring a steady and smooth perspective"}
|
||||
{"index": 602, "data": "A racking focus shot of The Bund in Shanghai. The sky is clear and blue with a few white clouds drifting. In the foreground, the iconic European - style buildings of The Bund stand, their facades adorned with intricate carvings and in various colors like beige and white, with neatly arranged windows. As the focus shifts, the glistening Huangpu River comes into view, with several colorful cruise ships, some white and some red, either moored or sailing slowly on its surface. Then the focus moves to the bustling promenade, where pedestrians in diverse outfits, from casual wear to windbreakers, stroll leisurely or stop to take photos, capturing the vibrant scene of The Bund that combines historical architecture, the flowing river, and lively human activity.", "original_prompt_en": "The bund Shanghai, racking focus"}
|
||||
{"index": 603, "data": "Super slow - motion long shot. A gray shark with a sleek, streamlined body and a pointed dorsal fin is swimming in the deep blue ocean. The ocean water is clear, with some small, silvery fish darting around and delicate seaweed gently swaying in the water current. The shark’s tail fin moves slowly from side to side, and its pectoral fins glide smoothly through the water as it progresses forward. The camera remains fixed, capturing every subtle movement of the shark in this slowed - down sequence, while the vast, blue expanse of the ocean stretches out in the background, with light shimmering on the water’s surface.", "original_prompt_en": "a shark is swimming in the ocean, in super slow motion"}
|
||||
{"index": 604, "data": "A long shot captures a gray shark with a streamlined body swimming in the deep - blue ocean. Its tail sways rhythmically from side to side, and its dorsal fin slices through the water, creating subtle ripples. The ocean water is a rich blue, with sunlight filtering down from the surface, and some floating seaweed can be seen in the background. The camera zooms in, gradually bringing the shark into a closer view, capturing the texture of its rough skin and the gentle movement of its gills as it propels itself forward with steady and powerful strokes.", "original_prompt_en": "a shark is swimming in the ocean, zoom in"}
|
||||
{"index": 605, "data": "A medium shot captures a gray shark with a sleek, streamlined body swimming in the deep blue ocean. Its tail fin undulates rhythmically, propelling it forward through the water that shimmers with light reflections and has faint traces of floating seaweed. As the camera zooms out, the shark becomes a smaller figure against the vast expanse of the ocean, revealing the broader marine environment with gentle water currents and the distant, misty horizon where the sea meets the sky.", "original_prompt_en": "a shark is swimming in the ocean, zoom out"}
|
||||
{"index": 606, "data": "[A medium shot captures a gray shark with a streamlined body and a prominent dorsal fin swimming in the deep blue ocean. Its tail fin sways rhythmically, propelling it forward with smooth, fluid motions. The ocean water is a rich, deep blue, with faint beams of sunlight filtering through from the surface, casting dappled light on the shark’s scales. Subtle hints of underwater vegetation can be seen swaying gently in the background. The shark swims steadily toward the left of the frame, and the camera pans left to follow its movement, capturing the graceful, powerful motion of its body cutting through the water.\n]", "original_prompt_en": "a shark is swimming in the ocean, pan left"}
|
||||
{"index": 607, "data": "A medium shot captures a gray shark with a sleek, streamlined body swimming in the deep turquoise ocean. Its dorsal fin slices through the water’s surface, and its powerful tail undulates rhythmically, propelling it forward with smooth, fluid motions. The surrounding ocean is filled with faint sunlit water columns, and small silver fish dart in the distance, their scales glinting under the filtered sunlight from above. As the shark swims steadily toward the right of the frame, the camera pans right, following its graceful movement and capturing the gentle ripples and bubbles trailing behind it.", "original_prompt_en": "a shark is swimming in the ocean, pan right"}
|
||||
{"index": 608, "data": "A medium long shot captures a gray shark with a streamlined body and a sharp dorsal fin swimming gracefully in the deep blue ocean. The water, tinted turquoise near the surface, reveals faint coral reefs and small silver fish darting in the background. As the shark moves forward with rhythmic tail strokes, the camera tilts up, revealing the calm ocean surface with gentle ripples and an overcast sky, where a few seagulls glide in the distance.", "original_prompt_en": "a shark is swimming in the ocean, tilt up"}
|
||||
{"index": 609, "data": "Medium full shot with a tilt - down movement captures a gray shark with a streamlined body swimming gracefully in the deep blue ocean. The shark’s tail fin sways rhythmically as it moves, and its dorsal fin cuts through the water surface. Within the ocean, some light - colored aquatic plants drift gently in the water column, and sunlight filters through the water, creating a shimmering effect. The camera executes a tilt - down movement, initially framing the upper part of the shark and then gradually lowering to reveal the shark’s full body as it navigates through the ocean depths.", "original_prompt_en": "a shark is swimming in the ocean, tilt down"}
|
||||
{"index": 610, "data": "A medium shot captures a gray shark with a streamlined body and a prominent dorsal fin swimming in the deep blue ocean. The surrounding water holds faint shadows of swaying seaweed and a few small, darting fish. The shark propels forward, its tail swaying rhythmically, while an intense shaking effect ripples through the scene—making the entire frame quiver, as if the camera is buffeted by strong underwater currents. The shark continues its steady, fluid motion, cutting through the water, with the shaking persisting to amplify the ocean’s turbulence.", "original_prompt_en": "a shark is swimming in the ocean, with an intense shaking effect"}
|
||||
{"index": 611, "data": "A medium long shot captures a gray shark with a sleek, streamlined body and a prominent dorsal fin swimming in the deep blue ocean. The water is clear, with sunlight filtering through the surface, casting dappled light on the shark’s scales. In the background, faint silhouettes of coral reefs and small schools of fish dart around. The shark moves forward with steady, smooth motions, its tail fin undulating rhythmically, while the camera maintains a consistent perspective, following the shark’s graceful journey through the ocean.", "original_prompt_en": "a shark is swimming in the ocean, featuring a steady and smooth perspective"}
|
||||
{"index": 612, "data": "A medium long shot captures a gray shark with a streamlined body and a sharp dorsal fin swimming gracefully in the deep blue ocean. The background reveals faint silhouettes of colorful coral reefs and small fish darting about. Employing a racking focus technique, the camera shifts focus between the shark and the surrounding marine life, capturing the shark’s smooth, undulating movements as it glides through the water, its tail fin swaying rhythmically to propel itself forward.", "original_prompt_en": "a shark is swimming in the ocean, racking focus"}
|
||||
{"index": 613, "data": "Super slow - motion medium close - up shot captures a giant panda with its iconic black - and - white fur seated at a wooden table in a charming Parisian café. The café’s interior boasts warm, yellow lighting, neatly arranged chairs with plush cushions, and walls decorated with impressionist - style paintings. The panda, with a relaxed posture, holds a small, white coffee cup in its paw, the super slow - motion effect elongating its gentle sipping motion—any coffee droplets or the liquid’s flow appear in a delicate, stretched manner. Around the panda, a few human customers in casual clothing engage in quiet conversation, and a sleek, black coffee machine with silver accents rests on the countertop. The panda’s deliberate, slow movements as it enjoys the coffee emphasize the surreal yet endearing scene of a panda partaking in a coffee - drinking ritual in the heart of Paris.", "original_prompt_en": "A panda drinking coffee in a cafe in Paris, in super slow motion"}
|
||||
{"index": 614, "data": "A medium shot captures a giant panda with black - and - white fur sitting at a wooden table in a cozy Parisian café. The café is filled with warm yellow light, and there are vintage - style wooden chairs and tables around. A few Parisian patrons in casual clothes are chatting in the background. The panda holds a white ceramic coffee cup with a rich brown liquid inside and gently sips the coffee in a relaxed posture. Its round black ears and distinctive black eye patches are clearly visible, and its fluffy fur looks soft. The background also has a French - themed poster on the wall and a window that offers a glimpse of the Parisian street outside. Then the camera zooms in, focusing on the panda’s hands holding the cup and its face as it enjoys the coffee, highlighting the contrast between the panda’s unique appearance and the typical café setting.", "original_prompt_en": "A panda drinking coffee in a cafe in Paris, zoom in"}
|
||||
{"index": 615, "data": "Wide shot captures a giant panda with distinctive black - and - white fur seated at a wooden table in a charming Parisian café. The panda, with its round black ears and signature black eye - patches, holds a white ceramic coffee cup with both front paws, leisurely sipping the coffee. The café’s interior is warm and inviting, with soft yellow lighting, wooden chairs with elegant curves, and framed impressionist artworks on the walls. Through the café’s large glass windows, the bustling Parisian street outside is visible—cobblestone pavement, pedestrians in fashionable outfits walking by, and classic French buildings with wrought - iron balconies and green shutters lining the street. As the camera zooms out, it reveals the café’s full cozy setup, the adjacent street corner with a quaint boulangerie, and the distant outline of the Eiffel Tower against the clear sky, highlighting the surreal yet charming scene of a panda enjoying coffee in the city of Paris.", "original_prompt_en": "A panda drinking coffee in a cafe in Paris, zoom out"}
|
||||
{"index": 616, "data": "The sky is softly overcast, casting a gentle light over the scene. A medium shot captures a giant panda with striking black - and - white fur, seated at a wooden table in a charming Parisian café. The café’s interior boasts classic French touches: wrought - iron furniture, a marble counter, and vintage Paris posters on the walls. The panda holds a white ceramic coffee cup with its black paws, sipping the dark coffee slowly, its round black eyes focused on the drink. Outside the large windows, Paris’s cobblestone streets and pastel - colored buildings are visible. As the camera pans left, it reveals more of the café: a barista in a striped apron working behind the counter, and other patrons (humans and a few whimsical creatures) chatting. The panda continues to enjoy its coffee, occasionally glancing up, while the camera’s leftward movement showcases the café’s cozy ambiance and the panda’s endearing presence in this Parisian scene.", "original_prompt_en": "A panda drinking coffee in a cafe in Paris, pan left"}
|
||||
{"index": 617, "data": "Medium shot of a panda with black - and - white fur drinking coffee in a cozy Parisian café. The panda, seated at a wooden table, holds a white ceramic cup filled with brown coffee and sips it gently. The café is decorated with warm - colored lights, wooden chairs, and French - style wall art in the background. The camera pans right, revealing more of the café's interior, including a small potted plant, and a glimpse of the Parisian street outside with a few pedestrians and bicycles. The panda continues to drink, its relaxed posture highlighted against the charming café ambiance.", "original_prompt_en": "A panda drinking coffee in a cafe in Paris, pan right"}
|
||||
{"index": 618, "data": "A medium shot (tilt up) captures a giant panda with black - and - white fur and a plump figure sitting at a wooden table in a cozy Parisian café. The panda holds a white ceramic coffee cup with a delicate handle in its paw, sipping the dark - brown coffee slowly. The café’s interior is decorated with vintage floral - patterned wallpaper, and soft yellow light from pendant lamps fills the space. A small window beside the panda reveals the Paris street outside, with cobblestone roads and elegant buildings. As the camera tilts up, it shows the panda’s relaxed posture, its black ears standing upright, and the café’s ceiling with exposed wooden beams. The panda keeps drinking the coffee, occasionally pausing to glance around the charming café.", "original_prompt_en": "A panda drinking coffee in a cafe in Paris, tilt up"}
|
||||
{"index": 619, "data": "A tilt down shot captures a panda with distinctive black - and - white fur and a plump body seated on a wooden chair in a charming cafe in Paris. The cafe is adorned with warm - yellow pendant lights, rustic wooden tables and chairs, and framed paintings of Parisian streets on the walls. The panda, using its right paw to hold a white ceramic coffee cup filled with rich, dark - brown coffee, is gently sipping the beverage. To the panda's left, a pair of human patrons are engaged in lively conversation, and the background reveals a bar counter lined with aromatic coffee beans and a sleek silver espresso machine. As the camera tilts down, it reveals the panda's black - hued, furry feet resting on the light - colored, polished wooden floor, while through the cafe's window, the faint outline of the Eiffel Tower stands against the clear blue sky, adding a touch of Parisian charm to the scene.", "original_prompt_en": "A panda drinking coffee in a cafe in Paris, tilt down"}
|
||||
{"index": 620, "data": "A medium shot (with an intense shaking effect) captures a giant panda with distinctive black - and - white fur sitting in a cozy Parisian café. The panda, with its round black ears and eye patches, is holding a white ceramic coffee cup with both paws, gently sipping the coffee inside. The café’s interior has warm wooden furniture, soft yellow lighting, and French - style decor like paintings on the walls and a small potted plant on the table beside the panda. Outside the café window, the iconic Parisian streetscape with cobblestone roads and ornate street lamps is faintly visible through the glass. Throughout the scene, an intense shaking effect creates a sense of visual instability, as if the camera or the environment is trembling vigorously.", "original_prompt_en": "A panda drinking coffee in a cafe in Paris, with an intense shaking effect"}
|
||||
{"index": 621, "data": "A medium shot with a steady and smooth perspective captures a giant panda with black - and - white fur, a round and plump body, and distinct black eye patches, sitting leisurely on a wooden chair in a cozy Parisian café. The panda holds a delicate white coffee cup with its paw, sipping the dark brown coffee, and a wisp of steam is rising from the cup. The interior of the café is warm - toned, with vintage wooden tables, soft yellow lighting, and Impressionist - style paintings adorning the walls. Outside the large glass windows, Parisian streets with pedestrians and the faint silhouette of the Eiffel Tower can be seen. The camera, maintaining a steady and smooth perspective, smoothly follows the panda's relaxed posture as it enjoys the coffee, while other patrons in the café are either chatting or reading, creating a tranquil and whimsical Parisian café scene.", "original_prompt_en": "A panda drinking coffee in a cafe in Paris, featuring a steady and smooth perspective"}
|
||||
{"index": 622, "data": "A medium shot with rack focus captures a giant panda with distinctive black - and - white fur sitting at a wooden table in a cozy Parisian café. The panda holds a white ceramic cup filled with brown coffee, sipping the coffee gently. The café’s interior is decorated with vintage French posters on the walls, and through the large window, the iconic silhouette of the Eiffel Tower in the Parisian streetscape can be seen. As the rack focus shifts, the initial sharp focus on the panda’s face transitions to highlight the brown coffee in the cup, and then to the blurred Parisian street outside the window, emphasizing the whimsical scene of a panda drinking coffee in a Parisian café.", "original_prompt_en": "A panda drinking coffee in a cafe in Paris, racking focus"}
|
||||
{"index": 623, "data": "A medium long shot captures a cute, happy Welsh Corgi with light - brown fur and white chest markings playing in a park at sunset, filmed in super slow motion. The Corgi, with its short legs and a fluffy tail wagging enthusiastically, bounds across the lush green grass. It occasionally pauses to sniff the ground or chase a dandelion seed floating in the air. Its ears flop gently with each movement, and its tongue lolls out in joyful excitement. The background features a serene park: tall trees with leaves gilded by the setting sun, a wooden bench partially visible, and a sky ablaze with warm orange and pink hues as the sun dips low, casting soft, elongated shadows. In super slow motion, details like the Corgi’s fur rippling, its tail’s gentle arc, and its paws’ delicate press into the grass are vividly highlighted. The fixed camera captures the Corgi’s playful antics against the picturesque sunset backdrop, emphasizing the relaxed and joyful atmosphere of the scene.", "original_prompt_en": "A cute happy Corgi playing in park, sunset, in super slow motion"}
|
||||
{"index": 624, "data": "A medium shot captures a cute, happy Corgi with short, fluffy tricolor fur (brown, white, and black) playing energetically in a park during sunset. The sky is ablaze with warm oranges, pinks, and purples, casting a golden glow over the green grass dotted with fallen leaves. In the background, a wooden bench sits near a cluster of trees with branches swaying gently in the evening breeze. The Corgi, with its short legs bounding and fluffy tail wagging enthusiastically, chases a small, red ball or frolics freely, its mouth open in a joyful pant, ears perked, and eyes shining with excitement. As the camera zooms in, it focuses on the Corgi’s delighted expression, highlighting its playful demeanor against the backdrop of the glowing sunset.", "original_prompt_en": "A cute happy Corgi playing in park, sunset, zoom in"}
|
||||
{"index": 625, "data": "A long shot (with a zoom - out) captures a cute, happy Corgi playing in a park during sunset. The Corgi has a short, fluffy coat with white and light - brown fur, its ears perked up and its stubby tail wiggling as it frolics on the green grass. The park is dotted with scattered trees, a few benches, and a small playground, all bathed in the warm, orange - hued light of the sunset. The sky is painted with a beautiful gradient of orange, pink, and purple as the sun sets, casting long shadows on the ground. As the camera zooms out, it reveals a wider view of the park, with a few other people either enjoying the sunset or walking their pets, and the distant horizon where the sun is partially hidden behind low - lying clouds.", "original_prompt_en": "A cute happy Corgi playing in park, sunset, zoom out"}
|
||||
{"index": 626, "data": "The sun is setting, painting the sky with warm orange and pink hues. A medium full shot captures a cute, happy Corgi with fluffy brown and white fur—its bushy tail wagging enthusiastically, ears perked up—playing in a lush park. The Corgi frolics on the green grass, chasing a fallen leaf, sniffing vibrant flower beds, and bounding toward a fluttering butterfly. The park’s backdrop features scattered trees with golden leaves, a small stone pathway, and blooming flowers glowing in the sunset’s golden light. The camera pans left, following the Corgi’s lively movements as it explores, occasionally pausing to nuzzle a daisy or chase a rolling acorn, while the serene sunset casts long shadows across the grass.", "original_prompt_en": "A cute happy Corgi playing in park, sunset, pan left"}
|
||||
{"index": 627, "data": "The sun is setting, casting a warm orange glow across the sky. A medium full shot captures a cute, happy Corgi with short brown and white fur playing in a park. The Corgi has perked ears, a wagging tail, and is joyfully running and jumping on the green grass, chasing a small ball. The park is filled with tall trees, colorful flowers, and a few benches scattered around. As the Corgi moves to the right of the frame, the camera pans right to follow its playful movements, capturing the serene sunset backdrop with soft light illuminating the scene.", "original_prompt_en": "A cute happy Corgi playing in park, sunset, pan right"}
|
||||
{"index": 628, "data": "A tilt - up shot captures a cute and happy Corgi with short, fluffy brown - and - white fur playing in a park. The Corgi has a cheerful expression, its short legs moving briskly as it frolics on the green grass dotted with tiny flowers. The background shows a park scene with tall trees casting long shadows, and the sky is painted with warm orange and pink hues from the setting sun, with a few scattered clouds glowing softly. As the camera tilts up, it first focuses on the Corgi’s playful movements and then gradually reveals the beautiful sunset - lit sky above the park.", "original_prompt_en": "A cute happy Corgi playing in park, sunset, tilt up"}
|
||||
{"index": 629, "data": "A medium - long shot captures a cute and happy Corgi with short legs, a fluffy coat in white and brown, and a stumpy tail playing in the park. The Corgi bounces on the lush green grass, occasionally wagging its short tail and seemingly holding a fallen leaf in its mouth. The background shows a sky dyed warm orange - red by the sunset. In the park, trees cast long shadows, there are wooden benches, and some wildflowers are scattered in the distance. The camera tilts down, following the Corgi's movements. It slowly pans from the Corgi's cheerful face down to its nimble legs, showing the Corgi nimbly moving across the grass under the golden glow of the sunset.", "original_prompt_en": "A cute happy Corgi playing in park, sunset, tilt down"}
|
||||
{"index": 630, "data": "The sky glows with warm orange and pink hues at sunset. A medium shot, featuring an intense shaking effect, captures a cute, happy Corgi with short, fluffy fur playing in a park. The park’s background includes lush green grass, scattered trees with leaves tinted golden by the sunset, and a pathway adorned with blooming flowers. The Corgi, with its characteristic short legs and a wildly wagging tail, joyfully frolics—running in circles, chasing a fluttering leaf, or pausing to nuzzle the grass—while the intense shaking effect amplifies the lively, energetic atmosphere. The sunset casts long, soft shadows on the ground, and gentle breezes rustle the tree branches, complementing the Corgi’s playful movements in this vibrant, shaking scene.", "original_prompt_en": "A cute happy Corgi playing in park, sunset, with an intense shaking effect"}
|
||||
{"index": 631, "data": "A medium shot with a steady and smooth perspective captures a cute, happy Corgi with short, fluffy white - and - brown fur (its stumpy tail wagging excitedly) playing in a park during sunset. The Corgi frolics on the lush green grass, leaping to chase a floating dandelion seed or bounding after its own shadow, with its ears perked and eyes bright with joy. The background reveals a park bathed in the warm glow of the setting sun: tall trees with golden - tinged leaves stand against a sky painted in vibrant oranges and soft pinks, while a few scattered clouds glow like embers. The camera follows the Corgi’s playful movements smoothly, maintaining a steady perspective as the dog trots toward the left of the frame, then turns to dash back, its short legs carrying it quickly across the grass, and the sunset casts a golden hue over the entire scene.", "original_prompt_en": "A cute happy Corgi playing in park, sunset, featuring a steady and smooth perspective"}
|
||||
{"index": 632, "data": "A medium shot with racking focus captures a cute, happy Corgi—with short stubby legs, a fluffy white - and - brown coat, and perked - up ears—playing in a park. The Corgi bounds across a grassy area dotted with dandelions, its mouth open in a joyful grin as it chases a butterfly. The background features a park landscape: tall oak trees with golden leaves, a winding path, and a sunset sky ablaze with warm amber and lavender hues. The camera’s focus racks: initially sharp on the Corgi as it leaps and twists, then shifting to the glowing sunset behind the trees (where the sun dips below the horizon), before refocusing on the Corgi as it sits, wagging its thick tail and panting lightly at the camera.", "original_prompt_en": "A cute happy Corgi playing in park, sunset, racking focus"}
|
||||
{"index": 633, "data": "A medium close - up shot in super slow motion captures Gwen Stacy. She has long blonde hair and is dressed in her classic white - blue outfit. Seated, she holds an open book with dark covers, her eyes intently fixed on the pages. In the super slow motion, the gentle movement of her fingers resting on the book or the slight shift of her posture is exaggeratedly slow, emphasizing the tranquil, drawn - out nature of her reading. The background is a softly lit room with light - colored walls, and a few subtle decorations add to the scene’s ambiance.", "original_prompt_en": "Gwen Stacy reading a book, in super slow motion"}
|
||||
{"index": 634, "data": "A medium close - up shot captures Gwen Stacy, with her long blonde hair cascading over her shoulders and dressed in a blue - and - white striped dress, sitting upright and engrossed in reading a book with a dark - colored cover that has golden text on it. The background shows a cozy room with a window letting in soft light, a wooden bookshelf filled with various volumes, and a plush armchair beside her. As the camera zooms in, it focuses more closely on her concentrated expression and the intricate details of the book's pages, highlighting her gentle finger movements as she turns the pages.", "original_prompt_en": "Gwen Stacy reading a book, zoom in"}
|
||||
{"index": 635, "data": "Medium shot initially captures Gwen Stacy, a young woman with long blonde hair, seated and engrossed in reading a book with a brown cover. She wears a blue plaid shirt and denim jeans, her eyes focused on the pages. The background reveals a cozy room: a beige armchair, a small wooden side table with a white lamp, and a window with white curtains filtering soft natural light. As the camera zooms out, more of the room unfolds: a patterned rug on the wooden floor, a bookshelf brimming with books against the wall, and a potted plant in the corner. Gwen remains absorbed in her reading, posture relaxed, while the zoom - out expands the view to showcase the warm, inviting interior, including a framed poster on the wall and a plush throw blanket draped over the armchair.", "original_prompt_en": "Gwen Stacy reading a book, zoom out"}
|
||||
{"index": 636, "data": "Medium shot of Gwen Stacy reading a book. She has long blonde hair and wears a blue dress with white polka dots, seated on a wooden chair with a plush cushion. The book in her hands features a dark cover with golden lettering. The background reveals a cozy room with bookshelves filled with various books, a window with white curtains letting in soft light, and a small potted plant on a side table. The camera pans left, following her gentle head movements as she reads, revealing more of the room’s decor, including a framed artwork on the wall and a stack of magazines beneath the table, while she remains engrossed in her reading.", "original_prompt_en": "Gwen Stacy reading a book, pan left"}
|
||||
{"index": 637, "data": "A medium shot captures Gwen Stacy, a young woman with long wavy blonde hair, seated in a cozy armchair as she reads a book with a dark green cover. She wears a white blouse and a blue plaid skirt, her expression focused as she traces the text with her finger. The background features a sunlit room with wooden bookshelves filled with colorful books, a window with sheer curtains, and a small table holding a steaming cup of coffee and a vase of white flowers. The camera pans right, slowly revealing more of the room—including a potted fern on the windowsill and a framed painting on the wall—while Gwen remains absorbed in her reading, occasionally turning a page with a gentle flick of her wrist.", "original_prompt_en": "Gwen Stacy reading a book, pan right"}
|
||||
{"index": 638, "data": "A medium close - up shot captures Gwen Stacy, a young woman with blonde hair, dressed in a casual outfit, sitting in a quiet room. She holds a book open, her eyes fixed on the pages, deeply engrossed in reading. The background features a wall with framed pictures and a soft - lit lamp. Then, the camera tilts up, slowly moving upward to reveal the upper part of the book, the ceiling with a simple design, and a small window showing a glimpse of the overcast sky. Gwen remains focused on her reading, her fingers occasionally brushing against the book's edges as she continues to absorb the words.", "original_prompt_en": "Gwen Stacy reading a book, tilt up"}
|
||||
{"index": 639, "data": "A medium shot captures Gwen Stacy, a young woman with shoulder - length blonde hair, engrossed in reading a book. She is dressed in a white button - down shirt and dark blue jeans, holding the book with both hands, her eyes scanning the text intently. The background features a softly lit room with a wooden bookshelf filled with various books and a potted plant with green leaves. As the camera tilts down, it reveals her black leather shoes resting on a light brown carpet with a subtle geometric pattern, and the lower part of her jeans, which have a slight crease at the knees.", "original_prompt_en": "Gwen Stacy reading a book, tilt down"}
|
||||
{"index": 640, "data": "A medium shot captures Gwen Stacy, with her blonde hair flowing, intently reading a book with a dark - colored cover. She is dressed in a white blouse, and her eyes are fixed on the pages. Throughout the scene, an intense shaking effect is applied, making the entire frame, including Gwen and the book she holds, tremble vigorously. The background reveals a cozy room with wooden bookshelves filled with various books, and soft light filters through a window with white curtains, casting gentle shadows on the floor.", "original_prompt_en": "Gwen Stacy reading a book, with an intense shaking effect"}
|
||||
{"index": 641, "data": "A medium shot with a steady, smooth perspective captures Gwen Stacy engrossed in reading a book. She has shoulder - length blonde hair and is dressed in a white - collared blue dress. Seated on a wooden chair with a cushioned seat, she holds the book with both hands, her eyes moving across the pages. The background reveals a sun - lit room with a large window adorned with white curtains, through which soft light streams in, casting gentle shadows on the light - colored carpeted floor. A small potted plant with green leaves sits on the wooden side table beside her, and a few framed pictures hang on the light - colored wall. The camera maintains a steady, smooth perspective, following her subtle movements as she reads, creating a calm and focused atmosphere.", "original_prompt_en": "Gwen Stacy reading a book, featuring a steady and smooth perspective"}
|
||||
{"index": 642, "data": "Medium shot of Gwen Stacy, with long blonde hair and a concentrated expression, seated and reading a book with a dark embossed cover. She wears a white blouse, and the background features a sunlit room with wooden bookshelves lined with colorful volumes and a potted plant on a side table. The rack focus effect is applied: initially, Gwen’s face is sharply in focus, then the focus shifts to the book’s pages, revealing fine printed text, before refocusing on her as she gently turns a page, her eyes scanning the words with intent.", "original_prompt_en": "Gwen Stacy reading a book, racking focus"}
|
||||
{"index": 643, "data": "The sky is clear. A long shot captures a white leisure boat sailing leisurely along the Seine River, with the iconic Eiffel Tower standing tall in the background. In super slow motion, the boat glides smoothly over the calm, rippling water, its hull reflecting the soft sunlight. The riverbanks are lined with charming Parisian buildings, their facades adding a picturesque touch to the scene. The camera remains steady, focusing on the boat as it moves gently, emphasizing the tranquil and graceful motion enhanced by the super - slow - motion effect.", "original_prompt_en": "A boat sailing leisurely along the Seine River with the Eiffel Tower in background, in super slow motion"}
|
||||
{"index": 644, "data": "A medium long shot captures a sleek, white tourist boat sailing leisurely along the calm, turquoise waters of the Seine River. The iconic Eiffel Tower, with its intricate iron lattice structure glistening under an overcast sky, stands majestically in the background, framed by quaint stone buildings and leafy trees lining the riverbanks. The river’s surface ripples gently as the boat glides, creating soft reflections. As the camera zooms in, it brings the boat and the Eiffel Tower into sharper focus, highlighting the boat’s leisurely movement and the tower’s towering, intricate details against the overcast sky. The boat continues its slow, graceful journey along the river, with the Eiffel Tower’s silhouette becoming more prominent as the zoom - in progresses.", "original_prompt_en": "A boat sailing leisurely along the Seine River with the Eiffel Tower in background, zoom in"}
|
||||
{"index": 645, "data": "A zoom - out shot captures a boat sailing leisurely along the Seine River, gliding smoothly on the calm water surface with faint ripples spreading out. In the background, the iconic Eiffel Tower, with its intricate iron - lattice structure, stands tall, its silhouette distinct against the sky. As the camera zooms out, more of the Seine River’s scenic surroundings are revealed: the riverbanks are lined with old - style stone buildings with warm - hued facades, and lush green trees sway gently by the water, adding a touch of natural beauty to the urban landscape.", "original_prompt_en": "A boat sailing leisurely along the Seine River with the Eiffel Tower in background, zoom out"}
|
||||
{"index": 646, "data": "The sky is clear with a few wispy white clouds. A medium - long shot captures a sleek white tourist boat with a blue stripe along its hull sailing leisurely on the calm, silver - hued waters of the Seine River. In the background, the iconic Eiffel Tower, with its distinctive iron lattice structure and pointed peak, stands tall against the bright sky. The riverbanks are lined with elegant stone buildings and lush green trees, their reflections rippling on the water's surface. As the boat glides smoothly forward, the camera pans left, following its movement and revealing more of the picturesque river scenery, including other small boats bobbing gently and the distant outline of Parisian landmarks emerging on the horizon.", "original_prompt_en": "A boat sailing leisurely along the Seine River with the Eiffel Tower in background, pan left"}
|
||||
{"index": 647, "data": "A medium shot captures a white - painted leisure boat sailing leisurely along the calm, turquoise - hued Seine River. The boat's bow gently cuts through the water, creating faint ripples. A few passengers can be seen on the deck: some are leaning against the railing, while others are seated, all immersed in the beautiful scenery. In the background, the iconic Eiffel Tower stands tall, its iron lattice structure glinting under a partly cloudy sky, with patches of blue peeking through the clouds. The riverbanks are lined with historic stone buildings, their ornate facades reflecting in the water, and lush green trees swaying gently in the breeze. The camera pans right, following the boat's peaceful journey and revealing more of the picturesque riverfront, including quaint stone bridges, bustling riverside promenades, and charming cafes where people gather to watch the passing vessels.", "original_prompt_en": "A boat sailing leisurely along the Seine River with the Eiffel Tower in background, pan right"}
|
||||
{"index": 648, "data": "A tilt - up shot captures a boat with a sleek hull sailing leisurely along the Seine River, its hull gently moving through the calm and reflective water. In the background, the iconic Eiffel Tower, with its distinctive iron - lattice structure, stands tall against a pale blue sky dotted with wispy white clouds. As the camera tilts up, it reveals more of the tower’s upper sections and the expansive sky, emphasizing the serene journey of the boat on the river with the magnificent Eiffel Tower as a backdrop.", "original_prompt_en": "A boat sailing leisurely along the Seine River with the Eiffel Tower in background, tilt up"}
|
||||
{"index": 649, "data": "Long shot—clear blue sky overhead. A white sailboat with a sleek blue hull glides leisurely along the calm, sun - dappled Seine River, its bow cutting through the water to create soft ripples. In the background, the iconic Eiffel Tower rises majestically, its intricate iron framework catching the sunlight. The riverbanks are lined with historic stone buildings, their facades adorned with arched windows and green - shuttered balconies, while a few pedestrians stroll along the tree - lined promenade. The camera tilts down from the Eiffel Tower’s silhouette, slowly revealing the boat as it drifts serenely, with the city’s charming architecture framing the scene.", "original_prompt_en": "A boat sailing leisurely along the Seine River with the Eiffel Tower in background, tilt down"}
|
||||
{"index": 650, "data": "Long shot of a white leisure boat sailing leisurely along the Seine River, with the iconic Eiffel Tower, its iron - lattice structure distinct, standing tall in the background against a blue sky dotted with white clouds. The Seine’s surface ripples gently, and an intense shaking effect permeates the scene, as if the camera trembles, imbuing the tranquil river view with a dynamic, unstable touch.", "original_prompt_en": "A boat sailing leisurely along the Seine River with the Eiffel Tower in background, with an intense shaking effect"}
|
||||
{"index": 651, "data": "Panoramic shot of a white leisure boat with a polished hull sailing leisurely along the calm, glistening Seine River. The Eiffel Tower, with its iconic iron lattice structure, stands majestically in the background, silhouetted against a clear blue sky with a few wispy clouds. The river’s surface is smooth, reflecting the tower’s outline and the surrounding historic stone buildings lined with lush green trees. The camera maintains a steady and smooth perspective, capturing the boat’s gentle glide as it moves past the picturesque riverbanks, with the tower’s intricate design adding a touch of grandeur to the serene scene.", "original_prompt_en": "A boat sailing leisurely along the Seine River with the Eiffel Tower in background, featuring a steady and smooth perspective"}
|
||||
{"index": 652, "data": "A medium long shot captures a sleek white boat sailing leisurely along the calm, shimmering Seine River, its hull gently cutting through the water and creating faint, silvery ripples. In the background, the iconic Eiffel Tower—with its intricate iron latticework and a warm, golden - brown sheen—rises majestically against a pale blue sky dotted with soft, wispy clouds. The camera utilizes a racking focus technique: initially, the boat is in sharp focus, emphasizing its smooth, relaxed movement, while the Eiffel Tower appears softly blurred. Gradually, the focus shifts, blurring the boat to bring the tower’s detailed architecture into crisp clarity, showcasing its towering structure and the subtle play of light on its metal surfaces. The riverbanks are lined with elegant stone buildings and lush green trees, enhancing the picturesque Parisian ambiance.", "original_prompt_en": "A boat sailing leisurely along the Seine River with the Eiffel Tower in background, racking focus"}
|
||||
{"index": 653, "data": "Super slow - motion medium shot captures a couple dressed in elegant formal evening wear — the man in a tailored black tuxedo with a crisp white shirt and bow - tie, the woman in a flowing navy evening gown adorned with delicate lace trims — as they make their way home. They are caught in a heavy downpour, holding black umbrellas that tilt slightly under the force of the rain, with raindrops suspended in mid - air like glistening pearls due to the slow - motion effect. The background reveals a dimly lit city street at night, with street lamps casting warm, blurry halos through the rain, and tall buildings with glowing windows lining the sidewalk. The couple’s hair is slightly damp at the edges, and their shoes splash through the puddles forming on the pavement as they walk, the camera maintaining a steady focus on their slow, deliberate movements amidst the cascading rain.", "original_prompt_en": "A couple in formal evening wear going home get caught in a heavy downpour with umbrellas, in super slow motion"}
|
||||
{"index": 654, "data": "A medium shot (then zoom in) captures a couple in elegant formal evening wear — the man in a black tuxedo with a bow - tie, the woman in a floor - length, glossy dark - colored gown — heading home. They are caught in a heavy downpour, each holding a black umbrella with curved handles. The ground is wet and reflective, with raindrops splashing forcefully. The background shows a nighttime city street, where streetlights cast hazy halos through the rain, and the sky is covered with dark, overcast clouds. As the camera zooms in, it focuses on their hurried steps and slightly anxious expressions: the man holds the umbrella over the woman protectively, while the woman clutches her gown to keep it from getting soaked, both hastening their pace in the torrential rain.", "original_prompt_en": "A couple in formal evening wear going home get caught in a heavy downpour with umbrellas, zoom in"}
|
||||
{"index": 655, "data": "A zoom - out shot captures a couple dressed in elegant formal evening wear—the man in a sleek black tuxedo with a crisp white shirt and a bow - tie, the woman in a flowing, floor - length gown of deep navy blue—on their way home, caught in a heavy downpour. They each hold a black umbrella with silver trim, struggling slightly against the wind as thick, relentless raindrops batter the umbrellas and splash onto the wet, glistening pavement. The background reveals a city street lined with tall, dimly lit buildings, their windows reflecting the rain’s sheen, and street lamps casting hazy halos through the storm. As the camera zooms out, the couple becomes a small figure amidst the vast, rain - soaked urban landscape, with puddles forming rapidly on the road and a few distant cars with headlights on, navigating the stormy streets.", "original_prompt_en": "A couple in formal evening wear going home get caught in a heavy downpour with umbrellas, zoom out"}
|
||||
{"index": 656, "data": "The sky is overcast, and a heavy downpour suddenly unleashes. A medium full shot captures a couple in formal evening wear—the man in a sleek black tuxedo with a crisp white shirt and black bow tie, the woman in a flowing, floor - length gown (with intricate beading that glimmers faintly through the rain)—hurrying home, each gripping a black umbrella with silver accents, though raindrops still splatter their elegant hems. They walk arm - in - arm along a wet, glistening city street at night, where street lamps cast warm, blurry light on the rain - soaked pavement, and distant buildings with lit windows blur against the stormy sky. A few other pedestrians dash by, some huddling under awnings, others clutching small umbrellas. The camera pans left, following the couple as they navigate puddle - ridden sidewalks, their shoes squelching in the water, while the downpour relentlessly drenches the scene.", "original_prompt_en": "A couple in formal evening wear going home get caught in a heavy downpour with umbrellas, pan left"}
|
||||
{"index": 657, "data": "The sky is dark and overcast, unleashing a heavy downpour. A medium full shot captures a couple dressed in elegant formal evening wear—he in a tailored black tuxedo with a crisp white shirt, she in a flowing navy - blue gown with delicate lace details—hurrying home while clutching black umbrellas that struggle against the wind. The wet city street beneath them reflects the warm glow of streetlights, with vintage European - style buildings lining both sides, their shop windows emitting a cozy yellow light. Their formal attire is dampened by the rain; her gown’s hem and his trousers’ cuffs are speckled with water droplets, and the umbrella surfaces are slightly flipped by the gusts. The two walk side by side, their steps hasty yet striving to maintain grace. The camera pans right, following them through the rain curtain, as distant streets blur in the mist and a few cars splash through the water as they pass.", "original_prompt_en": "A couple in formal evening wear going home get caught in a heavy downpour with umbrellas, pan right"}
|
||||
{"index": 658, "data": "A medium full shot captures a couple dressed in elegant formal evening wear—the man in a sharp black tuxedo with a crisp white shirt and bow tie, the woman in a flowing dark - colored gown with delicate embroidery—hurrying home while caught in a heavy downpour. They each hold a black umbrella, with raindrops densely hitting the ground and splashing around them, creating small puddles that reflect the dim light of the street lamps. The background shows a dimly lit urban street with tall buildings standing silently, their outlines faintly visible in the rain. The camera tilts up, starting from the rain - soaked hems of their clothes and the rain - covered ground, slowly rising to frame their determined expressions and the overcast, rain - filled sky above, capturing their urgent rush against the storm.", "original_prompt_en": "A couple in formal evening wear going home get caught in a heavy downpour with umbrellas, tilt up"}
|
||||
{"index": 659, "data": "A medium full shot captures a couple dressed in elegant formal evening wear—the man in a black tuxedo with a crisp white dress shirt and bow tie, the woman in a floor - length satin gown adorned with delicate lace trims—making their way home. They are caught in a heavy downpour, where dense, steely - gray raindrops cascade like a curtain. Both clutch black umbrellas with curved wooden handles, attempting to shield themselves from the relentless rain. The woman huddles slightly closer to the man, the hem of her gown dampening at the edges, while the man adjusts his umbrella to better cover her. The background reveals a dimly lit city street, the wet pavement reflecting the warm glow of street lamps, and a few blurred buildings with glowing windows in the distance. The camera tilts down, shifting focus from their upper bodies to the wet ground beneath their feet—water splashes around the man’s polished black dress shoes and the woman’s high - heeled shoes, now glistening with rainwater.", "original_prompt_en": "A couple in formal evening wear going home get caught in a heavy downpour with umbrellas, tilt down"}
|
||||
{"index": 660, "data": "Medium full shot captures a couple in elegant formal evening wear—the man in a black tuxedo, the woman in a flowing evening gown—heading home, caught in a heavy downpour. They hold black umbrellas that strain against the gusty wind, with an intense shaking effect (as if the storm buffets the camera). The background shows a nocturnal street: rain pours down, forming puddles on the wet pavement that reflect the faint glow of street lamps. Rain - soaked buildings with lit windows loom in the distance, and raindrops streak the camera lens, enhancing the chaotic atmosphere. The couple, with damp hair and wet hems of their gowns, hurry forward, hunching against the rain, as the shaking effect persists, emphasizing the ferocity of the storm.", "original_prompt_en": "A couple in formal evening wear going home get caught in a heavy downpour with umbrellas, with an intense shaking effect"}
|
||||
{"index": 661, "data": "A medium shot with a steady and smooth perspective captures a couple in formal evening wear—the man in a black tailored tuxedo with a bow tie, the woman in a flowing dark - hued evening gown with delicate lace trims—heading home and caught in a heavy downpour. Each holds a black umbrella, yet the relentless rain still dampens the edges of their elegant outfits. The background shows a dimly lit urban street at night, with wet pavement reflecting streetlights and warm glows from nearby building windows. The camera maintains a steady, smooth follow - shot, gliding alongside them as they carefully navigate the rain - slicked road, steps slow to avoid slipping. The downpour’s roar and wet fabric rustles fill the scene, while distant car headlights pierce the rain, enhancing the atmospheric nighttime city setting.", "original_prompt_en": "A couple in formal evening wear going home get caught in a heavy downpour with umbrellas, featuring a steady and smooth perspective"}
|
||||
{"index": 662, "data": "A medium full shot captures a couple in formal evening wear—the man in a sleek black tuxedo paired with a crisp white dress shirt and a black bow tie, the woman in a floor - length navy - blue evening gown featuring delicate lace trimmings—getting caught in a heavy downpour as they head home. Each holds a black umbrella with a silver handle, trying to fend off the relentless rain. The backdrop is a dimly lit city street at night, where the wet pavement reflects the warm glow of street lamps, and faint silhouettes of tall buildings loom in the distance. The scene uses racking focus: at first, the couple’s resolute yet slightly disheveled postures are sharply focused, and then the focus shifts gently to the torrential rain, capturing the dense raindrops striking the umbrellas and the water splashing from the puddle - strewn ground.", "original_prompt_en": "A couple in formal evening wear going home get caught in a heavy downpour with umbrellas, racking focus"}
|
||||
{"index": 663, "data": "Super slow - motion long shot of an astronaut floating in space. The astronaut wears a white spacesuit with silver accents, and the transparent helmet reflects distant starlight. The background is the boundless, dark cosmos, dotted with twinkling stars and wispy nebulae. In super slow motion, the astronaut’s body drifts leisurely—limbs moving in an almost imperceptible, graceful rhythm, as if suspended in weightlessness. The spacesuit’s fabric and tubes shift subtly with each tiny motion. The camera holds steady, capturing every delicate movement, while the star - filled backdrop flows slowly in sync with the slowed - down action.", "original_prompt_en": "An astronaut flying in space, in super slow motion"}
|
||||
{"index": 664, "data": "A medium shot gradually zooms in to capture an astronaut floating in the vast, dark expanse of space. The astronaut is clad in a pristine white spacesuit with a reflective visor, which faintly mirrors the twinkling stars and nebulous clouds scattered across the cosmic backdrop. Their body slowly rotates, hands gently grasping the suit’s handles as they drift weightlessly—every movement emphasizing the serene, gravity - free environment of space. The background is a boundless canvas of inky blackness, dotted with distant, shimmering stars and wispy, colorful nebulae that stretch into the infinite distance.", "original_prompt_en": "An astronaut flying in space, zoom in"}
|
||||
{"index": 665, "data": "A zoom - out shot captures an astronaut flying in space. The astronaut is dressed in a silvery - white spacesuit, with the helmet reflecting faint starlight. He (or she) floats in a relaxed posture, limbs gently moving to control the direction. The background is the profound black universe, dotted with countless twinkling stars like scattered diamonds, and a hazy nebula or the outline of a blue planet can be seen in the distance. As the camera slowly zooms out, the astronaut appears tiny yet distinct against the vast expanse of space, and more details of the space environment, such as additional celestial bodies and cosmic dust, are revealed.", "original_prompt_en": "An astronaut flying in space, zoom out"}
|
||||
{"index": 666, "data": "A long shot captures an astronaut flying in space. The astronaut, clad in a white spacesuit with a visor reflecting the faint glimmer of distant stars, floats gracefully with limbs gently extended in the weightless void. The background reveals a deep black cosmos dotted with countless twinkling stars, while a faint blue nebula looms distantly. The camera pans left, following the astronaut as he slowly drifts toward the left side of the frame, capturing his solitary yet majestic flight through the vast universe.", "original_prompt_en": "An astronaut flying in space, pan left"}
|
||||
{"index": 667, "data": "A long shot captures an astronaut clad in a white spacesuit with a reflective helmet floating in the vast, dark expanse of space. The backdrop is dotted with twinkling stars and faint, wispy nebulae, evoking the boundless cosmos. The astronaut’s body is slightly angled, limbs positioned as if navigating the zero - gravity realm. The camera pans right, following the astronaut’s smooth drift, revealing more of the star - speckled cosmic landscape.", "original_prompt_en": "An astronaut flying in space, pan right"}
|
||||
{"index": 668, "data": "A tilt - up shot captures an astronaut flying in space. The astronaut, clad in a white spacesuit with subtle reflective details, floats gracefully with a slightly angled posture, as if navigating the weightless void. The background is the vast, inky blackness of space, dotted with twinkling stars and the faint glow of distant celestial bodies— a partial blue - and - white planet (likely Earth) peeks from the lower left, lending scale to the scene. The camera executes a tilt - up, gradually revealing more of the astronaut’s upper body and the expansive cosmos above, while the astronaut continues to drift, limbs relaxed in the cosmic environment.", "original_prompt_en": "An astronaut flying in space, tilt up"}
|
||||
{"index": 669, "data": "A tilt - down shot captures an astronaut flying in space. The astronaut, clad in a pristine white spacesuit with a glossy, reflective helmet, floats in a horizontal posture, his body slightly angled forward, and gloved hands held in a relaxed yet purposeful manner as if maneuvering through the weightless void. The backdrop is the boundless, pitch - black expanse of space, speckled with twinkling stars and a distant, softly glowing blue planet peeking from the darkness. As the camera executes a tilt - down motion, it gradually reveals more of the astronaut’s gentle, floating movement amidst the cosmic scenery, with the star - studded void and the far - off celestial body emphasizing the solitude and vastness of his spaceflight.", "original_prompt_en": "An astronaut flying in space, tilt down"}
|
||||
{"index": 670, "data": "Long shot of an astronaut in a white spacesuit with a reflective helmet flying through the vast, dark cosmos. The background showcases distant twinkling stars, faint nebulae, and the curved silhouette of a blue - and - white planet (likely Earth) in the distance. The scene features an intense shaking effect, as if the astronaut’s craft or the camera is buffeted by turbulent forces, causing the astronaut’s form to jolt erratically against the celestial backdrop.", "original_prompt_en": "An astronaut flying in space, with an intense shaking effect"}
|
||||
{"index": 671, "data": "Long shot of an astronaut flying in space. The astronaut, clad in a white spacesuit with a reflective helmet visor and subtle technical details, moves with steady, smooth motion. The backdrop is the vast, inky - black expanse of space, sprinkled with twinkling stars and wispy nebulae. The perspective remains steady and smooth, capturing the astronaut’s controlled, floating movement—arms slightly curved, legs relaxed—as the camera maintains a fixed, steady angle to follow their flight, highlighting the serene, boundless cosmos.", "original_prompt_en": "An astronaut flying in space, featuring a steady and smooth perspective"}
|
||||
{"index": 672, "data": "A medium long shot captures an astronaut in a white spacesuit floating in the vast, inky - black expanse of space. The background is a deep black void dotted with faint, twinkling stars, and a distant blue - and - white celestial body (resembling Earth) is partially visible. The camera employs a racking focus technique: initially, the focus is on the astronaut, showing the detailed textures of the spacesuit, the reflective visor of the helmet, and the subtle, controlled movements of their limbs as they drift in the zero - gravity environment. Then, the focus shifts to the starry backdrop or the distant celestial body, emphasizing the depth of space. The astronaut’s posture is relaxed yet controlled, with limbs slightly extended as they drift, conveying the weightlessness of the space environment.", "original_prompt_en": "An astronaut flying in space, racking focus"}
|
||||
{"index": 673, "data": "Panoramic shot of snow - blanketed rocky mountain peaks surrounding deep canyons. The snow - covered rocky mountains cast shadows over the canyons, and the canyons twist and bend through the high - elevated mountain peaks. The scene is captured in super slow motion, with the camera maintaining a steady perspective to highlight the majestic, winding landscape of the snow - capped mountains and their shadowed canyons.", "original_prompt_en": "Snow rocky mountains peaks canyon. snow blanketed rocky mountains surround and shadow deep canyons. the canyons twist and bend through the high elevated mountain peaks, in super slow motion"}
|
||||
{"index": 674, "data": "Panoramic shot of snow - blanketed rocky mountain peaks and canyons. Snow - blanketed rocky mountains surround and cast shadows over the deep canyons, which twist and bend through the high - elevated mountain peaks. The mountains display rugged rock faces partially covered by smooth, white snow, while the canyons reveal their deep, shadowy depths. The background consists of a vast range of snow - capped peaks with sharp rocky outcrops. The sky is clear with a pale blue tint. As the camera zooms in, it captures the intricate winding paths of the canyons and the textured snow - covered rocks, emphasizing the depth and grandeur of the landscape.", "original_prompt_en": "Snow rocky mountains peaks canyon. snow blanketed rocky mountains surround and shadow deep canyons. the canyons twist and bend through the high elevated mountain peaks, zoom in"}
|
||||
{"index": 675, "data": "A panoramic shot captures snow - blanketed rocky mountains surrounding and casting shadows over deep canyons. The canyons twist and bend through the high - elevated mountain peaks, with their rugged rock faces contrasting against the smooth snow. The sky above is a clear blue, which enhances the stark beauty of the landscape. As the camera zooms out, a more expansive view of the mountainous terrain and the winding canyons within it is revealed.", "original_prompt_en": "Snow rocky mountains peaks canyon. snow blanketed rocky mountains surround and shadow deep canyons. the canyons twist and bend through the high elevated mountain peaks, zoom out"}
|
||||
{"index": 676, "data": "The sky is clear with a light blue tint. A panoramic shot of snow - blanketed rocky mountains surrounding deep canyons. The rocky mountains, covered in thick snow, cast shadows over the deep canyons that twist and bend through the high - elevated, jagged mountain peaks. The canyon floors are a mix of rocks and patches of snow. The camera pans left, capturing the vast expanse of the snow - capped mountains and the winding canyons stretching into the distance.", "original_prompt_en": "Snow rocky mountains peaks canyon. snow blanketed rocky mountains surround and shadow deep canyons. the canyons twist and bend through the high elevated mountain peaks, pan left"}
|
||||
{"index": 677, "data": "A panoramic shot captures snow - blanketed rocky mountain peaks and deep canyons. The snow - blanketed rocky mountains, with rugged gray - brown rock surfaces partially covered in smooth white snow, surround the deep canyons and cast dark shadows over them. The canyons twist and bend sinuously through the high - elevated mountain peaks, revealing the steep, rocky walls of the canyons as they cut through the mountainous terrain. The sky above is clear and pale blue, enhancing the scene’s vastness. The camera pans right, revealing more of the magnificent mountain - canyon landscape, with additional snow - capped peaks and winding canyons coming into view.", "original_prompt_en": "Snow rocky mountains peaks canyon. snow blanketed rocky mountains surround and shadow deep canyons. the canyons twist and bend through the high elevated mountain peaks, pan right"}
|
||||
{"index": 678, "data": "A panoramic shot captures snow - blanketed rocky mountains with rugged, grayish - white rock textures. These mountains surround and cast deep shadows over the deep canyons that twist and bend through the high - elevated mountain peaks. The camera tilts up, capturing the majestic height of the mountain peaks as the snow - covered rocky mountains enclose the sinuous canyons, with the canyons winding their way through the lofty mountain peaks.", "original_prompt_en": "Snow rocky mountains peaks canyon. snow blanketed rocky mountains surround and shadow deep canyons. the canyons twist and bend through the high elevated mountain peaks, tilt up"}
|
||||
{"index": 679, "data": "Panoramic shot of snow - blanketed rocky mountain peaks surrounding deep, twisting canyons. The snow - white peaks, with exposed gray rocky textures, cast long shadows over the canyons that snake and bend through the high - elevated mountains. The canyons’ rugged walls reveal layered rock formations, and the camera tilts down to capture the depth of the canyons as they wind amidst the mountainous landscape. The sky above is clear with a few wispy clouds, highlighting the stark contrast between the white snow, gray rocks, and the shadowed, twisting canyons below.", "original_prompt_en": "Snow rocky mountains peaks canyon. snow blanketed rocky mountains surround and shadow deep canyons. the canyons twist and bend through the high elevated mountain peaks, tilt down"}
|
||||
{"index": 680, "data": "Panoramic shot of snow - blanketed rocky mountain peaks and deep canyons. The snow - covered rocky mountains surround the canyons, casting shadows over the deep, twisting gorges that wind through the high - elevated peaks. An intense shaking effect is applied to the camera, emphasizing the rugged and dynamic nature of the mountainous canyon landscape.", "original_prompt_en": "Snow rocky mountains peaks canyon. snow blanketed rocky mountains surround and shadow deep canyons. the canyons twist and bend through the high elevated mountain peaks, with an intense shaking effect"}
|
||||
{"index": 681, "data": "Panoramic shot of snow - blanketed rocky mountain peaks and deep canyons. The snow - blanketed rocky mountains surround the area, casting shadows over the deep canyons that twist and bend through the high - elevated mountain peaks. The perspective is steady and smooth, capturing the rugged texture of the rocky peaks peeking out from beneath the thick, white snow. The canyons, with their winding paths, cut through the mountainous landscape, while the snow - covered peaks display a mix of white snow and gray - brown rock. The background reveals the expansive mountainous terrain, with the peaks rising sharply into the sky (the sky’s condition is unspecified in the original, but it could be a clear blue to emphasize the snow’s brightness or overcast for a more somber tone). The camera maintains a steady, smooth perspective, showcasing the majestic and serene scene of the snow - capped mountains and the meandering canyons.", "original_prompt_en": "Snow rocky mountains peaks canyon. snow blanketed rocky mountains surround and shadow deep canyons. the canyons twist and bend through the high elevated mountain peaks, featuring a steady and smooth perspective"}
|
||||
{"index": 682, "data": "A panoramic shot captures snow - blanketed rocky mountains surrounding and casting shadows over deep canyons. The canyons twist and bend through the high - elevated mountain peaks. During the scene, a racking focus effect is applied, alternating the focus to highlight the rugged textures of the rocky mountains and the winding forms of the canyons. The sky above is clear, with bright light enhancing the contrast between the white snow and the dark rock surfaces of the mountains, while the deep canyons lie in their shadows, adding a sense of depth and mystery to the landscape.", "original_prompt_en": "Snow rocky mountains peaks canyon. snow blanketed rocky mountains surround and shadow deep canyons. the canyons twist and bend through the high elevated mountain peaks, racking focus"}
|
||||
{"index": 683, "data": "A close - up shot captures a bunch of vibrant purple, plump and juicy grapes resting on a smooth wooden rotating table. The table spins slowly clockwise, causing the grapes to sway gently, their natural waxy bloom glistening under soft ambient light. The background is minimal, revealing only the dark wood grain of the table’s edge, while the camera remains fixed in a close - up, emphasizing the grapes’ succulent texture and the subtle rotational motion of the table.", "original_prompt_en": "Close up of grapes on a rotating table."}
|
||||
{"index": 684, "data": "A long shot captures a turtle swimming in the ocean. The turtle has a dark - green shell with brown patterns, and its limbs are paddling rhythmically. The ocean water is a deep blue, with sunlight filtering through, creating shimmering spots. Small fish can be seen darting by occasionally in the background. The turtle moves gracefully, its body swaying slightly with the gentle current, as it navigates through the water.", "original_prompt_en": "Turtle swimming in ocean."}
|
||||
{"index": 685, "data": "A medium shot captures a storm trooper clad in the iconic white armor with black visor detailing, standing on a golden - sand beach. He holds a silver vacuum cleaner with a flexible hose, methodically vacuuming the sand—small grains and tiny debris are being sucked into the device. Behind him, turquoise ocean waves gently crash onto the shore, and a clear blue sky stretches overhead. The trooper remains focused, his posture steady as he moves the vacuum across the beach, with seagulls occasionally flying in the distant background.", "original_prompt_en": "A storm trooper vacuuming the beach."}
|
||||
{"index": 686, "data": "A medium shot captures a panda standing upright on a light - colored surfboard in the ocean at sunset. The panda, with its distinctive black - and - white fur, maintains a steady posture as gentle waves lap at the surfboard. The sky glows with warm orange and pink hues from the setting sun, with a few scattered clouds, and the vast ocean stretches out to the horizon, its surface shimmering under the golden light of the sunset.", "original_prompt_en": "A panda standing on a surfboard in the ocean in sunset."}
|
||||
{"index": 687, "data": "A medium shot captures an astronaut in a white spacesuit with reflective accents feeding ducks on a sunny afternoon. The scene unfolds by a calm pond, where sunlight creates gentle ripples and shimmering reflections on the water’s surface. Several ducks—including mallards with iridescent green heads and brown bodies—gather around the astronaut’s feet, eagerly pecking at the food he offers from his gloved hands. The background features a lush green park with tall trees casting dappled shadows, and a clear blue sky dotted with fluffy white clouds. The astronaut bends slightly, his posture relaxed yet focused, as the ducks quack softly and paddle in the shallow water, their reflections dancing alongside them amidst the sunlit ripples.", "original_prompt_en": "An astronaut feeding ducks on a sunny afternoon, reflection from the water."}
|
||||
{"index": 688, "data": "Medium shot of two giant pandas in a bamboo - fringed study nook. The panda on the left, with its iconic black - and - white fur, sits upright on a wooden bench, holding a white sheet (an academic paper) with black text in its right paw, pointing at a section with its left paw. The panda on the right leans in, head tilted toward the paper, eyes fixed on the content, its right paw resting on the table as if deeply engaged in discussion. The background features lush green bamboo swaying gently, a wooden table between them holding a pen holder, a stack of books, and a steaming bamboo - shoot - shaped teacup. Sunlight filters through bamboo leaves, casting dappled shadows. The pandas occasionally shift their postures—the left one gesturing at the paper while the right one nods thoughtfully—fully immersed in their academic exchange.", "original_prompt_en": "Two pandas discussing an academic paper."}
|
||||
{"index": 689, "data": "Time - lapse shot of a beach at sunset. The sky is ablaze with a dynamic palette of colors—swirling oranges, soft pinks, and deep purples—while fluffy clouds drift gracefully across the horizon, their edges tinted by the setting sun. The beach below features golden sand stretching along the shore, with gentle waves lapping at the water’s edge. As the time - lapse unfolds, the clouds move steadily, and the sky’s hues shift and blend, capturing the serene yet vibrant transition of the sunset over the tranquil beach.", "original_prompt_en": "Sunset time lapse at the beach with moving clouds and colors in the sky."}
|
||||
{"index": 690, "data": "Medium shot of a plump rabbit with fluffy white fur, clad in a flowing purple robe that billows gently as it moves. The rabbit walks with a slight waddle—its round belly jiggling softly with each step—through a surreal fantasy landscape. Its long, floppy ears (tipped in pale gray) sway, and bright, curious eyes scan the surroundings. The background unfolds as a dreamlike realm: glowing bioluminescent plants carpet the mossy ground, twisted rainbow - hued trees stretch toward a sky of swirling pastel clouds, and floating crystal shards glimmer in the air. The camera follows the rabbit’s amble, panning to capture the whimsical scenery—from iridescent foliage to distant floating islands—as the rabbit ventures deeper into the enchanted terrain.", "original_prompt_en": "A fat rabbit wearing a purple robe walking through a fantasy landscape."}
|
||||
{"index": 691, "data": "Medium shot of a koala bear with thick gray fur, round ears, and a black nose, sitting on a grassy patch in a lush forest. The koala is positioned in front of a small wooden piano with black - and - white keys, its front paws gently pressing the keys as if playing a tune. The background is filled with tall green trees with broad leaves, and patches of sunlight filter through the tree canopy onto the forest floor which is covered with fallen leaves and vibrant green grass. A few white clouds are scattered in the partly visible sky above. The koala keeps playing the piano, occasionally moving its head, and the camera remains fixed, capturing the delightful scene of the koala engrossed in its musical activity.", "original_prompt_en": "A koala bear playing piano in the forest."}
|
||||
{"index": 692, "data": "Long shot of an astronaut flying in space. The astronaut is clad in a white spacesuit with a reflective helmet visor and mission patches on the chest, floating gently—their body slowly rotating, arms slightly bent as if balancing in the weightless void. The background reveals the vast, dark expanse of space, dotted with twinkling stars and faint, colorful nebulae. The camera remains steady, capturing the astronaut’s smooth, drifting movements amid the serene, boundless cosmos.", "original_prompt_en": "An astronaut flying in space."}
|
||||
{"index": 693, "data": "A panoramic night shot captures vibrant fireworks bursting in the dark, star - dotted sky. The fireworks, in colors of bright red, vivid blue and golden yellow, spread into intricate patterns—some like blooming flowers, others like cascading sparks—illuminating the inky night. The background has the silhouettes of tall city buildings with glowing windows, framing the scene. Initially fixed, the camera tilts upward to follow the ascending trails of the fireworks as they explode into dazzling bursts and then fade. Some fireworks crackle with sharp pops, while others bloom softly, creating a dynamic contrast in the serene night.", "original_prompt_en": "Fireworks."}
|
||||
{"index": 694, "data": "Long shot of an animated painting - style scene showcasing fluffy white clouds with a cotton - like, billowy texture moving slowly across the sky. The sky, a soft pastel - hued expanse, forms the backdrop, complementing the whimsical, painterly aesthetic of the animation. The clouds drift gracefully, their edges blending gently as they glide, embodying the serene motion typical of such animated cloud depictions.", "original_prompt_en": "An animated painting of fluffy white clouds moving in sky."}
|
||||
{"index": 695, "data": "Long shot of a perspective flying through a fantasy landscape. The landscape is filled with floating islands covered in luminescent purple plants, cascading waterfalls glowing turquoise, and towering twisted trees with pink foliage. The sky is a gradient of deep blue to vibrant orange, dotted with iridescent clouds that shift colors as the perspective moves forward. Below, winding rivers of liquid gold and fields of bioluminescent flowers light the ground. The perspective glides forward, passing a massive crystal - like structure emitting soft white light, then a misty area where giant winged creatures with iridescent scales soar in the distance. The fantasy landscape, with ever - changing wonders, unfolds as the camera continues its flight through this otherworldly realm.", "original_prompt_en": "Flying through fantasy landscapes."}
|
||||
{"index": 696, "data": "A medium shot captures a bigfoot walking steadily through a ferocious snowstorm. The bigfoot, covered in thick, dark - brown fur and with a massive, hunched frame, takes heavy, deliberate steps that leave deep imprints in the snow. Snowflakes swirl densely around it, driven by strong winds that buffet its form, while the ground is blanketed with a thick layer of fresh, powdery snow. In the background, snow - laden trees bend under the storm’s force, and the sky is a gloomy gray, merging with the swirling snow to create a near - whiteout. The bigfoot’s head is slightly bowed against the driving snow, and its breath forms faint white clouds in the frigid air as it continues its slow, determined walk.", "original_prompt_en": "A bigfoot walking in the snowstorm."}
|
||||
{"index": 697, "data": "Medium shot of a brown squirrel with a fluffy tail eating a burger. The burger features a golden - brown bun, a juicy meat patty, and green lettuce peeking out. The squirrel holds the burger with its small, nimble front paws, taking small bites while sitting on a patch of green grass dotted with fallen leaves. The background shows scattered tree branches, and sunlight filters through, casting a warm glow. The squirrel chews slowly, its whiskers twitching with each bite, and occasionally pauses to glance around before continuing to enjoy the burger.", "original_prompt_en": "A squirrel eating a burger."}
|
||||
{"index": 698, "data": "A medium shot captures a sleek black cat dressed as a lifeguard, wearing stylish black sunglasses with reflective lenses. The cat stands atop a white plastic lifeguard chair by a sparkling blue swimming pool, its short, smooth fur glistening under the bright sun. The pool’s water shimmers with gentle ripples, and colorful inflatable floaties dot the surface. In the background, vibrant beach umbrellas in shades of pink and yellow line the poolside, while a few people in swimsuits playfully splash in the water. The cat maintains a vigilant stance, its tail flicking slightly as it “patrols” the pool area, embodying the role of a dedicated lifeguard.", "original_prompt_en": "A cat wearing sunglasses and working as a lifeguard at a pool."}
|
||||
{"index": 699, "data": "Panoramic shot of snow - blanketed rocky mountain peaks and deep canyons. The snow - blanketed rocky mountains, with rugged gray rock textures peeking out from beneath the thick, glistening white snow, surround and cast long shadows over the deep canyons. The deep canyons, with their steep, shadowy rock walls, twist and bend sinuously through the high - rising, snow - capped mountain peaks. The sky above is a vivid, cloudless blue, highlighting the stark contrast between the pristine white snow, the rugged gray rocks, and the dark, winding canyons. The camera stays fixed, capturing the motionless yet magnificent scene of the mountains enclosing the twisting canyons, as the canyons snake their way through the lofty, snow - covered peaks.", "original_prompt_en": "Snow rocky mountains peaks canyon. snow blanketed rocky mountains surround and shadow deep canyons. the canyons twist and bend through the high elevated mountain peaks."}
|
||||
{"index": 700, "data": "Extreme slow - motion close - up shot of a splash of turquoise water. The water droplets, with a semi - transparent look (indicating the inclusion of an alpha channel), scatter in mid - air, glistening. The background is blurred, highlighting the vivid turquoise hue of the water and the delicate, prolonged motion of the splash captured in extreme slow motion.", "original_prompt_en": "Splash of turquoise water in extreme slow motion, alpha channel included."}
|
||||
{"index": 701, "data": "A close - up shot captures a vanilla ice - cream cone with light - brown chocolate drizzle on top, placed on a white porcelain plate over a wooden table. The ice cream is gradually melting: its creamy top softens, and pale - colored liquid trickles down the cone, forming small droplets that land on the table. The background shows a simple kitchen setting with a glass of water and a few napkins on the table. Fixed shot, documenting the slow melting process as the ice cream’s texture turns more liquid, with the chocolate drizzle subtly blending into the melting cream.", "original_prompt_en": "an ice cream is melting on the table."}
|
||||
{"index": 702, "data": "Aerial long shot captures a gray drone with rapidly spinning propellers flying steadily over a vast snowy forest. The forest below is blanketed in thick, pristine white snow, with tall evergreen trees—their dark green branches heavy with snow—stretching to the horizon. The sky is a clear pale blue, and the drone moves forward smoothly, the camera following its path to showcase the serene, snow - laden expanse, where snowdrifts nestle between tree trunks and bare branches occasionally peek through the snow.", "original_prompt_en": "a drone flying over a snowy forest."}
|
||||
{"index": 703, "data": "Long shot of a gray shark swimming in the ocean. The shark has a sleek, torpedo - shaped body and a tall dorsal fin cutting through the deep blue water. Sunlight filters from the surface, creating shimmering light patterns on its gray scales. In the background, there are coral reefs and small schools of colorful fish. The shark moves smoothly, its tail undulating rhythmically, and the camera tracks its movement to keep it centered.", "original_prompt_en": "a shark is swimming in the ocean."}
|
||||
{"index": 704, "data": "Aerial panoramic shot from a drone captures a fantasy land. The landscape is dotted with glowing crystal forests, where tall iridescent trees emit a soft blue light. Floating islands linked by rainbow bridges hover in the sky, which displays a dreamy gradient of purple and pink. In the distance, gothic - style castles adorned with neon runes stand alongside futuristic skyscrapers with sleek metallic surfaces. A herd of winged unicorns gallops across a meadow of bioluminescent grass, their golden manes glowing. The ground in some regions is a shimmering silver - hued liquid, while others are covered with giant luminous mushrooms swaying gently. The background is a vast pastel - hued cloudscape, and magical particles shimmer in the air. The drone camera slowly pans right, revealing a river of liquid starlight winding through the land and strange winged creatures with iridescent wings soaring above the castles.", "original_prompt_en": "Aerial panoramic video from a drone of a fantasy land."}
|
||||
{"index": 705, "data": "Long shot of a brown teddy bear with soft plush fur swimming in the deep blue ocean. The teddy bear faces forward, its limbs moving in a paddling motion to stay afloat. The ocean water ripples with gentle waves, glistening under the bright sunlight. The background reveals a clear blue sky with a few fluffy white clouds above the distant horizon where the sea meets the sky. The camera follows the teddy bear as it swims steadily toward the right side of the frame, capturing its playful, buoyant movement against the vast, open ocean.", "original_prompt_en": "a teddy bear is swimming in the ocean."}
|
||||
{"index": 706, "data": "Time - lapse shot of sunrise on Mars. A long - shot view presents the Martian landscape, where the red, rocky, and dusty surface, dotted with scattered rocks and sand dunes, stretches to the horizon. The sky, tinted orange - red due to the dust and carbon dioxide in Mars' atmosphere, serves as the backdrop. The Sun, appearing smaller than it does from Earth, slowly rises from the Martian horizon. As it ascends, sunlight gradually bathes the terrain, illuminating the red rocks and dunes which shift from dark crimson to bright red under the light. Fine dust particles drift in the Martian wind, glistening in the sunlight and creating a hazy, glowing effect. The camera remains fixed, capturing the Sun’s slow climb, the subtle change in the sky’s color, and the gradual clarity of the landscape as the shadows of rocks and dunes shift with the light.", "original_prompt_en": "time lapse of sunrise on mars."}
|
||||
{"index": 707, "data": "A long shot captures a golden fish with shiny golden scales swimming in the ocean. The water is deep blue, with seaweed swaying in the current and small rocky formations on the seabed. The fish moves its tail gently, creating ripples as it swims toward the right of the frame. The camera remains fixed, focusing on the fish as its golden body glints in the light filtering through the water.", "original_prompt_en": "golden fish swimming in the ocean."}
|
||||
{"index": 708, "data": "A close - up shot captures an artist’s brush, with dark bristles and a smooth wooden handle, painting on a white canvas with a slightly textured surface. The brush moves in gentle, deliberate strokes, applying vibrant pigment that spreads across the canvas, while the background remains indistinct, emphasizing the intricate motion of the brush as it creates artwork.", "original_prompt_en": "An artist brush painting on a canvas close up."}
|
||||
{"index": 709, "data": "A drone shot captures a festive celebration scene. In the foreground, a beautifully decorated Christmas tree, adorned with twinkling lights and colorful ornaments, stands tall. Vibrant fireworks burst in the night sky, creating streaks of red, green, and gold. The background is a clear, starry sky with countless stars twinkling gently. The drone - mounted camera pans across the scene, showcasing the dazzling fireworks illuminating the Christmas tree and the serene, star - dotted sky beyond.", "original_prompt_en": "A drone view of celebration with Christmas tree and fireworks, starry sky - background."}
|
||||
{"index": 710, "data": "A medium close - up portrait shot in a studio. A happy dog, dressed in a yellow turtleneck, stands facing the camera with a cheerful expression. The background is dark, highlighting the dog’s vibrant attire and joyful demeanor.", "original_prompt_en": "happy dog wearing a yellow turtleneck, studio, portrait, facing camera, dark background"}
|
||||
{"index": 711, "data": "Studio shot of 3D - rendered origami dancers crafted from white paper, performing modern dance against a pristine white background. The dancers, with their angular paper forms, move fluidly—bending, twisting, and extending their paper limbs in sync with the choreography. The camera remains fixed, capturing the crisp, minimalist aesthetic of the white - on - white scene, highlighting the delicate folds and dynamic poses of the origami figures as they dance gracefully.", "original_prompt_en": "Origami dancers in white paper, 3D render, on white background, studio shot, dancing modern dance."}
|
||||
{"index": 712, "data": "Wide shot of a campfire burning brightly at night in a snowy forest. The forest floor is blanketed with fresh, glistening snow, and tall evergreen trees—their branches heavy with snow—surround the fire. The campfire’s orange flames flicker and dance, casting warm amber light that contrasts sharply with the cold, white snow. In the background, the sky is a deep inky black, dotted with countless twinkling stars, forming a starry canopy above the silent, snow - covered forest. The scene is still, with the only movement being the gentle sway of the fire’s flames and the subtle shift of snow - laden branches in the faint night breeze.", "original_prompt_en": "Campfire at night in a snowy forest with starry sky in the background."}
|
||||
{"index": 713, "data": "A panoramic shot of a fantasy landscape. The scene showcases towering, twisted rock formations with glowing blue veins coursing through them, emerging from a bed of iridescent purple moss that shimmers beneath an otherworldly, pink - hued sky. In the distance, floating islands drift leisurely, their undersides dotted with bioluminescent flora emitting a soft green glow. A delicate mist winds between the rock structures, and in the foreground, a small crystalline stream cascades over smooth, rainbow - colored stones, its water sparkling with magical particles. The camera slowly pans across the landscape, capturing the surreal beauty of this otherworldly realm. The floating islands move lazily toward the left of the frame, and the mist swirls gently around the rock formations.", "original_prompt_en": "a fantasy landscape"}
|
||||
{"index": 714, "data": "A close - up shot of a 3D model of an 1800s Victorian house. The model exhibits exquisite details: it has a steeply - pitched roof covered with dark brown shingles, and there are ornate wooden trims along the edges. The house is equipped with tall windows adorned with stained - glass panes in floral patterns, and its facade is painted white, with decorative brackets under the eaves. A small front porch with carved railings is also a part of the model, and there are chimney stacks with brick detailing. The model is placed against a minimalist white background, and soft, diffused lighting illuminates it to highlight its architectural details. The camera is fixed, presenting the 3D model in a static state, emphasizing the classic architectural style of the Victorian era in the 1800s.", "original_prompt_en": "A 3D model of a 1800s victorian house."}
|
||||
{"index": 715, "data": "A medium - close shot captures the speaker doing makeup in the morning. She is seated at a white vanity table with a mirror, in a cozy bedroom with light - colored curtains. Soft morning sunlight filters through the curtains, casting a warm glow over the room. On the vanity, various makeup products are placed, including a pink - cased foundation, a brown eyeshadow palette, and a red lipstick. She holds a makeup brush in her right hand, gently applying foundation to her face, while her left hand holds a compact powder case. The camera remains fixed, capturing her smooth and deliberate movements as she carries out her morning makeup routine, from applying the foundation to blending the eyeshadow, showing how she does her makeup in the morning.", "original_prompt_en": "this is how I do makeup in the morning."}
|
||||
{"index": 716, "data": "Medium shot of a digital art creation: a raccoon stylized to resemble a turtle. The raccoon has a black - masked face with white fur around the eyes, typical of a raccoon, but its body is armored with a turtle - like shell, patterned with brown and green to mimic a turtle’s carapace. Its furry raccoon - like limbs extend from the shell, and its ringed black - and - white tail curls behind. The background is a dreamy digital landscape with soft, neon - hued gradients (blues and pinks) and pixel - art - inspired textures, emphasizing the artistic, surreal nature of the piece. The raccoon stands still, showcasing the fusion of raccoon and turtle features in this digital artwork.", "original_prompt_en": "A raccoon that looks like a turtle, digital art."}
|
||||
{"index": 717, "data": "A panoramic shot captures a robot with a sleek silver metallic body and blue LED - lit joints dancing energetically in Times Square. The robot executes rhythmic dance moves—swinging its arms, rotating its torso, and stepping side to side—while the background teems with neon - illuminated billboards, crowds of pedestrians (some pausing to watch the performance), yellow taxis, and tall glass skyscrapers. The street is lined with colorful storefronts, and the air is filled with the hum of city traffic and lively chatter. The camera follows the robot’s movements, panning smoothly to capture the vibrant urban landscape, with Times Square’s bright lights glinting off the robot’s surface.", "original_prompt_en": "Robot dancing in Times Square."}
|
||||
{"index": 718, "data": "Long shot of a busy freeway at night. The sky is deep black, with faint city lights twinkling in the distance. The freeway is filled with vehicles: cars with bright white headlights and red taillights, trucks with glowing amber marker lights, all moving steadily or in slow traffic. Street lamps along the road cast yellow halos on the asphalt, and billboards with neon signs illuminate the sides. The camera pans slowly to the right, capturing the continuous stream of traffic, with some vehicles accelerating and others braking, their lights creating streaks against the night. In the background, tall buildings with lit windows stand, and the glow of city life reflects off the road surface. The scene is alive with the hum of engines and the flash of passing headlights, emphasizing the bustling nature of the freeway after dark.", "original_prompt_en": "Busy freeway at night."}
|
||||
{"index": 719, "data": "A high - speed (extreme slow - motion) close - up shot captures a transparent water - filled balloon. The balloon, round and taut with clear water inside, suddenly explodes in extreme slow motion. The water, in the form of countless tiny droplets and larger splashes, spreads outwards at an extremely slow pace. Each droplet seems to hang in the air, showcasing their smooth, glistening surfaces as they move along intricate trajectories. The background is a simple, light - colored space, which makes the dynamic process of the water balloon's explosion and the movement of the water droplets stand out vividly.", "original_prompt_en": "Balloon full of water exploding in extreme slow motion."}
|
||||
{"index": 720, "data": "Long shot in photorealistic style captures an astronaut riding a horse in space. The astronaut, clad in a white space suit with blue accents and a transparent helmet, sits upright on the horse’s back, gripping the reins with both hands. The horse, rendered with photorealistic detail—its coat sleek and dark, muscles taut—appears to “gallop” through the void, hooves suspended in the dark expanse. The background reveals a deep black cosmos dotted with twinkling stars, distant nebulas glowing in hues of purple and pink, and a faint, curved planet horizon. The scene maintains a surreal yet lifelike quality, emphasizing the photorealistic rendering of the astronaut and horse against the cosmic backdrop.", "original_prompt_en": "An astronaut is riding a horse in the space in a photorealistic style."}
|
||||
{"index": 721, "data": "Macro slow - motion, a cropped close - up captures roasted coffee beans (dark brown with fine cracks and a glossy surface) falling into an empty white ceramic bowl. The background is blurred, highlighting the sharp details of the beans and the bowl. In the slow - motion sequence, the coffee beans descend gracefully, their edges catching light as they tumble toward the bowl, while the empty bowl (with a smooth interior) awaits their arrival.", "original_prompt_en": "Macro slo-mo. Slow motion cropped closeup of roasted coffee beans falling into an empty bowl."}
|
||||
{"index": 722, "data": "Medium shot of an old sewing machine at work. The sewing machine has a dark, slightly worn metal body with a wooden base, showing signs of age like minor scratches and faded paint. Its needle moves rapidly up and down, while the thread spool beside it rotates steadily, guiding the thread through a piece of light - colored cotton cloth placed under the presser foot. The background reveals a cluttered worktable with scattered spools of colorful thread, a pair of silver scissors, and pieces of fabric in various patterns. The room is softly lit, with a vintage lamp on the table casting a warm glow, and the walls are adorned with old sewing patterns and posters, capturing the nostalgic atmosphere of a traditional sewing space. As the machine operates, the needle continues its rhythmic motion, and the fabric slowly advances, showcasing the smooth, mechanical workflow of the old sewing machine.", "original_prompt_en": "Sewing machine, old sewing machine working."}
|
||||
{"index": 723, "data": "A close - up shot captures the dynamic interaction of colorful ink with water. Initially, several drops of vividly colored ink (such as deep violet, lake blue, and tangerine) are gently dropped into the still, transparent water. The ink droplets, like dreamy colored pearls, slowly sink and then begin to swirl and spread in the water, forming a vortex - like ink cloud. The colors of the ink interweave and diffuse, resembling an abstract, fancy dream - like ink cloud dancing in the water. The clear water background makes the flow trajectory of the colors clearly visible, and soft light filters through the water, highlighting the magical dance of the colors. The ink continues to swirl and spread, eventually merging into a colorful abstract pattern. The camera remains fixed throughout, focusing on this enchanting display of color dynamics, as if transporting the viewer into a fantasy world woven with colors.", "original_prompt_en": "Motion colour drop in water, ink swirling in water, colourful ink in water, abstraction fancy dream cloud of ink."}
|
||||
{"index": 724, "data": "A close - up, macro shot captures a few big purple plums with smooth and glossy skins rotating slowly on a sleek white turntable. As they spin, tiny and glistening water droplets gradually form and adhere to their purple surfaces, highlighting the plums’ juicy texture. The scene is isolated against a pristine white background, which emphasizes the vivid color and fine details of the plums. The camera remains fixed, maintaining a sharp focus on the plums’ rotation and the delicate appearance of the water droplets.", "original_prompt_en": "Few big purple plums rotating on the turntable. water drops appear on the skin during rotation. isolated on the white background. close-up. macro."}
|
||||
{"index": 725, "data": "A close - up shot captures a beautiful girl with vampire - themed makeup. Her skin looks pale, and she has dramatic eye makeup with dark or red tones around her eyes, along with deep - red - painted lips. She wears vivid red contact lenses, giving her eyes an intense, otherworldly appearance. The background is softly blurred, drawing attention to her face decorated with the elaborate vampire makeup.", "original_prompt_en": "Vampire makeup face of beautiful girl, red contact lenses."}
|
||||
{"index": 726, "data": "Close - up shot of a glass ashtray brimming with yellowish - brown cigarette butts resting on a dark wooden table. Gentle streams of smoke drift slowly against a completely black background, the deep blackness highlighting the hazy, swirling movement of the smoke.", "original_prompt_en": "Ashtray full of butts on table, smoke flowing on black background, close-up"}
|
||||
{"index": 727, "data": "Panoramic shot of the Pacific coast at Carmel by the Sea. The deep blue ocean stretches across the frame, with white - crested waves rhythmically rolling toward the shore and gently crashing against the sandy coastline. The sky is clear with a few scattered clouds, casting a soft glow on the water. In the background, rugged coastal cliffs with patches of green vegetation rise. The camera remains fixed, capturing the serene yet dynamic motion of the ocean waves.", "original_prompt_en": "Pacific coast, carmel by the sea ocean and waves."}
|
||||
{"index": 728, "data": "A long shot captures a whimsical teddy bear—with soft brown fur and a red bow - tie—playing a shiny drum kit (equipped with a bass drum, snare, and cymbals) in the heart of NYC’s Times Square. The background is brimming with towering buildings decorated with dazzling LED billboards, throngs of pedestrians (some pausing to watch), yellow taxis weaving through the traffic, and the iconic red steps of the TKTS booth. The teddy bear, perched on a tiny stool, grips drumsticks with its paws: it pounds the bass drum with its right paw, taps the snare with its left, and flicks the cymbal with a swift motion, its head nodding rhythmically. The scene is bathed in evening neon, with the lights reflecting off the teddy’s fur, and the camera remains fixed, highlighting the playful contrast between the cuddly toy and the chaotic, luminous urban landscape.", "original_prompt_en": "A teddy bear is playing drum kit in NYC Times Square."}
|
||||
{"index": 729, "data": "A medium shot captures a fluffy corgi with brown and white fur, its short legs steady as it sits in front of a drum kit. The drum kit has a glossy snare drum, gleaming cymbals, and vibrant tom - toms. The corgi uses its front paws to rhythmically hit the drumhead and cymbals, its tail wagging excitedly. The background is a cozy living room with soft lighting, a plush rug beneath the drum kit, and framed pictures on the wall. The corgi keeps playing the drums, sometimes tilting its head as if savoring the music, while its tail sways with the beat.", "original_prompt_en": "A corgi is playing drum kit."}
|
||||
{"index": 730, "data": "Medium shot captures Iron Man, clad in his iconic red - and - gold armored suit with glowing white eye slits on the helmet, standing on a stage illuminated by neon lights. He is playing a high - styled electronic guitar—its body features a sleek, metallic design with blue LED accents and a high - position fretboard. The background reveals a dimly lit concert venue, with colorful spotlights flickering and a faint murmur of an audience cheering in the distance. Iron Man strums the guitar vigorously, his armored fingers moving nimbly across the strings, as the guitar emits high - energy, electrifying riffs that fill the air.", "original_prompt_en": "An Iron man is playing the electronic guitar, high electronic guitar."}
|
||||
{"index": 731, "data": "Medium shot captures a raccoon with brown fur and black facial stripes, seated upright. It grips an electronic guitar—with a glossy black body and metallic silver strings—using its front paws, skillfully strumming the strings with its nimble paws. The background is a cozy indoor space with wooden flooring, soft warm lighting, and a small table with a few books scattered atop. The raccoon’s tail, banded with black and white, curls behind it as it plays, occasionally tilting its head to the rhythm, fully engrossed in the music.", "original_prompt_en": "A raccoon is playing the electronic guitar."}
|
||||
{"index": 732, "data": "A long shot, rendered in the vivid, swirling brushwork characteristic of Vincent van Gogh’s art, captures a small wooden boat with a weathered hull and billowing white sails sailing leisurely along the Seine River. The river’s surface shimmers with iridescent blues and golds, rippling softly as the boat glides toward the right of the frame. In the background, the Eiffel Tower rises majestically, its intricate iron framework silhouetted against a sky alive with van Gogh’s signature swirling yellows, blues, and hints of purple. The camera follows the boat’s gentle drift, panning smoothly to maintain its position while the iconic tower remains a stately backdrop.", "original_prompt_en": "A boat sailing leisurely along the Seine River with the Eiffel Tower in background by Vincent van Gogh"}
|
||||
{"index": 733, "data": "Close - up shot of a corgi's head, artistically depicted as an explosion of a nebula. The corgi's head retains its distinct outline (with recognizable ears and facial structure), while its interior bursts with swirling nebular matter—vibrant purple, cyan, and pink hues intermingle, dotted with twinkling star - like glimmers, mimicking the chaotic yet beautiful expansion of cosmic gas and dust. The background is a profound black void, faintly speckled with distant galaxy clusters and wispy dark matter halos, enhancing the celestial transformation of the corgi's head.", "original_prompt_en": "A corgi's head depicted as an explosion of a nebula"}
|
||||
{"index": 734, "data": "A panoramic shot of a fantasy landscape. The scene unfolds with floating islands suspended in a vibrant purple sky, their rocky surfaces dotted with bioluminescent plants that emit a soft blue glow. Below, a river of liquid silver winds through a valley of crystalline trees, their branches glistening like diamonds. In the distance, a castle with spiraling towers and iridescent walls stands atop a floating mountain, while winged creatures with iridescent scales soar between the islands. The camera slowly pans across the scene, capturing the gentle drift of the islands and the shimmering light from the glowing flora, immersing the viewer in this otherworldly realm.", "original_prompt_en": "A fantasy landscape"}
|
||||
{"index": 735, "data": "Panoramic shot of a futuristic urban plaza, where humans have achieved teleportation technology. Citizens in sleek, glowing attire interact with cylindrical teleportation devices: a woman steps onto a platform, vanishes in a golden shimmer, and reappears at another device (her hair still flowing from the teleport’s momentum). A man teleports a coffee cup to a friend—the cup disappears in a blue spark, materializing instantly in the friend’s grasp. The background features floating skyscrapers, flying cars, and holographic billboards. The camera pans to capture a child teleporting a toy, engineers adjusting devices, and families teleporting together, showcasing the technology’s seamless integration into daily life.", "original_prompt_en": "A future where humans have achieved teleportation technology"}
|
||||
{"index": 736, "data": "A medium shot captures a translucent jellyfish with a pale pink bell floating gracefully through the deep blue ocean. Its long, delicate tentacles, glowing with bioluminescent light, sway gently with the water currents, creating a trail of soft, ethereal illumination. The surrounding ocean water is filled with tiny, shimmering plankton, and the background reveals the dark, vast expanse of the sea with faint light filtering down from the surface. The jellyfish drifts slowly, its bioluminescent tentacles flickering like stardust in the water, while the camera follows its movement to highlight the mesmerizing glow and fluid motion of its tentacles.", "original_prompt_en": "A jellyfish floating through the ocean, with bioluminescent tentacles"}
|
||||
{"index": 737, "data": "Long shot of a silver - gray Mars rover, equipped with solar panels and a mechanical arm, moving slowly across the Martian surface. The rover’s angular body and rugged wheels kick up fine red dust as it travels toward the right of the frame. The background showcases a barren landscape of rust - hued rocks, undulating red sand dunes, and a hazy orange - red sky, characteristic of Mars’ atmosphere. The camera follows the rover’s movement, documenting its exploration of the rugged, dust - filled Martian terrain.", "original_prompt_en": "A Mars rover moving on Mars"}
|
||||
{"index": 738, "data": "Medium shot captures a giant panda with distinctive black - and - white fur (black patches around its eyes, ears, and limbs, white covering its round, plump body) sitting at a rustic wooden table in a charming Parisian café. The panda holds a white ceramic coffee cup with its paw, gently sipping the rich brown coffee, with droplets glistening on the rim. The café’s interior is warm and inviting, featuring exposed brick walls, vintage posters of Parisian landmarks, and plush velvet chairs. Outside the large window, the cobblestone street of Paris unfolds, with pedestrians in stylish attire and the silhouette of the Eiffel Tower peeking through the hazy afternoon light. The camera stays fixed, focusing on the panda’s leisurely sipping, and its tail occasionally twitches as it savors the drink.", "original_prompt_en": "A panda drinking coffee in a cafe in Paris"}
|
||||
{"index": 739, "data": "A long shot captures a white space shuttle with black thermal - protection tiles on its fuselage launching into orbit. Vivid orange flames and thick gray smoke billow vigorously from its engines. The shuttle steadily ascends against a backdrop of a clear blue sky dotted with scattered white clouds. The powerful flames from the engines light up the launch pad, and the smoke spreads in turbulent waves as the shuttle accelerates, gradually moving toward the orbital path.", "original_prompt_en": "A space shuttle launching into orbit, with flames and smoke billowing out from the engines"}
|
||||
{"index": 740, "data": "Long shot of a black steam train with multiple carriages moving along the mountainside. The train emits white steam from its chimney, and its side faces the camera, revealing a vintage design with large wheels and a cylindrical boiler. The background features rugged mountain slopes covered with dense green vegetation, with rocky outcrops scattered, and the sky is partly cloudy. The camera follows the train as it travels steadily along the winding railway track on the mountainside, capturing the train’s smooth movement against the majestic mountain scenery.", "original_prompt_en": "A steam train moving on a mountainside"}
|
||||
{"index": 741, "data": "Panoramic shot of a super - cool giant robot standing in cyberpunk - styled Beijing. The robot has a metallic silver - black body, with neon light strips of blue and purple crisscrossing it, exuding a strong futuristic atmosphere. Its head is equipped with a visor - like sensor, and mechanical arms with intricate mechanical structures hang down by its sides. The background is a bustling cyberpunk Beijing street: tall buildings are covered with holographic advertisement projections, neon signs of various colors flicker, the wet street surface reflects the colorful lights, and some pedestrians in futuristic clothing with mechanical prosthetics walk by. In the distance, flying vehicles shuttle through the air. The robot remains stationary, and the camera slowly pans to the right, capturing more of the cyberpunk cityscape around it, including the glowing billboards and the complex urban architecture.", "original_prompt_en": "A super cool giant robot in Cyberpunk Beijing"}
|
||||
{"index": 742, "data": "A panoramic shot at sunrise captures a tropical beach. In the foreground, tall palm trees with lush green fronds sway gently in the warm morning breeze, their slender brown trunks standing out. The crystal - clear ocean water shimmers with turquoise and golden hues, reflecting the soft light of the rising sun. The beach’s sand is a fine, creamy white, extending toward the horizon. In the background, the sky is a gradient of warm oranges, pinks, and purples as the sun slowly rises, casting a golden glow over everything. The camera stays fixed, letting the serene beauty of the tropical beach at sunrise be fully appreciated—with the palm trees swaying and the clear water glistening in the morning light.", "original_prompt_en": "A tropical beach at sunrise, with palm trees and crystal-clear water in the foreground"}
|
||||
{"index": 743, "data": "A cinematic medium shot captures a self - portrait of Vincent van Gogh, crafted in Van Gogh’s distinctive artistic style. Van Gogh, with his tousled golden hair and a thoughtful expression, wears a blue - gray jacket over a yellow shirt. The background is adorned with swirling, vibrant brushstrokes of deep blue and golden yellow, reminiscent of his famous “Starry Night” sky and sunflower - filled landscapes, rendered in thick, textured impasto. The portrait exudes the emotional intensity characteristic of Van Gogh’s works, with each brushstroke brimming with feeling.", "original_prompt_en": "Cinematic shot of Van Gogh's selfie, Van Gogh style"}
|
||||
{"index": 744, "data": "Medium shot captures Gwen Stacy, with her long blonde hair flowing over her shoulders, dressed in a white blouse and a blue plaid skirt, sitting gracefully on a wooden chair. She holds a paperback book with a colorful cover, her eyes intently scanning the pages as she gently flips them with her right hand. The background reveals a sunlit room with a large window, through which warm golden light streams in, illuminating the light brown wooden floor. A small vase with pink flowers rests on the table beside her, and a bookshelf filled with various book spines lines the wall behind her. Throughout the scene, Gwen remains absorbed in her reading, occasionally pausing to furrow her brow slightly before continuing to turn the pages.", "original_prompt_en": "Gwen Stacy reading a book"}
|
||||
{"index": 745, "data": "A medium shot captures Iron Man, clad in his iconic red - and - gold armored suit with a glowing circular arc reactor on his chest, flying through the sky. Blue energy jets from the repulsors on his back and legs, propelling his flight. The background shows a clear blue sky dotted with white clouds, with faint city skyscraper outlines below. He holds a streamlined stance, arms slightly bent, legs together, occasionally adjusting his path. The camera tracks his movement, capturing his figure gliding across the sky from a side angle, the armor shimmering under the sunlight.", "original_prompt_en": "Iron Man flying in the sky"}
|
||||
{"index": 746, "data": "A panoramic shot in an oil - painting style depicts The Bund in Shanghai. The European - styled buildings, with warm - yellow and dark - brown facades, have thick, textured brushstrokes on their exteriors, arranged in an orderly yet diverse manner along the Huangpu River's bank. Their vintage spires and arched windows/doors are distinctly visible. The Huangpu River, rendered like a delicately brushed canvas, has deep - blue water with subtle ripples, reflecting the warm - colored silhouettes of the buildings. A few retro - styled cruise ships, rich in vibrant hues, glide slowly on the river, their red - and - white hulls standing out strikingly against the oil - painting - like water. Along the riverside walkway, pedestrians (with figures softened by the oil - painting’s hazy brushstrokes) stroll or pause to admire the view, their varied - colored attire blending artistically. The sky, painted in a light blue with fluffy, brush - marked white clouds, merges with the distant building outlines in a dreamy, painterly haze. The entire scene, with high color saturation and bold, expressive brushstrokes, evokes a nostalgic, artistic ambiance, freezing Shanghai’s Bund in a “living” oil painting.", "original_prompt_en": "The bund Shanghai, oil painting"}
|
||||
{"index": 747, "data": "A medium shot captures Yoda, the green - skinned, big - eared Jedi Master, standing on a brightly lit stage. He is clad in his signature brown robe with a broad brown belt. In his hands rests a wooden acoustic guitar, its surface smooth and strings glinting under the stage lights. His long, green fingers skillfully pluck the strings as he plays, his eyes fixed on the instrument with a focused expression. The stage background is illuminated by vibrant stage lights—warm yellows and cool blues intermingle—while dark silhouettes of audience members fill the distance, suggesting a live performance atmosphere. The camera stays steady, capturing Yoda’s gentle sway as he plays the guitar, completely absorbed in the music.", "original_prompt_en": "Yoda playing guitar on the stage"}
|
||||
{"index": 748, "data": "A wide shot captures a beautiful coastal beach in spring, rendered in the Ukiyo - e style reminiscent of Hokusai’s works. The pale golden sand stretches smoothly, its fine grains glistening under soft sunlight. Gentle turquoise waves lap rhythmically against the shore, their crests frothing into delicate white foam before receding to leave wet, glistening patches on the sand. The sky above is a clear azure with wispy white clouds drifting lazily. In the distance, the hazy blue horizon merges with the sea, and a few small fishing boats dot the water, their sails faint silhouettes. The camera pans slowly along the shoreline, emphasizing the tranquil rhythm of the waves lapping the sand, while the Ukiyo - e - style rendering lends the scene a delicate, wood - block - print - like quality, with soft color gradients and elegant linework that echo Hokusai’s distinctive aesthetic.", "original_prompt_en": "A beautiful coastal beach in spring, waves lapping on sand by Hokusai, in the style of Ukiyo"}
|
||||
{"index": 749, "data": "Panoramic shot of a beautiful coastal beach in spring, styled after Vincent van Gogh’s vivid, textured artwork. Light turquoise waves with frothy white edges lap rhythmically against the golden - beige sandy shore, where fine grains glisten as the tide recedes. The sky above is a striking cerulean, adorned with swirling white clouds that mimic Van Gogh’s dynamic brushstrokes. In the distance, the hazy horizon blends the deep blue sea and sky, with a small sailboat—its white sail rendered in bold, painterly strokes—drifting faintly. The camera remains fixed, capturing the gentle, repetitive motion of waves caressing the sand, while the entire scene radiates the dreamy, expressive quality emblematic of Van Gogh’s coastal scenes.", "original_prompt_en": "A beautiful coastal beach in spring, waves lapping on sand by Vincent van Gogh"}
|
||||
{"index": 750, "data": "A medium shot captures a white leisure boat with a blue stripe along its side sailing leisurely along the calm Seine River, the water’s surface glistening under the golden sunlight. In the background, the iconic Eiffel Tower, with its intricate iron lattice structure, stands proudly against a clear sky with a few scattered clouds. The riverbanks are lined with elegant Parisian buildings, their classic architecture and green - leafed trees creating a picturesque scene, while a few people are seen walking along the riverside walkway. The boat moves at a relaxed pace, its bow gently cutting through the water as it journeys past the scenic riverfront, with the Eiffel Tower providing a stunning backdrop throughout the scene.", "original_prompt_en": "A boat sailing leisurely along the Seine River with the Eiffel Tower in background"}
|
||||
{"index": 751, "data": "The sky is overcast with heavy rain. A long shot captures an empty street at evening, the wet asphalt glistening under dim streetlights. A dark gray sedan is moving slowly along the street, its windshield wipers swishing rhythmically to clear the rain. The background reveals shadowy silhouettes of tall buildings with sparse illuminated windows, and the air is filled with a misty rain haze. The camera remains fixed, focusing on the car’s deliberate, slow movement as raindrops create tiny splashes on the road. On either side of the street, leafless trees stand in the rain, their branches drooping, and a single streetlight casts a pale yellow glow, emphasizing the solitude of the rainy, empty street.", "original_prompt_en": "A car moving slowly on an empty street, rainy evening"}
|
||||
{"index": 752, "data": "Medium shot captures a gray - furred cat with a white chest eating food from a red ceramic bowl. The cat bends its head down, its small mouth opening and closing as it chews the food, and its tail sways gently behind it. The bowl is placed on a wooden floor, with some stacked cardboard boxes and a potted plant with green leaves in the background. The camera stays fixed, clearly showing the cat's focused eating posture; the cat occasionally lifts its head to look around before quickly lowering it to continue eating.", "original_prompt_en": "A cat eating food out of a bowl"}
|
||||
{"index": 753, "data": "Medium shot captures a gray domestic cat wearing sleek black sunglasses at a swimming pool. The cat is perched casually on the white - tiled pool edge, with its tail curled loosely behind it and its ears perked up. The pool water glistens under the bright sun, and a blue inflatable float drifts gently on the surface. In the background, beige lounge chairs with striped cushions are arranged neatly, a yellow sun umbrella casts a soft shadow, and tall palm trees with green fronds rustle in the breeze. The sky is clear and bright blue, dotted with a few fluffy white clouds. Fixed shot, the cat remains still, exuding a relaxed and cool demeanor as it soaks in the poolside atmosphere, while the camera stays steady to highlight its stylish sunglasses and the vibrant pool environment.", "original_prompt_en": "A cat wearing sunglasses at a pool"}
|
||||
{"index": 754, "data": "Medium shot of a confused black - and - white panda in a calculus classroom. The panda, seated at a wooden desk, has its right paw raised to its head (scratching in bewilderment) while its left paw rests on an open textbook filled with complex calculus formulas. Its round black eyes dart between the textbook and a crumpled sheet of paper covered in mathematical symbols, wide with confusion. The background reveals a classroom setting: a chalkboard with blurry calculus equations, wooden desks with other students (some glancing toward the panda), pale walls, and a window casting soft light. The camera remains fixed, capturing the panda’s perplexed posture as it fidgets with the paper, ears drooping slightly.", "original_prompt_en": "A confused panda in calculus class"}
|
||||
{"index": 755, "data": "A medium shot captures a cute, fluffy panda with black - and - white fur sitting at a wooden table in a cozy Chinese restaurant. The panda holds a pair of chopsticks in its right paw, delicately picking up a piece of steaming dumpling from a white porcelain plate with red patterns. The restaurant’s background features traditional red lanterns hanging from the ceiling, wooden chairs with cushioned seats, and walls adorned with Chinese calligraphy scrolls. Several ceramic bowls and chopstick rests are neatly arranged on the table, and soft ambient light from paper lanterns casts a warm glow. The panda chews slowly, savoring the dumpling, its round black eyes sparkling with contentment as it occasionally glances around the restaurant.", "original_prompt_en": "A cute fluffy panda eating Chinese food in a restaurant"}
|
||||
{"index": 756, "data": "The sun is setting, painting the sky with warm orange and pink hues. A medium full shot captures a cute, happy Corgi with a fluffy tricolor (brown, white, and black) coat and a short, stumpy tail wagging enthusiastically. The Corgi is playing in a lush green park, with grass under its paws and scattered autumn leaves around. In the background, there are tall trees with golden foliage, a few park benches, and distant playground equipment. The Corgi bounces around, chasing a fallen leaf, then pauses to lick its nose before dashing towards a small stick on the ground. The camera follows its movements, panning gently to keep the playful pup in frame, while the soft sunset light casts a golden glow over the scene.", "original_prompt_en": "A cute happy Corgi playing in park, sunset"}
|
||||
{"index": 757, "data": "[A medium shot captures a cute raccoon with soft brown fur and distinctive black facial markings, seated in a small wooden boat that gently floats on the deep blue ocean’s rippling surface. The raccoon holds a small, light - brown acoustic guitar, strumming its strings with lively enthusiasm. The background reveals an expansive ocean, with gentle waves undulating under a clear, sunny sky dotted with a few fluffy white clouds on the horizon. The boat rocks slightly with the water’s movement as the raccoon continues to play the guitar, its bushy tail with alternating black and white rings curled around its body.]", "original_prompt_en": "A cute raccoon playing guitar in a boat on the ocean"}
|
||||
{"index": 758, "data": "Panoramic shot of a happy fuzzy panda with black - and - white fur playing a wooden guitar beside a campfire. The panda sits on a snow - dotted grassy patch, its paws nimbly plucking the guitar strings with a wide - eyed, joyful look on its face. The campfire burns brightly, orange flames dancing and crackling, surrounded by stacked firewood. In the background, majestic snow - capped mountains rise, their white peaks glistening under a clear blue sky. The ground around the campfire is a mix of brown soil and snow patches, with a few dry branches scattered nearby. The camera remains fixed, capturing the panda’s cheerful strumming and the warm glow of the fire contrasting with the cold, snowy mountain backdrop.", "original_prompt_en": "A happy fuzzy panda playing guitar nearby a campfire, snow mountain in the background"}
|
||||
{"index": 759, "data": "A wide shot captures a bright white lightning bolt striking the top of the iconic Eiffel Tower in Paris. The Eiffel Tower, with its intricate metal lattice structure, stands prominently against a backdrop of heavy, lead - gray dark clouds that fill the entire sky, creating a gloomy and dramatic atmosphere. The lightning, jagged and vividly bright, momentarily illuminates the tower and the surrounding clouds as it hits the tower's apex. The camera remains fixed, focusing on the striking moment when the natural force interacts with the man - made landmark.", "original_prompt_en": "A lightning striking atop of eiffel tower, dark clouds in the sky"}
|
||||
{"index": 760, "data": "A panoramic shot of a modern art museum’s interior. The museum’s walls are painted a clean white, serving as a striking backdrop for the numerous colorful paintings on display—some are abstract works with swirling patterns in vivid red, electric blue, and golden yellow, while others are realistic landscapes brimming with rich, saturated hues like lush green and deep purple. These artworks, each framed in simple yet elegant black or white frames, are evenly spaced along the walls. The floor is made of polished light - brown wood, and soft, warm - toned lights from modern fixtures overhead cast a gentle glow over the space. In the background, a few sleek, metallic display stands hold smaller art pieces, and the camera slowly pans to the left, revealing more of the gallery with additional colorful paintings coming into view, all contributing to the vibrant, contemporary atmosphere of the museum.", "original_prompt_en": "A modern art museum, with colorful paintings"}
|
||||
{"index": 761, "data": "Medium shot captures a black - and - white panda cooking in a cozy kitchen. The panda, with its iconic black - and - white fur, stands upright in front of a wooden countertop. In its right hand, it holds a wooden spatula, carefully stirring a pot of steaming food on a stainless - steel gas stove. The countertop is cluttered with fresh ingredients: sliced green cucumbers, red tomatoes, and a white cutting board with a stainless - steel knife resting on it. The kitchen background showcases white tiled walls, wooden cabinets with silver handles, and a set of hanging stainless - steel utensils. The camera stays fixed, focusing on the panda’s concentrated demeanor as it continues to stir the food, occasionally adjusting the pot with its left paw.", "original_prompt_en": "A panda cooking in the kitchen"}
|
||||
{"index": 762, "data": "Medium shot captures a giant panda with distinctive black - and - white fur playing on a wooden swing set. The panda, with a round body and characteristic black eye patches, sits on the flat seat of the swing, gripping the sturdy brown ropes with its front paws as it gently sways back and forth. The swing set stands on a patch of green grass, and the background features a lush bamboo forest with tall, slender bamboo stalks and dense green foliage. The sky is partly cloudy, with soft white clouds drifting. The camera remains fixed, capturing the panda’s playful movements as it enjoys the swing, occasionally looking around with its curious black eyes.", "original_prompt_en": "A panda playing on a swing set"}
|
||||
{"index": 763, "data": "A medium shot captures a polar bear with thick, snow - white fur standing on a snow - covered ice floe. The bear holds a brown wooden guitar with both paws: its right paw strums the strings rhythmically while its left paw presses the frets. The background reveals an icy Arctic landscape, with towering icebergs and a clear blue sky. The camera stays steady, focusing on the polar bear as it seems immersed in playing the guitar, occasionally swaying its body slightly to the rhythm.", "original_prompt_en": "A polar bear is playing guitar"}
|
||||
{"index": 764, "data": "Medium shot of a raccoon dressed in a black suit with a white shirt and a red tie, standing on a stage. The raccoon holds a golden trumpet with both paws, pressing the valves, and its mouth rests on the mouthpiece, appearing to play the trumpet. The stage background features a dark curtain with colorful spotlights and decorative musical notes. The camera remains fixed, capturing the raccoon’s focused posture—its bushy tail, marked by black rings, curls behind it, and its masked face is intent on the performance.", "original_prompt_en": "A raccoon dressed in suit playing the trumpet, stage background"}
|
||||
{"index": 765, "data": "A medium shot captures a robot DJ with a metallic body and glowing blue circuitry operating a turntable. The scene is set on a futuristic Tokyo rooftop at night, drenched in heavy rain, with a cyberpunk aesthetic—neon lights from holographic billboards reflect off the wet surfaces, and towering skyscrapers with glowing neon lines and floating drones fill the background. The robot’s mechanical arms move precisely over the turntable, and raindrops streak down the camera’s view, enhancing the sci - fi fantasy atmosphere. The camera remains fixed, focusing on the DJ as rain pours, illuminating the scene with the vibrant, neon - lit cityscape behind it.", "original_prompt_en": "A robot DJ is playing the turntable, in heavy raining futuristic tokyo rooftop cyberpunk night, sci-fi, fantasy"}
|
||||
{"index": 766, "data": "A medium shot captures a gray shark with a sleek, streamlined body swimming gracefully in the crystal - clear Caribbean ocean. The shark’s dorsal fin slices through the bright turquoise water, and its tail undulates rhythmically as it moves forward. The ocean is exceptionally clear, revealing vibrant coral reefs in shades of red, orange, and green, along with small, colorful tropical fish darting about in the background. The camera follows the shark’s movement, smoothly panning to keep it in frame as it glides through the water, showcasing the serene yet lively underwater ecosystem of the Caribbean.", "original_prompt_en": "A shark swimming in clear Caribbean ocean"}
|
||||
{"index": 767, "data": "Panoramic shot of a super robot safeguarding a futuristic city. The robot, with a towering metallic silver frame and glowing red energy veins across its torso, stands amidst a city in turmoil. Its head is a sleek black dome with a vertical blue light strip for eyes, and mechanical wings unfold behind it, ready for flight. Around it, chaos reigns—smoke rises from a collapsing skyscraper, and a tentacled alien creature attacks a highway overpass. The super robot activates its arm - mounted laser cannons, firing red beams at the creature, while its left hand extends to catch a falling police car, placing it safely on the ground. The background features glass skyscrapers, hovering drones, and a sky with scattered gray clouds, emphasizing the high - tech crisis. The camera pans right, tracking the robot as it moves to intercept another threat, embodying the city’s last line of defense.", "original_prompt_en": "A super robot protecting city"}
|
||||
{"index": 768, "data": "Medium shot of a brown teddy bear with soft and fluffy fur, wearing a blue - white striped apron, standing in front of a white kitchen sink. The teddy bear holds a yellow sponge in its right paw, carefully scrubbing a white ceramic plate covered with soapy bubbles. Clear water flows from the silver faucet, and a green dish - soap bottle is placed on the left side of the sink. Behind it, wooden cabinets with silver handles and a window with checkered curtains can be seen. The teddy bear rinses the plate under the running water and then puts it on a drying rack with other colorful dishes. Its left paw gently holds the edge of the sink, maintaining a focused posture during the entire dish - washing process.", "original_prompt_en": "A teddy bear washing the dishes"}
|
||||
{"index": 769, "data": "A wide shot at night captures an epic tornado, made of swirling smoke, attacking above a glowing city. The city below radiates with vibrant neon lights and scattered building lights, painting the dark night sky with colorful glows. The tornado, with its churning gray - smoke structure, twists menacingly as it advances over the city, its smoky form expanding and roiling. The dark night sky serves as a backdrop, highlighting the stark contrast between the city’s luminous glow and the ominous, smoke - formed tornado, creating a dramatic and threatening scene.", "original_prompt_en": "An epic tornado attacking above a glowing city at night, the tornado is made of smoke"}
|
||||
{"index": 770, "data": "A medium full - shot oil painting depicts a couple in elegant formal evening wear. The man, with neatly combed dark hair, is dressed in a black tailcoat paired with a white dress shirt and a black bow tie. The woman is adorned in a floor - length, shimmering silver evening gown with delicate lace details at the neckline. They are caught in a heavy downpour, each holding a black umbrella with curved wooden handles. Raindrops hammer the umbrellas and splash onto their pristine attire, creating glistening wet patches. The background shows a dimly lit night street, with the blurred outlines of street lamps casting a warm glow through the rain, and puddles on the cobblestone road reflecting the faint light. The couple takes cautious steps forward, their postures tense as they try to shield themselves from the relentless rain, the fabric of their gowns and the man’s tailcoat clinging slightly to their bodies due to the moisture.", "original_prompt_en": "An oil painting of a couple in formal evening wear going home get caught in a heavy downpour with umbrellas"}
|
||||
{"index": 771, "data": "A medium shot captures a clown fish swimming through a vibrant coral reef. The clown fish, with its distinctive orange body adorned with white stripes and black outlines, moves gracefully, its fins gently flapping as it navigates the intricate, multicolored coral formations—corals in hues of red, purple, and green, with tiny, iridescent fish darting among the crevices. The clear blue seawater surrounds the reef, with sunlight filtering from the water’s surface, casting dappled light on the reef and the fish. The clown fish weaves in and out of the coral structures, occasionally pausing to examine a small anemone, before continuing its journey. The camera follows the fish’s movement, smoothly tracking its path through the reef.", "original_prompt_en": "Clown fish swimming through the coral reef"}
|
||||
{"index": 772, "data": "Panoramic shot captures a hyper - realistic spaceship landing on Mars. The spaceship has a sleek, metallic silver - gray exterior with blue - glowing thrusters at the bottom. As it descends, the thrusters emit faint orange flames, stirring up the red Martian dust below. The Martian surface is a vast expanse of rust - colored sand dotted with scattered gray rocks and small craters. The sky above is a hazy orange - red, with the silhouettes of distant, jagged Martian mountains in the background. The spaceship slowly lowers toward the ground, its landing gear gradually extending. The camera remains fixed, capturing the detailed process of the spaceship's landing, from the initial descent to the gentle contact of the landing gear with the Martian surface, while the dust around it swirls and then slowly settles.", "original_prompt_en": "Hyper-realistic spaceship landing on Mars"}
|
||||
{"index": 773, "data": "Panoramic shot of The Bund in Shanghai, brimming with vibrant colors. The iconic European - style buildings line the Huangpu River, their facades displaying a rich array of warm yellows, deep reds, and crisp whites, glistening under the bright sunlight. The Huangpu River reflects the vivid hues of the sky and buildings, with colorful cruise ships sailing leisurely on the water. Along the riverside promenade, pedestrians in brightly - colored clothing stroll, chat, or take photos, enhancing the lively ambiance. The sky is a vivid, clear blue with fluffy white clouds. The camera pans slowly from left to right, capturing the bustling yet picturesque scene of the Bund, where the vibrant colors of architecture, nature, and human activity blend harmoniously.", "original_prompt_en": "The bund Shanghai, vibrant color"}
|
||||
{"index": 774, "data": "A medium shot captures Vincent van Gogh, with his distinctive red beard and tousled brown hair, painting intently at an easel in a cluttered room. He wears a dark, worn coat and a wide - brimmed hat, his hand moving the brush across the canvas to lay down vibrant, swirling colors. The room is filled with art supplies: scattered paint tubes, a wooden palette with blobs of paint, and half - finished canvases propped against the walls. Sunlight filters through a small window, casting soft shadows on the wooden floor, which shows signs of wear. The camera remains fixed, focusing on Van Gogh as he loses himself in the act of painting, occasionally pausing to mix colors on his palette before continuing his work.", "original_prompt_en": "Vincent van Gogh is painting in the room"}
|
||||
{"index": 775, "data": "Panoramic shot of numerous yellow flowers with delicate golden petals and slender green stems. The flowers, each with a subtle brown center, are scattered across a lush green meadow. The background is a clear blue sky with fluffy white clouds drifting by. The flowers swing gently in the wind, their petals rustling softly, and the camera remains fixed, capturing the tranquil motion of the blossoms as they dance with the breeze.", "original_prompt_en": "Yellow flowers swing in the wind"}
|
||||
{"index": 776, "data": "Panoramic shot of a narrow alley. The ground is paved with uneven gray flagstones, patches of green moss clinging to their edges. On either side, aged brick walls rise, their surfaces dotted with peeling paint, faded graffiti, and a red cloth hanging from a clothesline. A rusty metal trash can and a bicycle with a flat tire lean against the left wall, while a stack of cardboard boxes rests near the right wall’s base. The sky is overcast, casting a dim, diffused light. A woman in a brown coat walks slowly from the alley’s far end toward the camera, her steps echoing on the flagstones, and the camera pans left to follow, revealing more of the brick walls’ cracks and a cat crouched near a drainpipe. In the background, tall buildings loom, their windows reflecting the gray sky.", "original_prompt_en": "alley"}
|
||||
{"index": 777, "data": "Panoramic shot of a vibrant amusement park. The scene is filled with colorful rides: a towering Ferris wheel with bright red and yellow cabins slowly rotating, a looping roller coaster with blue and white tracks where trains zoom by, and a classic carousel with intricately carved horses in pastel hues spinning gently. Crowds of visitors, including families with children in playful outfits, teenagers in casual clothes, and couples holding hands, move around the park. Some kids with balloon animals in their hands run toward the candy - colored game stalls, while a group of friends in matching T - shirts queues excitedly for the water ride. The background shows a clear blue sky with fluffy white clouds, and the park’s vibrant marquees and decorative lights add to the festive atmosphere. The camera pans across the park, capturing the joyful chaos: a clown in a rainbow - colored outfit juggles balls near the entrance, and a group of performers in shiny costumes dance on a small stage. Rides like the swinging pirate ship rock back and forth, and the bumper cars in the corner are filled with laughing drivers.", "original_prompt_en": "amusement park"}
|
||||
{"index": 778, "data": "Panoramic shot of an aquarium. The clear blue water hosts a vibrant array of marine life: red parrotfish with glossy scales, blue angelfish with delicate, flowing fins, and transparent jellyfish drifting lazily, their tentacles undulating like gossamer. The tank’s base features a lifelike coral reef—orange - pink corals with textured surfaces and lush green aquatic plants swaying gently with the water’s current. Beyond the aquarium’s glass wall, blurred silhouettes of visitors are visible, and soft white - and - blue lighting lends a dreamy ambiance. The camera pans right, capturing a school of golden - yellow fish swimming in unison from left to right, their scales shimmering. A sea turtle emerges leisurely from behind the coral, its flippers propelling it forward in a calm glide. Some fish hover motionless near the corals, while others dart swiftly between the plants, creating a lively contrast.", "original_prompt_en": "aquarium"}
|
||||
{"index": 779, "data": "A medium shot captures a weathered stone arch with intricate carvings, standing motionless amidst a lush green garden. The arch, grayish - brown with mossy patches, showcases smooth stone blocks with visible cracks, hinting at its aged structure. The background features tall leafy trees, a clear blue sky with scattered clouds, and a cobblestone path winding beneath the arch. The camera remains fixed, highlighting the arch’s stable presence as vibrant flowers bloom at its base and a small bird flutters near its stone ledge.", "original_prompt_en": "arch"}
|
||||
{"index": 780, "data": "Panoramic shot of an art gallery. The interior features white walls adorned with various artworks—vibrant oil paintings in dark wooden frames, delicate watercolors in silver metal frames, and bold abstract prints in black plastic frames. The floor is smooth marble, reflecting the warm glow of ceiling lights. In the background, display pedestals hold sculptures: a bronze statue with intricate details and a white plaster figure with flowing curves. Several visitors are present: a woman in a navy dress stands before a landscape painting, hands clasped behind her back, gazing intently; a man in a gray suit and a child in a red sweater examine a modern abstract piece, whispering. The camera slowly pans right, revealing more artworks (including a large portrait with bold brushstrokes) and a glass case showcasing a delicate ceramic artwork, as groups of visitors—some in casual attire, others formal—move between exhibits, discussing in low voices.", "original_prompt_en": "art gallery"}
|
||||
{"index": 781, "data": "A medium shot captures a neatly organized bathroom. The walls are clad in white and light - blue subway tiles, and the floor is covered with smooth light - gray ceramic tiles. At the center, a white sink with a sleek silver faucet is positioned beneath a rectangular mirror, which reflects the room’s warm and diffused lighting. A sky - blue towel hangs neatly on a chrome rack to the right of the sink, and a small potted succulent rests on the sink’s edge, adding a touch of greenery. To the left, a white toilet with a closed lid is in the corner, and a glass - enclosed shower with a rainfall showerhead (its glass panels glistening) stands at the far end. Adjacent to the shower, a white bathtub with a wooden bath tray—on which a lit candle and a folded towel are placed—invites relaxation. Wooden cabinets with white handles line the back wall, and their doors conceal neatly arranged toiletries. The camera remains fixed, capturing the serene and spotless space, where every element, from the polished faucet to the neatly hung towel, exudes order and calm.", "original_prompt_en": "bathroom"}
|
||||
{"index": 782, "data": "A medium shot of a cozy bakery shop on a bustling street. The shop features a wooden signboard with \"Bakery\" in golden letters, and large glass windows showcasing an array of freshly baked goods—flaky croissants in golden - brown, round loaves of wheat bread with a rustic crust, and colorful fruit tarts with glistening toppings. Inside, a young female shopkeeper, wearing a white apron over a light blue dress, is arranging a tray of cinnamon rolls on the display shelf, her hands moving gently as she adjusts each pastry. Outside, a few pedestrians pause to peek through the window, and a bicycle with a wicker basket is parked by the door. The background includes neighboring shops with vibrant awnings, and the street is lined with green trees, with sunlight filtering through the leaves and casting warm shadows on the pavement. The camera lingers, capturing the inviting scene and the gentle movements of the shopkeeper as she tidies the display.", "original_prompt_en": "bakery shop"}
|
||||
{"index": 783, "data": "Medium shot of a grand ballroom. The room is adorned with crystal chandeliers hanging from the ceiling, casting warm golden light. The walls are lined with mirrors, reflecting the dancers. The polished wooden dance floor occupies the center, where several couples in formal attire—women in elegant gowns, men in tailored suits—are dancing gracefully. A live band plays in the corner, with musicians in black uniforms. The background features a bar with glassware and a few guests chatting, and the walls are decorated with ornate paintings. The camera pans across the dance floor, capturing the couples twirling and gliding, their movements synchronized to the melodious music. Some dancers laugh as they spin, while others maintain a poised posture, showcasing the refined atmosphere of the ballroom.", "original_prompt_en": "ballroom"}
|
||||
{"index": 784, "data": "A medium shot reveals a cozy bar with dark wooden paneling and warm, yellow - toned lighting. The bar counter, polished to a shiny finish, occupies the lower half of the frame. On the back shelf, there is a row of crystal - clear glassware and an array of liquor bottles, ranging from deep amber whiskies to vibrant green liqueurs. A bartender with short black hair, dressed in a black shirt and a white apron, is in the middle of mixing a drink: his right hand grips a metal cocktail shaker, while his left hand holds a jigger, carefully measuring a clear liquid. To the left of the bartender, a patron in a gray suit sits, swirling the contents of a whiskey glass. The background features a brick wall with framed artwork, and soft jazz music plays subtly, enhancing the intimate atmosphere. The camera remains steady, capturing the bartender’s fluid movements as he shakes the cocktail, with the ice clinking rhythmically inside the shaker.", "original_prompt_en": "bar"}
|
||||
{"index": 785, "data": "Long shot of a rustic wooden barn standing in a sprawling green field. The barn features weathered brown planks, a sloped dark gray roof, and white - framed windows. A dirt path leads to its large wooden doors, which are slightly ajar. In the background, tall trees sway gently under a clear blue sky with fluffy white clouds. Fixed shot, the barn remains still, with a gentle breeze rustling the surrounding grass and a few birds perched on its roof.", "original_prompt_en": "barn"}
|
||||
{"index": 786, "data": "Long shot of a dimly lit basement. The walls are rough gray concrete, with aged pipes snaking along the ceiling. In the center, an old wooden workbench stands, cluttered with dusty cardboard boxes, a rusty metal toolbox, and scattered tools. To the left, a tall metal shelving unit holds stacked plastic crates and faded cardboard boxes, some slightly ajar. The concrete floor is dotted with small debris, and faint dust motes swirl in the sparse light. In the background, a single bare light bulb hangs from a wire, casting a faint, flickering yellow glow that barely reaches the far corners. The scene is static, with no visible movement—only the subtle drift of dust particles in the air, and the quiet creak of the wooden bench under the weight of its clutter.", "original_prompt_en": "basement"}
|
||||
{"index": 787, "data": "Panoramic shot of a beach. The golden sandy beach stretches along the shore, with fine grains glistening under the sunlight. The azure sea has gentle waves lapping the shore, creating small foamy ripples. On the beach, some people lie on colorful beach towels, sunbathing with relaxed postures, while a few children in swimsuits are building sandcastles, their hands busy shaping the wet sand. A couple in casual beachwear walks along the water’s edge, their feet occasionally touching the cool seawater. In the background, tall palm trees sway gently in the breeze, and a few white sailboats dot the distant horizon. The sky is clear and blue, with fluffy white clouds drifting lazily. The camera pans slowly to the right, capturing more of the lively beach scene—some swimmers frolicking in the waves, seagulls soaring overhead, and more sunbathers enjoying the warm sunshine.", "original_prompt_en": "beach"}
|
||||
{"index": 788, "data": "A medium shot of a cozy bedroom. The bed, with white and gray striped bedding, is centered against the back wall, flanked by two wooden bedside tables—each holding a small lamp with white lampshades. A plush beige rug covers the light wooden floor, and a tall wardrobe with mirrored doors stands on the right, reflecting the room’s soft, warm lighting. The walls are painted a calm light blue, and a framed landscape hangs above the bed. In the foreground, a white armchair with a colorful throw pillow sits near a window draped with sheer white curtains, through which soft natural light filters in. The camera slowly pans right, revealing a desk with a laptop and potted plant in the corner, and a laundry basket tucked beside it. The room exudes a peaceful, lived - in charm, with a few books stacked on the bedside table and a cozy blanket folded at the foot of the bed.", "original_prompt_en": "bedroom"}
|
||||
{"index": 789, "data": "A long shot captures a gray concrete bridge with a simple beam structure spanning a wide river. The bridge features metal railings on both sides, slightly rusted to show traces of weathering. Below, the river flows gently, its surface reflecting the overcast sky above. On the bridge, a few cars drive slowly, their tires creating soft sounds on the concrete. In the background, tall urban buildings stand to the left, while a lush green forest stretches to the right, all under a sky blanketed with thick gray clouds. The camera pans left to follow a car moving across the bridge, capturing the contrast between the urban architecture and natural greenery surrounding it.", "original_prompt_en": "bridge"}
|
||||
{"index": 790, "data": "A panoramic shot of a vibrant botanical garden. The scene is brimming with a diverse array of plants: colorful flowering shrubs with petals in shades of pink, purple, and yellow, tall green palm trees with broad fronds, and winding stone pathways meandering through the lush greenery. The ground features well - maintained lawns interspersed with patches of soil where small, delicate ferns thrive. In the background, glass greenhouses with metal frames stand, their transparent walls revealing rows of potted plants inside. The sky is clear and blue, with a few fluffy white clouds drifting by. Gentle breezes make the leaves and flowers sway softly. Along the pathways, a few visitors in casual attire stroll leisurely, some pausing to admire the plants or take photos. The camera slowly pans across the garden, capturing the lush vegetation and the tranquil atmosphere.", "original_prompt_en": "botanical garden"}
|
||||
{"index": 791, "data": "Medium shot of a bustling cafeteria. Neatly arranged wooden tables and chairs fill the space, with people in casual clothes seated, chatting and eating. In the background, a stainless - steel food counter displays trays of colorful meals like steamed rice, vivid stir - fries, and savory meat. Cafeteria staff in white uniforms and hairnets replenish food. Walls have bright nutrition posters, and warm fluorescent lights illuminate the scene. The camera stays still, capturing the lively vibe as diners pass trays and laugh.", "original_prompt_en": "cafeteria"}
|
||||
{"index": 792, "data": "Panoramic shot of a campsite nestled in a dense green forest. Three canvas tents—one green, one brown, and one blue—are pitched on a patch of grass mixed with earth. In the center, a campfire with orange flames dances within a circle of gray stones, sending wisps of smoke upward. Around the fire, two campers (a man with a beard in a gray hoodie and a woman with long brown hair in a blue jacket) sit on folding chairs, chatting while a golden retriever lies at their feet. Nearby, a backpack, a rolled - up sleeping bag, and a metal pot with steam rising from it rest on a wooden crate. The background is filled with tall pine trees swaying gently in the breeze, and the sky is clear with a few white clouds drifting. The camera pans slowly to the right, revealing more of the campsite: a clothesline with drying towels, a camping stove with a kettle, and a trail leading into the forest.", "original_prompt_en": "campsite"}
|
||||
{"index": 793, "data": "Panoramic shot of a vibrant campus. The campus is dotted with red - brick teaching buildings, a library with expansive glass windows, and dormitory buildings with balconies. Students, mostly young East Asian individuals, are spread across the scene—some stride briskly along paved pathways, backpacks in tow; others lounge on the lush green lawn, chatting or poring over books. The ground is a blend of neatly manicured grass and stone - laid paths. The background showcases a sports field with a running track, where a few students are jogging. The sky is clear and blue, with a handful of white clouds drifting. The camera pans slowly across the campus, first capturing a group of cyclists pedaling toward the left of the frame, then zeroing in on a cluster of students laughing and strolling near a flower bed brimming with colorful blossoms. Some students are heading into the teaching building, while others are exiting, crafting a lively ambiance of everyday campus life.", "original_prompt_en": "campus"}
|
||||
{"index": 794, "data": "Panoramic shot of a vibrant carrousel in a park. The carrousel features ornately decorated wooden horses with colorful manes and tails, some adorned with golden accents and painted in hues of red, blue, and white. The central structure is topped with a bright, striped canopy in shades of yellow and green, spinning slowly clockwise. Several children and adults are seated on the horses, holding onto the handles with excited expressions, while a few stand nearby, watching. The background shows a lush green park with tall trees, a clear blue sky with fluffy white clouds, and other amusement park rides visible in the distance. The camera remains fixed, capturing the carrousel’s gentle rotation as the horses move up and down in sync with the spinning motion.", "original_prompt_en": "carrousel"}
|
||||
{"index": 795, "data": "A panoramic shot of a majestic stone castle. The castle stands atop a grassy hill, with thick crenellated walls and several cylindrical towers capped with conical roofs—one tower displays a faded flag fluttering in the breeze. The surrounding landscape is a blend of lush green meadows, dense dark forests, and distant misty mountains under a partly cloudy sky. The camera slowly pans around the castle, revealing its intricate stone carvings and a narrow moat filled with still water at its base, while a few birds circle the tallest tower, their wings glinting in the sunlight.", "original_prompt_en": "castle"}
|
||||
{"index": 796, "data": "A panoramic shot of a solemn cemetery. The ground is blanketed with well - trimmed green grass, interspersed with gray stone tombstones of varying sizes—some bearing faded inscriptions, others adorned with small, withered flower bouquets. Tall, leafless trees with gnarled branches stand as silent sentinels around the cemetery, their skeletal limbs reaching toward the overcast sky, where thick gray clouds hang low, casting a somber hue over the scene. In the distance, a weathered iron fence and the silhouette of a small chapel with a pointed roof emerge faintly. A gentle breeze stirs the grass, causing it to ripple softly, while a crow perched on a tombstone flaps its wings and takes flight, momentarily disrupting the eerie stillness.", "original_prompt_en": "cemetery"}
|
||||
{"index": 797, "data": "A medium shot captures a bright classroom. Rows of wooden desks and chairs are neatly arranged, with several East Asian students seated, attentively facing the front. The student in the front row, a girl with long black hair tied in a ponytail, wears a white shirt and blue skirt, her eyes fixed on the blackboard. A young female teacher with short brown hair, dressed in a light blue blouse, stands at the blackboard, holding a piece of chalk and writing equations, her posture focused. The background shows large windows with white frames, through which sunlight streams in, illuminating the light - colored walls and a bookshelf filled with textbooks on the left. The camera remains fixed, capturing the quiet learning atmosphere as students take notes and the teacher continues writing.", "original_prompt_en": "classroom"}
|
||||
{"index": 798, "data": "Long shot of a steep cliff. The cliff face is composed of grayish - brown rocks with visible cracks and weathered textures, and some patches of green vegetation cling to the crevices. Below the cliff, a deep valley unfolds, filled with dense green trees, and a winding river glints in the sunlight. The sky above is clear blue with a few white clouds drifting. The camera slowly pans upward to reveal the full height of the cliff, while a few birds soar around the rocky edges, their wings catching the light as they navigate the air currents.", "original_prompt_en": "cliff"}
|
||||
{"index": 799, "data": "A medium shot of a city street intersection. A crosswalk with bold, white horizontal stripes stretches across the dark asphalt road, its surface subtly textured for traction. In the foreground, several pedestrians—among them a woman in a blue dress carrying a shopping bag, a man in a gray suit glancing at his watch, and a child in a red jacket hopping playfully—are midway through crossing, moving from the right to the left of the frame. To the left, a traffic light glows red, halting a line of vehicles: a sleek black SUV, a white delivery van, and a vibrant yellow taxi, all stationary. The background reveals tall, glass - clad buildings reflecting the overcast sky, with a row of leafy green trees lining the sidewalk, their branches swaying gently in the breeze. The camera pans right, capturing more of the crosswalk and the steady flow of pedestrians, while a cyclist in a bright helmet pedals along the adjacent bike lane, merging into the urban hustle.", "original_prompt_en": "crosswalk"}
|
||||
{"index": 800, "data": "Panoramic shot of a busy city street under an overcast sky. On the left side of the street lies a construction site, covered with green safety nets and supported by orange metal frames. Several cars are parked in the parking spots in front of a nearby building. Above the road, a traffic light glows red (three traffic lights in total), with vehicles—including an orange and a black car in the foreground—either moving or parked. Trees, billboards, and street lamps line both sides of the street, while tall buildings dominate the background. The camera pans right then left, capturing the bustling traffic: some vehicles park roadside, others drive forward (backs to the camera), and cyclists navigate the road too.", "original_prompt_en": "construction site"}
|
||||
{"index": 801, "data": "A medium shot captures a long corridor. The walls are painted in a clean white, and the floor is covered with smooth, light - colored tiles that reflect the soft, warm - hued light from the ceiling lights. Along both sides of the corridor, there are deep - brown wooden doors; some are slightly open, revealing a glimpse of the rooms inside. On the left - hand wall, a few colorful posters are hung, while the right - hand wall has a bulletin board filled with various notices. The camera moves forward slowly, and a person in a blue shirt walks from the right side of the frame to the left, with hands in pockets, heading toward the end of the corridor where a brighter area is visible. In the background, the corridor extends into the distance, with its end partially obscured by a gentle curve, and the faint outline of another section of the corridor can be seen.", "original_prompt_en": "corridor"}
|
||||
{"index": 802, "data": "Panoramic shot of a tranquil courtyard. The ground features winding paths paved with smooth gray flagstones, interspersed with patches of lush green grass dotted with vibrant pink peonies and golden marigolds. Encircling the courtyard are traditional wooden verandas with dark brown beams, from which red lanterns dangle, swaying gently in the breeze. In the background, white - walled buildings with dark gray tiled roofs stand, and several willow trees with drooping light green branches rustle as the wind blows. At the courtyard’s center, a stone table holds a blue - and - white porcelain tea set, while butterflies flit among the flowerbeds. The sky is clear, dotted with fluffy white clouds. The camera remains fixed, capturing the peaceful scene—occasional birds alight on the willow branches, chirping softly, and a cat with orange fur lazily strolls across the lawn.", "original_prompt_en": "courtyard"}
|
||||
{"index": 803, "data": "Panoramic shot of a vast desert. The ground is covered with golden - yellow sand, and the sand dunes show smooth undulations shaped by the wind. The sky is clear and blue, with a few white clouds floating. In the distance, there are some sparse desert shrubs, their branches and leaves withered and curled to adapt to the arid environment. The camera slowly pans to the right, capturing the boundless expanse of the desert. No animals or humans are in sight, only the silent sand extending towards the distant horizon.", "original_prompt_en": "desert"}
|
||||
{"index": 804, "data": "Panoramic shot of a bustling downtown. The streets are filled with a mix of vehicles: sleek sedans, chunky SUVs, and buses, all navigating the busy intersections, their headlights and taillights creating streaks of light. Pedestrians crowd the sidewalks—office workers in sharp suits, students in backpacks, and shoppers with overflowing bags—moving with purpose. Storefronts burst with color: a coffee shop with a chalkboard menu, a boutique with mannequins in the latest fashion, and a bookstore with stacks of bestsellers in the window. The background showcases towering skyscrapers, their steel and glass exteriors glinting under a bright, partly cloudy sky. The camera pans right, then left, capturing the dynamic flow: a delivery truck parks by the curb, a street performer plays a saxophone, and a group of tourists points at a historic building. Some cars are parked along the street, others speed forward, while cyclists dart between them. The atmosphere is electric, with the clatter of traffic, the murmur of conversations, and the distant rumble of a subway beneath the streets.", "original_prompt_en": "downtown"}
|
||||
{"index": 805, "data": "Panoramic shot of a driveway. The driveway is made of smooth light - gray asphalt, stretching from the foreground to the background with a gentle curve. On the left side, there are neatly trimmed green shrubs, and on the right, a white wooden fence. At the far end of the driveway, a black sedan is parked next to a garage with a brown door. The sky is overcast, casting a soft light. A person in a blue jacket walks from the right side of the frame toward the parked car, and the camera stays fixed, capturing the tranquil scene of the driveway. The ground around the driveway is a mix of green grass and small patches of soil, with a few fallen leaves near the shrubs.", "original_prompt_en": "driveway"}
|
||||
{"index": 806, "data": "A panoramic shot of a sun - drenched farm. In the foreground, a weathered wooden fence encloses a lush green pasture where several brown - and - white dairy cows graze leisurely, their tails swishing gently. To the left, a red - roofed barn with white trim stands, its large wooden doors slightly ajar, revealing neatly stacked hay bales inside. A middle - aged farmer, donning a straw hat, a blue plaid shirt, and denim overalls, operates a green tractor in the golden wheat field; the tractor’s wheels churn the soil as it moves slowly forward for harvesting. The background features rolling hills blanketed with dense green trees, and the sky is a clear blue with a few fluffy white clouds drifting. The camera pans right, capturing a group of chickens pecking at the ground near a wooden coop and a horse trotting along a dirt path beside the coop.", "original_prompt_en": "farm"}
|
||||
{"index": 807, "data": "Panoramic shot of a bustling food court. The space is lined with diverse food stalls, their vibrant signboards—some neon - lit, others wooden - made—advertising various cuisines from sushi to street - style pancakes. The polished, warm - toned tile floor reflects the overhead lights. In the foreground, a group of casually dressed young people gather around a metal table, laughing as they share colorful snacks. To the left, a chef in a white uniform and red apron flips golden - brown pancakes on a griddle, with a digital menu cycling above him. The background reveals a modern mall with glass railings and escalators, and the air is filled with the aromas of grilled meat and freshly brewed coffee. The camera pans right, capturing a noodle stall with steam rising, a juice bar with fresh fruit displays, and families navigating crowded aisles. Customers queue, walk with food trays, or point at dessert stalls, while children eye treats excitedly. Lighting combines skylight and warm lamps, creating a lively yet cozy atmosphere.", "original_prompt_en": "food court"}
|
||||
{"index": 808, "data": "Panoramic shot of a football field. The field is covered with lush bright - green natural grass, neatly trimmed, and white boundary lines, center circle, and goal area markings are clearly visible. At both ends of the field, white goalposts with black nets stand firmly. The background has a grand spectator stand with rows of blue seats, and some spectators can be vaguely seen. The sky above is clear and blue with a few white clouds floating. In the foreground, a soccer ball lies on the grass, and a group of players in colorful jerseys are jogging and warming up, full of energy as they prepare for the match. The camera remains steady, capturing the vibrant atmosphere of the football field.", "original_prompt_en": "football field"}
|
||||
{"index": 809, "data": "A panoramic shot of a forest road. The road is a narrow, winding path paved with uneven brown soil and scattered dry leaves, stretching into the distance. On both sides of the road stand tall, verdant trees with thick trunks, their green leaves forming a dense canopy that filters the sunlight into gentle patches on the ground. The underbrush alongside the road is lush with ferns and wildflowers, some in delicate shades of purple and white. The background reveals a deeper, more impenetrable part of the forest, with mist subtly lingering among the trees, giving a sense of mystery. The sky is overcast, casting a soft, diffused light over the scene. A small squirrel scampers across the road from right to left, pausing momentarily to sniff the air before vanishing into the left - side foliage. The camera remains fixed, capturing the tranquil, natural beauty of the forest road, with the rustling of leaves in the gentle breeze adding to the peaceful atmosphere.", "original_prompt_en": "forest road"}
|
||||
{"index": 810, "data": "A panoramic shot captures a fountain in a spacious plaza. The fountain has multiple tiers, with clear water jetting upward and cascading down, creating glistening splashes. The ground around it is paved with light - colored stone tiles. At the plaza’s edges, there are wooden benches and neatly trimmed green shrubs. In the background, several low - rise buildings with white facades and large glass windows are visible, and the sky is a bright blue with a few fluffy white clouds. The camera is fixed, showing the continuous water flow of the fountain as it cycles between spraying and falling. Occasionally, a few pedestrians enter the frame, pausing to admire the fountain before moving on.", "original_prompt_en": "fountain"}
|
||||
{"index": 811, "data": "Panoramic shot of a gas station. The station has a rectangular building with a blue roof and white walls, marked by bright red “GAS” signage. Two silver fuel dispensers with black nozzles stand on smooth black asphalt—one has a white sedan with a blue stripe parked, its engine off as it refuels. A man in a gray jacket checks his black SUV’s tire pressure, while a woman in a pink dress walks toward the station’s convenience store (with glass windows showing snack shelves). The sky is clear blue, and distant green trees line the horizon. The camera stays fixed: a few cars drive past on the adjacent road, and a worker in a yellow uniform wipes a dispenser.", "original_prompt_en": "gas station"}
|
||||
{"index": 812, "data": "Long shot of a massive glacier under a clear blue sky. The glacier, with its deep blue ice interspersed with white snow patches and dark, jagged cracks, occupies the central part of the frame. The surface glistens in the sunlight, revealing layers of compressed ice. At the base, a turquoise glacial lake reflects the glacier’s towering form, with small icebergs floating gently. The background features rugged, snow - capped mountain peaks stretching across the horizon. The camera slowly pans left, capturing the glacier’s expansive, frozen expanse and the serene, icy landscape surrounding it. A few birds can be seen soaring in the distance, adding a sense of scale to the glacier’s grandeur.", "original_prompt_en": "glacier"}
|
||||
{"index": 813, "data": "Panoramic shot of a golf course. The course is blanketed with lush, well - manicured green grass, dotted with golf holes topped with white flags fluttering gently in the breeze. In the foreground, a golfer with short brown hair, dressed in a navy - blue polo shirt and white shorts, is in the middle of a swing, his golf club slicing through the air as he aims for the green ahead. Nearby, a silver golf cart with black tires is parked beside a sand bunker, its driver, a woman in a pink visor, stepping out to retrieve a golf ball. The fairways stretch out towards the horizon, bordered by tall oak trees with golden leaves, and the sky above is a bright blue, dotted with wispy clouds. The camera pans slowly to the right, capturing more of the expansive course, where groups of golfers are scattered, some putting on the greens, others walking along the cart paths. The grass sways softly in the wind, and the distant mountains add a majestic backdrop to the tranquil scene.", "original_prompt_en": "golf course"}
|
||||
{"index": 814, "data": "Panoramic shot of an indoor gymnasium. The gymnasium features a polished wooden floor with distinct grain patterns, and its walls are painted light gray. In the foreground, several basketball hoops with orange rims and white nets are mounted on metallic poles, while blue exercise mats are neatly stacked along the walls. Treadmills with black frames and white digital displays are positioned near the large windows, which allow soft natural light to filter in. The high ceiling is fitted with bright white fluorescent lights, illuminating the space. In the background, a large scoreboard with red and blue digits is visible, and athletes in sportswear are actively dribbling basketballs across the court. The camera remains fixed, capturing the dynamic atmosphere as people engage in various fitness activities—some running on treadmills, others practicing basketball drills, and a few stretching on the mats—creating a lively energy within the gymnasium.", "original_prompt_en": "indoor gymnasium"}
|
||||
{"index": 815, "data": "A panoramic shot of a bustling harbor. The calm blue water fills the foreground, with various vessels: a large cargo ship loaded with colorful stacked containers, a white yacht with blue trim, and a small fishing boat with a red hull. Concrete docks line the water, equipped with tall yellow cranes standing still, their metal arms reaching toward the sky. The background features tall gray warehouse buildings with large windows, and the sky is overcast with gray clouds. The camera slowly pans right, capturing a small tugboat moving toward the dock, its black smoke billowing gently. Some seagulls fly over the water, and a few workers in orange vests are visible on the dock, walking briskly.", "original_prompt_en": "harbor"}
|
||||
{"index": 816, "data": "Panoramic shot of a highway. The smooth black asphalt road, marked with white lane lines, stretches into the distance. Multiple vehicles—cars, trucks, and motorcycles—move forward; some speed along, others maintain a steady pace. Metal guardrails line both sides, and distant road signs guide traffic. The sky is clear blue with scattered white clouds. The camera pans right, capturing the continuous traffic flow: vehicles’ headlights and taillights create streaks as they move, some overtake, and others enter or exit via ramps. The background features distant buildings or green landscapes, adding depth to the scene.", "original_prompt_en": "highway"}
|
||||
{"index": 817, "data": "A panoramic shot of a modern hospital building with a white facade and large glass windows, displaying a red cross emblem on the front. The hospital is surrounded by green trees and flower beds, with several white ambulances (adorned with red stripes) parked in front. The sky is overcast, and the ground is paved with gray tiles. In the foreground, patients in wheelchairs are being pushed by nurses in white uniforms, while visitors with concerned expressions walk in and out of the automatic glass doors. Medical staff in blue scrubs hurry past, carrying medical equipment. The background shows adjacent buildings and a cloudy sky. The camera pans right to capture the busy entrance: people move steadily (some entering, others exiting), a few cars park along the roadside, and a delivery truck with a “Medical Supplies” logo drives by.", "original_prompt_en": "hospital"}
|
||||
{"index": 818, "data": "A long shot captures a quaint single - story house with a sloped roof, painted in light yellow, standing on a lush green lawn. The house has a dark brown roof, and several rectangular windows with white frames are on its walls. A small wooden porch with a few potted plants is at the front. Around the house, there are tall trees with thick green leaves, and the sky is clear blue with some white clouds. The camera is fixed, quietly presenting the house's peaceful appearance in the natural surroundings.", "original_prompt_en": "house"}
|
||||
{"index": 819, "data": "Long shot of a massive iceberg with a rugged, white icy exterior and deep - blue submerged sections, floating on the dark - blue ocean. The iceberg’s surface displays intricate glacial patterns, with sharp ridges and smooth, snow - capped peaks. The background is a vast, clear blue sky dotted with a few wispy clouds, and the surrounding ocean water is a rich, deep blue. The camera stays fixed, capturing the iceberg’s stately presence as it slowly drifts with the gentle ocean currents. In the distance, a few seabirds soar, enhancing the tranquil, frigid atmosphere of the scene.", "original_prompt_en": "iceberg"}
|
||||
{"index": 820, "data": "Panoramic shot of an industrial area. Multiple gray factory buildings with tall chimneys dominate the scene, from which gray smoke drifts lazily into the overcast sky. On the wide concrete road, a blue freight truck moves steadily toward the right of the frame, while a red forklift busily loads metal containers near a warehouse with corrugated iron walls. The ground, dotted with oil stains and scattered metal scraps, stretches out. In the background, power transformers and tangled wires stand, with a few leafless trees lining the area’s edge. The camera pans right, capturing the continuous movement of vehicles and the steady emission of smoke from the chimneys, emphasizing the bustling industrial activity.", "original_prompt_en": "industrial area"}
|
||||
{"index": 821, "data": "Medium shot of a jail cell. The cell has gray concrete walls, a metal bunk bed with a thin, worn mattress on the left side, and a small metal sink - toilet unit in the corner. A prisoner in a black - and - white striped uniform sits on the bed, with his head bowed and hands resting on his knees in a still, pensive stance. The background reveals the cell’s metal - barred door, and dim light filters through from the corridor outside, casting soft shadows on the floor. Fixed shot: The prisoner remains mostly motionless, only occasionally shifting his weight slightly, capturing the somber and confined atmosphere of the jail cell.", "original_prompt_en": "jail cell"}
|
||||
{"index": 822, "data": "Panoramic shot of a junkyard. The ground is strewn with rusted metal scraps—twisted, dented, and piled haphazardly, glinting dully under the overcast sky. Scattered across the yard are dilapidated vehicles: a faded red sedan with a shattered windshield, a rusted gray van missing its wheels, and a battered blue pickup truck with a caved - in roof. Among the debris, old wooden furniture—like a splintered table, a tattered armchair with frayed upholstery—and broken appliances (a rusted refrigerator, a cracked TV set) lie in disarray. The background features a chain - link fence topped with barbed wire, leaning slightly, and the sky is a murky gray, heavy with clouds. A plastic bag tumbles across the dirt - strewn, oil - slicked ground, propelled by a faint wind. In the foreground, a scrawny stray cat with matted fur paws at a discarded tin can, while in the distance, a crow pecks at a rotting mattress. The camera remains fixed, capturing the still, cluttered expanse of the junkyard, where rusted metal and broken debris create a chaotic, somber scene.", "original_prompt_en": "junkyard"}
|
||||
{"index": 823, "data": "Medium shot of a cozy kitchen with white and gray checkered tiled walls. Wooden cabinets with silver handles line the space, and a stainless steel sink sits beneath a window with white lace curtains, where green potted plants sway gently. On the light brown countertop, a young Asian woman with long black hair, wearing a blue apron, is chopping a red tomato with a sharp knife. Beside her, a glass bowl holds sliced cucumbers, and a stainless steel pot on the stove releases a wisp of steam. The woman pauses to wipe her hands with a white towel, then resumes cutting, and the camera slightly zooms in to capture her focused expression. In the background, a clock on the wall ticks softly, and the faint sound of a refrigerator humming fills the air.", "original_prompt_en": "kitchen"}
|
||||
{"index": 824, "data": "A medium wide shot of an indoor library. Rows of tall wooden bookshelves, laden with a mix of colorful hardcover novels, academic textbooks, and glossy magazines, line the space—some shelves adorned with small potted ferns. In the center, several oak desks with brown leather chairs are arranged, where readers in casual and formal attire engage in quiet activities: one with black - rimmed glasses traces lines in a book with a finger, another types on a silver laptop, the screen glowing softly. Soft, diffused light from recessed ceiling lights and natural light streaming through large windows with white lace curtains bathes the room, highlighting the intricate patterns of the beige carpet. The background features a cozy reading nook with a plush green armchair, a small wooden side table, and a vintage floor lamp casting a warm halo. The camera slowly pans left, capturing a librarian in a navy uniform pushing a metal book cart, organizing books with precise movements, while a student in a gray hoodie browses the shelves, pulling out a book to examine its cover. On the far wall, framed literary prints in gold frames add elegance, and a silent clock ticks above a row of glass - fronted bookcases holding rare editions.", "original_prompt_en": "indoor library"}
|
||||
{"index": 825, "data": "A long shot captures a white lighthouse with red horizontal stripes standing tall on the rocky coastline. Its cylindrical body tapers to a lantern room at the top, designed to emit guiding light. The sky is partly overcast, with patches of blue peeking through the clouds, and soft sunlight casts subtle shadows on the lighthouse’s surface. Below, turbulent ocean waves crash against the gray, jagged rocks, forming frothy white crests. In the distance, a small fishing boat with a white hull and blue trim sails slowly across the water, while seagulls glide past the lighthouse, their wings outstretched. The camera remains fixed, highlighting the lighthouse’s steadfast presence against the dynamic coastal landscape, with the rhythmic motion of waves and the distant boat adding life to the serene scene.", "original_prompt_en": "lighthouse"}
|
||||
{"index": 826, "data": "A medium shot captures a laboratory scene. At the center, a wooden laboratory workbench is cluttered with scientific instruments: a silver microscope with an adjustable lens, a rack holding a dozen glass test tubes (some filled with blue and red liquids), and amber - colored glass bottles with dropper caps. A female researcher with brown hair tied back, wearing a white lab coat and purple nitrile gloves, stands in front of the bench. She holds a glass stirring rod with a smooth and cylindrical tip in her right hand, gently mixing a viscous light - green liquid in a beaker. The background is lined with metal shelves, which are stocked with neatly arranged reagent bottles, a digital scale, and stacks of lab notebooks. The researcher’s posture is focused, her eyes fixed on the beaker as she stirs, highlighting the precise and methodical nature of laboratory work.", "original_prompt_en": "laboratory"}
|
||||
{"index": 827, "data": "Panoramic shot of a grand mansion. The mansion showcases a classic architectural style with white stone walls, tall arched windows, and a steeply - pitched roof covered in dark slate tiles. Ivy creeps up the left facade, adding vibrant greenery. In front, a well - manicured lawn with neatly trimmed hedges and a decorative fountain (water gently splashing) occupies the space. The background is a lush forest with tall trees whose leaves rustle in the breeze, and the sky is clear with a few fluffy clouds. The camera slowly pans right, capturing the mansion’s elegant structure and the serene surrounding landscape in full.", "original_prompt_en": "mansion"}
|
||||
{"index": 828, "data": "A panoramic shot of a marsh. The ground is a patchwork of muddy soil and shallow water, covered with green aquatic plants and moss. Several white - feathered waterfowl with orange beaks wade in the shallow water, pecking at tiny aquatic organisms. The background shows low - lying shrubs and distant trees veiled in mist, under an overcast sky with a hazy light. Tall reeds sway softly in the wind, and the camera pans right to reveal more of the marsh, where water lilies dot the water and small mammals scurry among the vegetation.", "original_prompt_en": "marsh"}
|
||||
{"index": 829, "data": "Long shot captures a majestic mountain range. The central peak, bathed in soft sunlight, is cloaked in dense, dark - green forests, with rugged grayish - brown rock faces visible where the trees thin. At the mountain’s base, a vibrant green meadow spreads out, dotted with tiny, multicolored wildflowers that ripple in the gentle wind. A wispy layer of white mist coils around the mid - slope, lending an ethereal feel to the forested slopes. The background reveals more distant mountain peaks, their forms blurred by a light, bluish haze. The sky above is a clear, bright blue with a few fluffy white clouds drifting lazily. The camera pans slowly to the right, showcasing the continuous expanse of the mountain range, while a pair of eagles glides silently across the sky above the highest peak.", "original_prompt_en": "mountain"}
|
||||
{"index": 830, "data": "A panoramic shot of an indoor movie theater. Neat rows of plush black theater seats with red armrests stretch toward a large, illuminated white screen displaying a paused cinematic scene. The theater’s walls are clad in dark, sound - absorbing panels, and soft, warm light filters from recessed ceiling fixtures, casting gentle shadows. In the foreground, a handful of moviegoers—some in casual hoodies, others in dressier outfits—occupy the seats; a few scroll through their phones, while others sit quietly, anticipating the film’s continuation. The floor, carpeted in a deep blue - gray pattern, dampens noise, and in the background, the faint silhouette of a concession stand with glass cases of candy and a popcorn machine is visible. A fixed shot holds the stillness of the space, with the screen’s light reflecting subtly off the seat upholstery, and the theater remains hushed, save for the soft rustle of a patron’s jacket.", "original_prompt_en": "indoor movie theater"}
|
||||
{"index": 831, "data": "Panoramic shot of an indoor museum. The walls are painted in a soft off - white, adorned with framed artworks and informational plaques. Glass display cases with metallic frames line the corridors, showcasing ancient artifacts—some with intricate carvings, others glinting under the warm, recessed ceiling lights. The polished wooden floor reflects the subtle glow of the lighting, and a few visitors, including a family with children and a couple, wander leisurely, pausing to examine exhibits. In the background, a life - size bronze sculpture stands near a staircase with wrought - iron railings, leading to an upper gallery. The camera slowly pans across the space, capturing the quiet, contemplative atmosphere as people immerse themselves in the exhibits.", "original_prompt_en": "indoor museum"}
|
||||
{"index": 832, "data": "A medium shot of a music studio. The studio has soundproof walls lined with dark gray acoustic panels, and a polished wooden floor. On the left wall, a black electric guitar with a white pickguard hangs, while a white digital keyboard rests on a black stand in the center, its keys glistening under soft overhead lights. A silver microphone with a black pop filter is mounted on a boom arm, positioned above a black leather stool. In the background, a mixing console with colorful faders and two black studio monitors (with silver trim) occupy a wooden desk. A young musician with long brown hair, dressed in a black hoodie, leans over the console, carefully adjusting a knob as he monitors the audio levels. Warm light from a desk lamp casts gentle shadows on the workspace, and a poster of a classic rock band decorates the wall behind him. The camera remains fixed, capturing the studio’s organized, creative ambiance—instruments and equipment poised for a recording session, with the musician’s focused posture highlighting the space’s functional artistry.", "original_prompt_en": "music studio"}
|
||||
{"index": 833, "data": "Medium shot of a cozy nursery. The walls are adorned with cute cartoon - style animal stickers and painted in soft pastel hues. In the middle of the room, a group of East Asian children are playing on a light - colored, fluffy carpet. A little girl with wavy brown hair, dressed in a pink dress with white polka dots, sits cross - legged, holding a plush rabbit and laughing. A boy with short black hair, wearing a blue onesie, crawls towards a stack of colorful building blocks. Against the wall, there is a wooden crib with a white canopy, and a shelf full of picture books and plush toys. In the background, a large window with sheer white curtains allows soft natural light to fill the room. The camera pans to the right, capturing a teacher with long brown hair, wearing a light - green apron, gently helping a toddler stand up. Some children are clapping their hands, while others are sharing toys, creating a warm and lively scene.", "original_prompt_en": "nursery"}
|
||||
{"index": 834, "data": "Panoramic shot of the ocean. The ocean stretches out with a deep blue surface, where gentle ripples create subtle patterns, reflecting the clear blue sky with a few white clouds. In the distance, a light brown sandy coastline is faintly visible, and seagulls with white feathers and gray wings fly overhead. The camera is fixed, capturing the tranquil waves rolling toward the shore. A small white sailboat with a blue hull floats slowly to the right, its sails billowing in the breeze.", "original_prompt_en": "ocean"}
|
||||
{"index": 835, "data": "A medium shot captures an office space. The walls are white, and a wooden desk with a silver laptop occupies the center. A black leather office chair is positioned in front of the desk, and a bookshelf filled with documents and books stands against the back wall. A person in a blue shirt sits at the desk, typing on the laptop. To the left, a green potted plant and a framed photo decorate the space. The camera pans right, revealing a whiteboard with notes and a coffee mug on a side table. Soft light filters through a window with blinds, creating a calm, orderly office environment.", "original_prompt_en": "office"}
|
||||
{"index": 836, "data": "Panoramic shot of a magnificent Chinese palace with red walls and golden glazed tiles. The palace features upturned eaves with intricate carvings, and stone lions stand guard at the entrance. The sky above is clear blue with a few white clouds drifting. The foreground shows a paved courtyard with greenery, and in the background, more traditional buildings with matching architectural styles are visible. The camera slowly pans up to capture the full grandeur of the palace’s roof and the detailed decorations on the eaves, highlighting the vibrant colors of the structure against the serene sky.", "original_prompt_en": "palace"}
|
||||
{"index": 837, "data": "Panoramic shot of a parking lot. The ground is paved with gray asphalt, marked by white parking lines. Several cars of different colors—white sedans, black SUVs, and a red sports car—are parked neatly in the spaces, while a silver hatchback and a blue pickup truck move slowly toward the exit. The background features modern buildings with glass facades, and the sky is clear with scattered white clouds. The camera pans right, capturing a man in a blue shirt approaching his parked car, a woman in a yellow dress opening her trunk, and bicycles parked near a metal rack by the corner. A street lamp with a red sign stands at the entrance, and green shrubs line the perimeter, swaying gently in the breeze.", "original_prompt_en": "parking lot"}
|
||||
{"index": 838, "data": "A medium shot of a pharmacy. The interior is well - lit with white ceiling lights. Along the walls, shelves are packed with various pharmaceutical products: glass bottles with vibrant labels (blue, green, and white), small cardboard boxes of different sizes, and some blister - packed medications. A wooden counter with a glass surface occupies the middle of the room, its surface reflecting the lights. Behind the counter, a pharmacist in a white coat and a blue name tag is gently placing a bottle of painkillers onto the shelf, her hands moving with care. The walls are painted a soft beige, adorned with posters that provide health tips. The camera stays fixed, capturing the orderly arrangement of the pharmacy's inventory.", "original_prompt_en": "pharmacy"}
|
||||
{"index": 839, "data": "A medium shot captures a classic red phone booth with a glass front and white - framed doors standing on a paved city sidewalk. The booth’s domed top features black decorative trim, and a person inside is partially visible through the glass, holding a phone receiver as if in mid - call. The background includes a bustling street with pedestrians in casual clothing walking by, vehicles—such as a black sedan and a red bicycle—moving along the road, and multi - story buildings with shop signs lining the street. The sky is overcast, and the camera slowly pans to the right, revealing a bus stop and a green traffic light in the distance.", "original_prompt_en": "phone booth"}
|
||||
{"index": 840, "data": "A panoramic shot of a raceway. The raceway is a smooth, dark - colored asphalt track with white racing lines marking the lanes. On both sides of the track, there are metal guardrails. In the background, empty spectator stands and a clear blue sky can be seen. A red racing car speeds from the right to the left of the frame along the raceway, and the camera pans left to follow the car's movement. The surface of the raceway glistens under the sunlight, and the guardrails reflect the light, presenting a vivid scene of the racing circuit.", "original_prompt_en": "raceway"}
|
||||
{"index": 841, "data": "A medium shot of a cozy restaurant interior bathed in warm yellow lighting. Dark wooden tables, each dressed in crisp white tablecloths and set with gleaming silverware, are neatly arranged. A waiter in a white shirt and black apron glides across the floor, balancing a tray with a steaming bowl of pasta and a glass of red wine, heading toward a table where a couple— the man in a blue button - down, the woman in a floral dress— are smiling as they peruse the menu. The background reveals a rustic brick wall lined with framed food photographs, a bustling open kitchen where a chef in a white uniform skillfully flips a pizza, and a sleek counter with a barista frothing milk for a latte. The camera holds steady, capturing the gentle clink of utensils, soft chatter, and the aromatic haze of freshly cooked meals, with soft jazz music drifting through the air.", "original_prompt_en": "restaurant"}
|
||||
{"index": 842, "data": "Long shot of a winding river flowing through a lush green landscape. The river’s surface is smooth, reflecting the blue sky with scattered white clouds. On both riverbanks, dense green trees and grassy areas extend, with vibrant wildflowers blooming. The water meanders gently toward the lower right of the frame. Fixed shot captures the serene flow of the river, as it moves through the natural scenery, with the camera remaining still to emphasize the calm movement of the water.", "original_prompt_en": "river"}
|
||||
{"index": 843, "data": "A panoramic shot of the interior of a science museum. The spacious hall is adorned with diverse scientific exhibits: a large Newton's cradle with silver metal balls suspended, a transparent human skeleton model with detailed anatomical labels, and an interactive physics station featuring colorful levers and pulleys. Visitors of various ages and ethnicities are scattered around—children in vibrant clothing eagerly pressing buttons on a digital display, adults leaning in to read information panels with black text on white backgrounds. The ceiling has a grid of recessed lights, and the walls are lined with wooden display cabinets holding small scientific artifacts. The camera pans right to reveal a futuristic robotics exhibit, where a white robotic arm with metallic joints moves smoothly, demonstrating precision. In the background, a group of students in blue uniforms listens to a guide holding a red flag, while a couple in the foreground takes a photo of a glowing periodic table display.", "original_prompt_en": "science museum"}
|
||||
{"index": 844, "data": "A medium shot reveals a bathroom with white tiled walls and a silver showerhead mounted on the wall. A young East Asian woman with long, wet black hair stands beneath the running shower, water cascading down her bare body. She closes her eyes, tilting her head back as she uses her right hand to adjust the temperature knob on the chrome faucet, while her left hand gently runs through her hair, spreading the warm water. The background features a white sink with a round mirror, a blue towel hanging on a metallic rack, and a glass shower door dotted with water droplets. The camera remains fixed, capturing the steady stream of water from the showerhead and the woman’s relaxed movements—she occasionally shifts her weight, rubbing her arm to rinse off soap suds. The bathroom floor, covered in light gray non - slip tiles, has a small puddle of water forming near her feet.", "original_prompt_en": "shower"}
|
||||
{"index": 845, "data": "A panoramic shot of a ski slope. The slope is blanketed in fresh, glistening white snow, with visible ski tracks crisscrossing its smooth surface. Under a clear blue sky, the background features towering snow - capped mountains and clusters of evergreen trees dotting the landscape. In the foreground, a few skiers in colorful winter gear are gliding down the slope, their skis carving graceful arcs in the snow. The camera slowly pans to the right, capturing more of the expansive ski area, including a ski lift with chairs moving steadily up an adjacent slope, carrying skiers toward the summit. The crisp mountain air and bright sunlight enhance the vividness of the snowy scene, with the distant mountains and trees creating a picturesque backdrop for the dynamic skiing action.", "original_prompt_en": "ski slope"}
|
||||
{"index": 846, "data": "Panoramic shot of the sky. The sky is bright blue with a few scattered white clouds floating gently. The background is empty, with no visible ground or buildings, and the camera remains fixed, showcasing the vast and clear sky.", "original_prompt_en": "sky"}
|
||||
{"index": 847, "data": "A panoramic shot captures a towering skyscraper with a sleek glass curtain wall, reflecting the pale blue sky with scattered white clouds. The skyscraper stands prominently in a bustling urban cityscape, surrounded by shorter buildings with varied architectural styles—some with brick facades, others with modern metal exteriors. Below, the busy street is filled with vehicles: a red sedan, a white delivery truck, and cyclists in colorful helmets navigating through traffic. The sidewalks are lined with lush green trees and street lamps with classic black fixtures. In the background, more high - rises stretch towards the horizon, and the camera slowly pans upward to emphasize the skyscraper’s impressive height, while a gentle breeze rustles the tree leaves.", "original_prompt_en": "skyscraper"}
|
||||
{"index": 848, "data": "Panoramic shot of a baseball stadium. The field features vibrant green grass in the outfield and a reddish - brown dirt infield, with white chalk lines clearly marking the bases and the batter’s box. At the center, a pitcher in a white uniform with a dark - colored cap is in the middle of a pitch, his arm extended toward the batter. The batter, dressed in a navy - colored jersey, stands ready, firmly gripping the bat. The stands are packed with spectators; some are wearing team - colored shirts, some are waving foam fingers, and many are holding snacks or drinks. In the background, there are tall, light - colored stadium seats, and colorful advertisements are attached along the upper railings. The sky is clear, with a few fluffy white clouds floating. The camera slowly pans across the field, capturing the pitcher’s throw, the batter’s swing, and the ball flying toward the outfield. An outfielder in a gray uniform sprints to catch the ball.", "original_prompt_en": "baseball stadium"}
|
||||
{"index": 849, "data": "A medium shot captures a wooden staircase with dark - brown steps and light - brown handrails, standing against a white - painted wall. The floor at the base of the stairs is made of light - colored wood, and a small potted plant with green leaves is placed on the left side of the staircase. The background includes a hallway, and a framed picture hangs on the wall to the right of the stairs. The camera is initially fixed, and then it slowly pans upward to reveal more of the staircase, showing its neatly arranged steps and the smooth texture of the wood.", "original_prompt_en": "staircase"}
|
||||
{"index": 850, "data": "Panoramic shot of a bustling city street. The sky is clear and blue, dotted with a few fluffy white clouds. On both sides of the street, rows of buildings with diverse storefronts line the road—some are cafes with outdoor tables, others are vibrant retail shops with colorful signage. Several cars, including a red sedan and a silver SUV, drive along the asphalt road, while others are parked neatly by the curb. A traffic light above the intersection glows green, letting vehicles proceed. In the foreground, pedestrians stroll on the sidewalk—some chat, others hurry, and a few helmeted cyclists ride past. The background showcases tall glass - faced skyscrapers reflecting sunlight. The camera pans right, capturing more of the busy street with vehicles moving in both directions and pedestrians filling the sidewalks, then pans left to reveal the lively urban scene where people and traffic interweave. Vehicles on the road move steadily, some with their fronts toward the camera, others with their backs, and cyclists weave through the traffic.", "original_prompt_en": "street"}
|
||||
{"index": 851, "data": "Panoramic shot of a bustling supermarket interior. Bright white fluorescent lights illuminate the space, with neatly arranged shelves on both sides filled with colorful packaged goods—canned foods, snack bags, and fresh produce in transparent containers. In the center aisle, a middle - aged woman with brown curly hair, wearing a blue apron, is stocking shelves with boxes of cereal, carefully placing each box to ensure alignment. A young couple pushes a silver shopping cart; the man, in a gray hoodie, reaches for a bottle of laundry detergent from the top shelf, while the woman, in a pink dress, examines a jar of peanut butter. In the background, a row of checkout counters with glowing LED screens is visible, and a few customers are queuing, some holding baskets of groceries. The floor is a smooth, light - colored tile, and signs with bold black text hang from the ceiling, indicating different product sections like \"Dairy\" and \"Bakery\". The camera slowly pans right, capturing more shoppers browsing the aisles, including a child in a red hoodie sitting in a shopping cart, pointing excitedly at a display of colorful toys.", "original_prompt_en": "supermarket"}
|
||||
{"index": 852, "data": "Panoramic shot of an indoor swimming pool. The pool is rectangular with clear turquoise water, and the surrounding deck is tiled with light blue and white square tiles. Metal handrails line the pool’s edge, and a few colorful floating devices are placed nearby. In the background, white changing rooms with wooden benches stand against the wall, while warm - white LED lights on the ceiling cast a soft glow over the area. Several swimmers in vibrant swimsuits swim laps, their arms slicing through the water rhythmically, and some people in bathrobes sit on beige lounge chairs by the poolside, chatting. The camera slowly pans across the pool, capturing the ripples on the water’s surface and the relaxed atmosphere of the indoor pool.", "original_prompt_en": "indoor swimming pool"}
|
||||
{"index": 853, "data": "Panoramic shot of a gray stone tower with a pointed roof, standing still against the sky. The tower features several narrow, arched windows along its weathered stone facade, showcasing fine cracks and textures of aged masonry. The background is a clear blue sky dotted with fluffy white clouds, while the ground around the tower is a patch of green grass interspersed with a cobblestone path. A few birds glide past in the distance, and the camera remains fixed, capturing the tower’s stately, motionless presence.", "original_prompt_en": "tower"}
|
||||
{"index": 854, "data": "Panoramic shot of an outdoor track. The track, crafted from vibrant red rubber with crisp white lane markings, extends under a clear blue sky. Flanking the track are lush green grassy patches and scattered trees with swaying leaves. In the background, a grandstand with blue seats stands, and a few athletes in sportswear jog along the lanes, their steps steady as they circle the track. The camera remains fixed, capturing the rhythmic movement of the runners while the breeze rustles the surrounding foliage.", "original_prompt_en": "outdoor track"}
|
||||
{"index": 855, "data": "It's a long shot of a silver passenger train with multiple carriages parked on the railway track. The train’s side faces the camera, with rectangular windows lining both sides and a faint logo visible on the side. The ground around the track is a mix of barren soil and sparse grass, with a few small plants poking through. To the right of the frame, telegraph poles with wires stretch into the distance. The background showcases a clear blue sky dotted with fluffy white clouds. Fixed shot: the train remains still, while the camera holds steady, capturing the serene scene of the train resting on the rails.", "original_prompt_en": "train railway"}
|
||||
{"index": 856, "data": "A panoramic shot of a train station platform. The platform is paved with gray concrete tiles, featuring a yellow safety line along its edge. A red passenger train with white horizontal stripes is parked on the adjacent railway track, its doors closed. Several passengers—some carrying black suitcases, others with backpacks—walk briskly across the platform: one in a blue jacket hurries toward the train, while a few stand near the ticket vending machine, checking their phones. A station attendant in a blue uniform stands by a signboard displaying train schedules. The background reveals a modern station building with glass windows and a digital display showing departure times, and the sky outside is clear with scattered white clouds. The camera pans slowly to the right, capturing more of the platform as a group of travelers gathers near the train’s doors, preparing to board.", "original_prompt_en": "train station platform"}
|
||||
{"index": 857, "data": "A panoramic shot captures an underwater coral reef scene. The reef is composed of corals in various vibrant colors—bright red, vivid orange, and deep blue—with intricate shapes, some resembling antlers and others blooming like flowers. Clear turquoise water surrounds the reef, and sunlight filters through the water's surface, creating dappled light spots on the corals. Colorful tropical fish with striped or spotted patterns swim nimbly among the corals, while a green sea turtle glides slowly past, its flippers moving gracefully. Seaweed sways gently with the underwater current, and small shrimps scuttle across the coral surfaces. The background reveals a deep blue expanse of the ocean, with distant, blurry coral formations. The camera slowly pans to showcase different sections of the reef, capturing the lively marine life and the delicate, swaying sea plants.", "original_prompt_en": "underwater coral reef"}
|
||||
{"index": 858, "data": "Panoramic shot of a valley. The valley is enclosed by towering, forest - clad mountains, their slopes blanketed in dense green foliage that rustles in the gentle wind. The valley floor is a tapestry of tall, golden grasses interspersed with clusters of broad - leafed trees, their leaves glistening under the sunlight. A meandering stream with crystal - clear water cuts through the center, its surface rippling as it flows over smooth stones. The ground is a mix of soft, brown soil and patches of gray rock, dotted with vibrant wildflowers in shades of red and white. In the background, distant mountain ridges fade into a light haze, and the sky stretches out in a deep blue, dotted with a few wispy clouds. The camera remains fixed, capturing the serene landscape, while a group of colorful birds flits among the trees, and a deer pauses to drink from the stream at the edge of the frame.", "original_prompt_en": "valley"}
|
||||
{"index": 859, "data": "A panoramic shot of a volcano. The volcano, with a rugged dark - gray exterior and a wide crater at the summit, emits thick grayish - black smoke that rises slowly into the overcast sky. The surrounding landscape is a barren, ashen plain scattered with black volcanic rocks, and in the distance, hazy low - lying mountains blend into the gloomy atmosphere. The volcano remains mostly still, yet the smoke from its crater continues to billow and swirl gently in the wind. The camera is fixed, capturing the imposing presence of the volcano and the drifting smoke, while the overcast sky adds a somber tone to the scene.", "original_prompt_en": "volcano"}
|
||||
{"index": 860, "data": "Panoramic shot of a waterfall. The waterfall cascades down from a high rocky cliff, with white frothy water streaming down and creating a misty spray at the base. The rocks around the waterfall are gray with patches of green moss. The background features lush green mountains with dense trees, and the sky is clear blue with a few white clouds. The camera slowly pans down to capture the waterfall’s full height, from the top of the cliff to the turquoise pool below, where the water ripples and reflects the surrounding greenery.", "original_prompt_en": "waterfall"}
|
||||
{"index": 861, "data": "Panoramic shot of a traditional windmill standing on a vast, sun - drenched green field. The windmill features a sturdy, brown wooden tower with a slanted, dark gray roof, and its four large, white - trimmed blades are gracefully rotating as the wind caresses them. The sky overhead is a vibrant blue, with a few cotton - like white clouds lazily floating. In the background, there are quaint rural cottages with thatched roofs and expansive, golden - hued barley fields that ripple like waves in the wind. The camera stays fixed, capturing the windmill’s blades spinning smoothly, the surrounding wildflowers nodding gently, and the distant birds soaring across the sky.", "original_prompt_en": "windmill"}
|
||||
{"index": 862, "data": "A front-view wide shot shows only two main objects: a bicycle and a car. A bicycle is on the left of a car. A bicycle is placed in the center-left area of the frame, and a car is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a spacious outdoor area under clear daylight, with a simple open background. fixed shot. Exactly these two objects remain in the scene, and a bicycle stays on the left of a car throughout.", "original_prompt_en": "a bicycle on the left of a car, front view"}
|
||||
{"index": 863, "data": "A front-view wide shot shows only two main objects: a car and a motorcycle. A car is on the right of a motorcycle. A motorcycle is placed in the center-left area of the frame, and a car is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a spacious outdoor area under clear daylight, with a simple open background. fixed shot. Exactly these two objects remain in the scene, and a car stays on the right of a motorcycle throughout.", "original_prompt_en": "a car on the right of a motorcycle, front view"}
|
||||
{"index": 864, "data": "A front-view wide shot shows only two main objects: a motorcycle and a bus. A motorcycle is on the left of a bus. A motorcycle is placed in the center-left area of the frame, and a bus is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a spacious outdoor area under clear daylight, with a simple open background. fixed shot. Exactly these two objects remain in the scene, and a motorcycle stays on the left of a bus throughout.", "original_prompt_en": "a motorcycle on the left of a bus, front view"}
|
||||
{"index": 865, "data": "A front-view wide shot shows only two main objects: a bus and a traffic light. A bus is on the right of a traffic light. A traffic light is placed in the center-left area of the frame, and a bus is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a spacious outdoor area under clear daylight, with a simple open background. fixed shot. Exactly these two objects remain in the scene, and a bus stays on the right of a traffic light throughout.", "original_prompt_en": "a bus on the right of a traffic light, front view"}
|
||||
{"index": 866, "data": "A front-view wide shot shows only two main objects: a traffic light and a fire hydrant. A traffic light is on the left of a fire hydrant. A traffic light is placed in the center-left area of the frame, and a fire hydrant is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a spacious outdoor area under clear daylight, with a simple open background. fixed shot. Exactly these two objects remain in the scene, and a traffic light stays on the left of a fire hydrant throughout.", "original_prompt_en": "a traffic light on the left of a fire hydrant, front view"}
|
||||
{"index": 867, "data": "A front-view wide shot shows only two main objects: a fire hydrant and a stop sign. A fire hydrant is on the right of a stop sign. A stop sign is placed in the center-left area of the frame, and a fire hydrant is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a spacious outdoor area under clear daylight, with a simple open background. fixed shot. Exactly these two objects remain in the scene, and a fire hydrant stays on the right of a stop sign throughout.", "original_prompt_en": "a fire hydrant on the right of a stop sign, front view"}
|
||||
{"index": 868, "data": "A front-view wide shot shows only two main objects: a stop sign and a parking meter. A stop sign is on the left of a parking meter. A stop sign is placed in the center-left area of the frame, and a parking meter is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a spacious outdoor area under clear daylight, with a simple open background. fixed shot. Exactly these two objects remain in the scene, and a stop sign stays on the left of a parking meter throughout.", "original_prompt_en": "a stop sign on the left of a parking meter, front view"}
|
||||
{"index": 869, "data": "A front-view wide shot shows only two main objects: a parking meter and a bench. A parking meter is on the right of a bench. A bench is placed in the center-left area of the frame, and a parking meter is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a spacious outdoor area under clear daylight, with a simple open background. fixed shot. Exactly these two objects remain in the scene, and a parking meter stays on the right of a bench throughout.", "original_prompt_en": "a parking meter on the right of a bench, front view"}
|
||||
{"index": 870, "data": "A front-view wide shot shows only two main objects: a bench and a truck. A bench is on the left of a truck. A bench is placed in the center-left area of the frame, and a truck is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a spacious outdoor area under clear daylight, with a simple open background. fixed shot. Exactly these two objects remain in the scene, and a bench stays on the left of a truck throughout.", "original_prompt_en": "a bench on the left of a truck, front view"}
|
||||
{"index": 871, "data": "A front-view wide shot shows only two main objects: a truck and a bicycle. A truck is on the right of a bicycle. A bicycle is placed in the center-left area of the frame, and a truck is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a spacious outdoor area under clear daylight, with a simple open background. fixed shot. Exactly these two objects remain in the scene, and a truck stays on the right of a bicycle throughout.", "original_prompt_en": "a truck on the right of a bicycle, front view"}
|
||||
{"index": 872, "data": "A front-view wide shot shows only two main objects: a bird and a cat. A bird is on the left of a cat. A bird is placed in the center-left area of the frame, and a cat is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in an open grassy field under natural daylight, with a clean and natural background. fixed shot. Exactly these two objects remain in the scene, and a bird stays on the left of a cat throughout.", "original_prompt_en": "a bird on the left of a cat, front view"}
|
||||
{"index": 873, "data": "A front-view wide shot shows only two main objects: a cat and a dog. A cat is on the right of a dog. A dog is placed in the center-left area of the frame, and a cat is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in an open grassy field under natural daylight, with a clean and natural background. fixed shot. Exactly these two objects remain in the scene, and a cat stays on the right of a dog throughout.", "original_prompt_en": "a cat on the right of a dog, front view"}
|
||||
{"index": 874, "data": "A front-view wide shot shows only two main objects: a dog and a horse. A dog is on the left of a horse. A dog is placed in the center-left area of the frame, and a horse is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in an open grassy field under natural daylight, with a clean and natural background. fixed shot. Exactly these two objects remain in the scene, and a dog stays on the left of a horse throughout.", "original_prompt_en": "a dog on the left of a horse, front view"}
|
||||
{"index": 875, "data": "A front-view wide shot shows only two main objects: a horse and a sheep. A horse is on the right of a sheep. A sheep is placed in the center-left area of the frame, and a horse is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in an open grassy field under natural daylight, with a clean and natural background. fixed shot. Exactly these two objects remain in the scene, and a horse stays on the right of a sheep throughout.", "original_prompt_en": "a horse on the right of a sheep, front view"}
|
||||
{"index": 876, "data": "A front-view wide shot shows only two main objects: a sheep and a cow. A sheep is on the left of a cow. A sheep is placed in the center-left area of the frame, and a cow is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in an open grassy field under natural daylight, with a clean and natural background. fixed shot. Exactly these two objects remain in the scene, and a sheep stays on the left of a cow throughout.", "original_prompt_en": "a sheep on the left of a cow, front view"}
|
||||
{"index": 877, "data": "A front-view wide shot shows only two main objects: a cow and an elephant. A cow is on the right of an elephant. An elephant is placed in the center-left area of the frame, and a cow is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in an open grassy field under natural daylight, with a clean and natural background. fixed shot. Exactly these two objects remain in the scene, and a cow stays on the right of an elephant throughout.", "original_prompt_en": "a cow on the right of an elephant, front view"}
|
||||
{"index": 878, "data": "A front-view wide shot shows only two main objects: an elephant and a bear. An elephant is on the left of a bear. An elephant is placed in the center-left area of the frame, and a bear is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in an open grassy field under natural daylight, with a clean and natural background. fixed shot. Exactly these two objects remain in the scene, and an elephant stays on the left of a bear throughout.", "original_prompt_en": "an elephant on the left of a bear, front view"}
|
||||
{"index": 879, "data": "A front-view wide shot shows only two main objects: a bear and a zebra. A bear is on the right of a zebra. A zebra is placed in the center-left area of the frame, and a bear is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in an open grassy field under natural daylight, with a clean and natural background. fixed shot. Exactly these two objects remain in the scene, and a bear stays on the right of a zebra throughout.", "original_prompt_en": "a bear on the right of a zebra, front view"}
|
||||
{"index": 880, "data": "A front-view wide shot shows only two main objects: a zebra and a giraffe. A zebra is on the left of a giraffe. A zebra is placed in the center-left area of the frame, and a giraffe is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in an open grassy field under natural daylight, with a clean and natural background. fixed shot. Exactly these two objects remain in the scene, and a zebra stays on the left of a giraffe throughout.", "original_prompt_en": "a zebra on the left of a giraffe, front view"}
|
||||
{"index": 881, "data": "A front-view wide shot shows only two main objects: a giraffe and a bird. A giraffe is on the right of a bird. A bird is placed in the center-left area of the frame, and a giraffe is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in an open grassy field under natural daylight, with a clean and natural background. fixed shot. Exactly these two objects remain in the scene, and a giraffe stays on the right of a bird throughout.", "original_prompt_en": "a giraffe on the right of a bird, front view"}
|
||||
{"index": 882, "data": "A front-view close shot shows only two main objects: a bottle and a wine glass. A bottle is on the left of a wine glass. A bottle is placed in the center-left area of the frame, and a wine glass is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and a bottle stays on the left of a wine glass throughout.", "original_prompt_en": "a bottle on the left of a wine glass, front view"}
|
||||
{"index": 883, "data": "A front-view close shot shows only two main objects: a wine glass and a cup. A wine glass is on the right of a cup. A cup is placed in the center-left area of the frame, and a wine glass is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and a wine glass stays on the right of a cup throughout.", "original_prompt_en": "a wine glass on the right of a cup, front view"}
|
||||
{"index": 884, "data": "A front-view close shot shows only two main objects: a cup and a fork. A cup is on the left of a fork. A cup is placed in the center-left area of the frame, and a fork is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and a cup stays on the left of a fork throughout.", "original_prompt_en": "a cup on the left of a fork, front view"}
|
||||
{"index": 885, "data": "A front-view close shot shows only two main objects: a fork and a knife. A fork is on the right of a knife. A knife is placed in the center-left area of the frame, and a fork is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and a fork stays on the right of a knife throughout.", "original_prompt_en": "a fork on the right of a knife, front view"}
|
||||
{"index": 886, "data": "A front-view close shot shows only two main objects: a knife and a spoon. A knife is on the left of a spoon. A knife is placed in the center-left area of the frame, and a spoon is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and a knife stays on the left of a spoon throughout.", "original_prompt_en": "a knife on the left of a spoon, front view"}
|
||||
{"index": 887, "data": "A front-view close shot shows only two main objects: a spoon and a bowl. A spoon is on the right of a bowl. A bowl is placed in the center-left area of the frame, and a spoon is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and a spoon stays on the right of a bowl throughout.", "original_prompt_en": "a spoon on the right of a bowl, front view"}
|
||||
{"index": 888, "data": "A front-view close shot shows only two main objects: a bowl and a bottle. A bowl is on the left of a bottle. A bowl is placed in the center-left area of the frame, and a bottle is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and a bowl stays on the left of a bottle throughout.", "original_prompt_en": "a bowl on the left of a bottle, front view"}
|
||||
{"index": 889, "data": "A front-view medium shot shows only two main objects: a potted plant and a remote. A potted plant is on the left of a remote. A potted plant is placed in the center-left area of the frame, and a remote is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly these two objects remain in the scene, and a potted plant stays on the left of a remote throughout.", "original_prompt_en": "a potted plant on the left of a remote, front view"}
|
||||
{"index": 890, "data": "A front-view close shot shows only two main objects: a remote and a clock. A remote is on the right of a clock. A clock is placed in the center-left area of the frame, and a remote is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and a remote stays on the right of a clock throughout.", "original_prompt_en": "a remote on the right of a clock, front view"}
|
||||
{"index": 891, "data": "A front-view close shot shows only two main objects: a clock and a vase. A clock is on the left of a vase. A clock is placed in the center-left area of the frame, and a vase is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and a clock stays on the left of a vase throughout.", "original_prompt_en": "a clock on the left of a vase, front view"}
|
||||
{"index": 892, "data": "A front-view close shot shows only two main objects: a vase and scissors. A vase is on the right of scissors. Scissors is placed in the center-left area of the frame, and a vase is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and a vase stays on the right of scissors throughout.", "original_prompt_en": "a vase on the right of scissors, front view"}
|
||||
{"index": 893, "data": "A front-view close shot shows only two main objects: scissors and a teddy bear. Scissors is on the left of a teddy bear. Scissors is placed in the center-left area of the frame, and a teddy bear is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and scissors stays on the left of a teddy bear throughout.", "original_prompt_en": "scissors on the left of a teddy bear, front view"}
|
||||
{"index": 894, "data": "A front-view medium shot shows only two main objects: a teddy bear and a potted plant. A teddy bear is on the right of a potted plant. A potted plant is placed in the center-left area of the frame, and a teddy bear is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly these two objects remain in the scene, and a teddy bear stays on the right of a potted plant throughout.", "original_prompt_en": "a teddy bear on the right of a potted plant, front view"}
|
||||
{"index": 895, "data": "A front-view medium-wide shot shows only two main objects: a frisbee and a sports ball. A frisbee is on the left of a sports ball. A frisbee is placed in the center-left area of the frame, and a sports ball is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in an open outdoor area under clear daylight, with a simple natural background. fixed shot. Exactly these two objects remain in the scene, and a frisbee stays on the left of a sports ball throughout.", "original_prompt_en": "a frisbee on the left of a sports ball, front view"}
|
||||
{"index": 896, "data": "A front-view medium-wide shot shows only two main objects: a sports ball and a baseball bat. A sports ball is on the right of a baseball bat. A baseball bat is placed in the center-left area of the frame, and a sports ball is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in an open outdoor area under clear daylight, with a simple natural background. fixed shot. Exactly these two objects remain in the scene, and a sports ball stays on the right of a baseball bat throughout.", "original_prompt_en": "a sports ball on the right of a baseball bat, front view"}
|
||||
{"index": 897, "data": "A front-view medium-wide shot shows only two main objects: a baseball bat and a baseball glove. A baseball bat is on the left of a baseball glove. A baseball bat is placed in the center-left area of the frame, and a baseball glove is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in an open outdoor area under clear daylight, with a simple natural background. fixed shot. Exactly these two objects remain in the scene, and a baseball bat stays on the left of a baseball glove throughout.", "original_prompt_en": "a baseball bat on the left of a baseball glove, front view"}
|
||||
{"index": 898, "data": "A front-view medium-wide shot shows only two main objects: a baseball glove and a tennis racket. A baseball glove is on the right of a tennis racket. A tennis racket is placed in the center-left area of the frame, and a baseball glove is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in an open outdoor area under clear daylight, with a simple natural background. fixed shot. Exactly these two objects remain in the scene, and a baseball glove stays on the right of a tennis racket throughout.", "original_prompt_en": "a baseball glove on the right of a tennis racket, front view"}
|
||||
{"index": 899, "data": "A front-view medium-wide shot shows only two main objects: a tennis racket and a frisbee. A tennis racket is on the left of a frisbee. A tennis racket is placed in the center-left area of the frame, and a frisbee is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in an open outdoor area under clear daylight, with a simple natural background. fixed shot. Exactly these two objects remain in the scene, and a tennis racket stays on the left of a frisbee throughout.", "original_prompt_en": "a tennis racket on the left of a frisbee, front view"}
|
||||
{"index": 900, "data": "A front-view medium shot shows only two main objects: a toilet and a hair drier. A toilet is on the left of a hair drier. A toilet is placed in the center-left area of the frame, and a hair drier is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a bright clean bathroom with soft natural light and a simple uncluttered background. fixed shot. Exactly these two objects remain in the scene, and a toilet stays on the left of a hair drier throughout.", "original_prompt_en": "a toilet on the left of a hair drier, front view"}
|
||||
{"index": 901, "data": "A front-view medium shot shows only two main objects: a hair drier and a toothbrush. A hair drier is on the right of a toothbrush. A toothbrush is placed in the center-left area of the frame, and a hair drier is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a bright clean bathroom with soft natural light and a simple uncluttered background. fixed shot. Exactly these two objects remain in the scene, and a hair drier stays on the right of a toothbrush throughout.", "original_prompt_en": "a hair drier on the right of a toothbrush, front view"}
|
||||
{"index": 902, "data": "A front-view medium shot shows only two main objects: a toothbrush and a sink. A toothbrush is on the left of a sink. A toothbrush is placed in the center-left area of the frame, and a sink is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a bright clean bathroom with soft natural light and a simple uncluttered background. fixed shot. Exactly these two objects remain in the scene, and a toothbrush stays on the left of a sink throughout.", "original_prompt_en": "a toothbrush on the left of a sink, front view"}
|
||||
{"index": 903, "data": "A front-view medium shot shows only two main objects: a sink and a toilet. A sink is on the right of a toilet. A toilet is placed in the center-left area of the frame, and a sink is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a bright clean bathroom with soft natural light and a simple uncluttered background. fixed shot. Exactly these two objects remain in the scene, and a sink stays on the right of a toilet throughout.", "original_prompt_en": "a sink on the right of a toilet, front view"}
|
||||
{"index": 904, "data": "A front-view medium shot shows only two main objects: a chair and a couch. A chair is on the left of a couch. A chair is placed in the center-left area of the frame, and a couch is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly these two objects remain in the scene, and a chair stays on the left of a couch throughout.", "original_prompt_en": "a chair on the left of a couch, front view"}
|
||||
{"index": 905, "data": "A front-view medium shot shows only two main objects: a couch and a bed. A couch is on the right of a bed. A bed is placed in the center-left area of the frame, and a couch is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly these two objects remain in the scene, and a couch stays on the right of a bed throughout.", "original_prompt_en": "a couch on the right of a bed, front view"}
|
||||
{"index": 906, "data": "A front-view medium shot shows only two main objects: a bed and a tv. A bed is on the left of a tv. A bed is placed in the center-left area of the frame, and a tv is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly these two objects remain in the scene, and a bed stays on the left of a tv throughout.", "original_prompt_en": "a bed on the left of a tv, front view"}
|
||||
{"index": 907, "data": "A front-view medium shot shows only two main objects: a tv and a dining table. A tv is on the right of a dining table. A dining table is placed in the center-left area of the frame, and a tv is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly these two objects remain in the scene, and a tv stays on the right of a dining table throughout.", "original_prompt_en": "a tv on the right of a dining table, front view"}
|
||||
{"index": 908, "data": "A front-view medium shot shows only two main objects: a dining table and a chair. A dining table is on the left of a chair. A dining table is placed in the center-left area of the frame, and a chair is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly these two objects remain in the scene, and a dining table stays on the left of a chair throughout.", "original_prompt_en": "a dining table on the left of a chair, front view"}
|
||||
{"index": 909, "data": "A front-view wide shot shows only two main objects: an airplane and a train. An airplane is on the left of a train. An airplane is placed in the center-left area of the frame, and a train is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a spacious outdoor area under clear daylight, with a simple open background. fixed shot. Exactly these two objects remain in the scene, and an airplane stays on the left of a train throughout.", "original_prompt_en": "an airplane on the left of a train, front view"}
|
||||
{"index": 910, "data": "A front-view wide shot shows only two main objects: a train and a boat. A train is on the right of a boat. A boat is placed in the center-left area of the frame, and a train is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a spacious outdoor area under clear daylight, with a simple open background. fixed shot. Exactly these two objects remain in the scene, and a train stays on the right of a boat throughout.", "original_prompt_en": "a train on the right of a boat, front view"}
|
||||
{"index": 911, "data": "A front-view wide shot shows only two main objects: a boat and an airplane. A boat is on the left of an airplane. A boat is placed in the center-left area of the frame, and an airplane is placed in the center-right area of the frame, with a wide clear horizontal gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a spacious outdoor area under clear daylight, with a simple open background. fixed shot. Exactly these two objects remain in the scene, and a boat stays on the left of an airplane throughout.", "original_prompt_en": "a boat on the left of an airplane, front view"}
|
||||
{"index": 912, "data": "A front-view medium shot shows only two main objects: an oven and a toaster. An oven is above a toaster. An oven is placed in the upper-center area of the frame, and a toaster is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly these two objects remain in the scene, and an oven stays above a toaster throughout.", "original_prompt_en": "an oven on the top of a toaster, front view"}
|
||||
{"index": 913, "data": "A front-view medium shot shows only two main objects: an oven and a toaster. An oven is below a toaster. A toaster is placed in the upper-center area of the frame, and an oven is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly these two objects remain in the scene, and an oven stays below a toaster throughout.", "original_prompt_en": "an oven on the bottom of a toaster, front view"}
|
||||
{"index": 914, "data": "A front-view medium shot shows only two main objects: a toaster and a microwave. A toaster is above a microwave. A toaster is placed in the upper-center area of the frame, and a microwave is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly these two objects remain in the scene, and a toaster stays above a microwave throughout.", "original_prompt_en": "a toaster on the top of a microwave, front view"}
|
||||
{"index": 915, "data": "A front-view medium shot shows only two main objects: a toaster and a microwave. A toaster is below a microwave. A microwave is placed in the upper-center area of the frame, and a toaster is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly these two objects remain in the scene, and a toaster stays below a microwave throughout.", "original_prompt_en": "a toaster on the bottom of a microwave, front view"}
|
||||
{"index": 916, "data": "A front-view medium shot shows only two main objects: a microwave and an oven. A microwave is above an oven. A microwave is placed in the upper-center area of the frame, and an oven is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly these two objects remain in the scene, and a microwave stays above an oven throughout.", "original_prompt_en": "a microwave on the top of an oven, front view"}
|
||||
{"index": 917, "data": "A front-view medium shot shows only two main objects: a microwave and an oven. A microwave is below an oven. An oven is placed in the upper-center area of the frame, and a microwave is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in a clean indoor room with soft natural light and a plain background. fixed shot. Exactly these two objects remain in the scene, and a microwave stays below an oven throughout.", "original_prompt_en": "a microwave on the bottom of an oven, front view"}
|
||||
{"index": 918, "data": "A front-view close shot shows only two main objects: a banana and an apple. A banana is above an apple. A banana is placed in the upper-center area of the frame, and an apple is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and a banana stays above an apple throughout.", "original_prompt_en": "a banana on the top of an apple, front view"}
|
||||
{"index": 919, "data": "A front-view close shot shows only two main objects: a banana and an apple. A banana is below an apple. An apple is placed in the upper-center area of the frame, and a banana is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and a banana stays below an apple throughout.", "original_prompt_en": "a banana on the bottom of an apple, front view"}
|
||||
{"index": 920, "data": "A front-view close shot shows only two main objects: an apple and a sandwich. An apple is above a sandwich. An apple is placed in the upper-center area of the frame, and a sandwich is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and an apple stays above a sandwich throughout.", "original_prompt_en": "an apple on the top of a sandwich, front view"}
|
||||
{"index": 921, "data": "A front-view close shot shows only two main objects: an apple and a sandwich. An apple is below a sandwich. A sandwich is placed in the upper-center area of the frame, and an apple is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and an apple stays below a sandwich throughout.", "original_prompt_en": "an apple on the bottom of a sandwich, front view"}
|
||||
{"index": 922, "data": "A front-view close shot shows only two main objects: a sandwich and an orange. A sandwich is above an orange. A sandwich is placed in the upper-center area of the frame, and an orange is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and a sandwich stays above an orange throughout.", "original_prompt_en": "a sandwich on the top of an orange, front view"}
|
||||
{"index": 923, "data": "A front-view close shot shows only two main objects: a sandwich and an orange. A sandwich is below an orange. An orange is placed in the upper-center area of the frame, and a sandwich is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and a sandwich stays below an orange throughout.", "original_prompt_en": "a sandwich on the bottom of an orange, front view"}
|
||||
{"index": 924, "data": "A front-view close shot shows only two main objects: an orange and a carrot. An orange is above a carrot. An orange is placed in the upper-center area of the frame, and a carrot is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and an orange stays above a carrot throughout.", "original_prompt_en": "an orange on the top of a carrot, front view"}
|
||||
{"index": 925, "data": "A front-view close shot shows only two main objects: an orange and a carrot. An orange is below a carrot. A carrot is placed in the upper-center area of the frame, and an orange is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and an orange stays below a carrot throughout.", "original_prompt_en": "an orange on the bottom of a carrot, front view"}
|
||||
{"index": 926, "data": "A front-view close shot shows only two main objects: a carrot and a hot dog. A carrot is above a hot dog. A carrot is placed in the upper-center area of the frame, and a hot dog is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and a carrot stays above a hot dog throughout.", "original_prompt_en": "a carrot on the top of a hot dog, front view"}
|
||||
{"index": 927, "data": "A front-view close shot shows only two main objects: a carrot and a hot dog. A carrot is below a hot dog. A hot dog is placed in the upper-center area of the frame, and a carrot is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and a carrot stays below a hot dog throughout.", "original_prompt_en": "a carrot on the bottom of a hot dog, front view"}
|
||||
{"index": 928, "data": "A front-view close shot shows only two main objects: a hot dog and a pizza. A hot dog is above a pizza. A hot dog is placed in the upper-center area of the frame, and a pizza is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and a hot dog stays above a pizza throughout.", "original_prompt_en": "a hot dog on the top of a pizza, front view"}
|
||||
{"index": 929, "data": "A front-view close shot shows only two main objects: a hot dog and a pizza. A hot dog is below a pizza. A pizza is placed in the upper-center area of the frame, and a hot dog is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and a hot dog stays below a pizza throughout.", "original_prompt_en": "a hot dog on the bottom of a pizza, front view"}
|
||||
{"index": 930, "data": "A front-view close shot shows only two main objects: a pizza and a donut. A pizza is above a donut. A pizza is placed in the upper-center area of the frame, and a donut is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and a pizza stays above a donut throughout.", "original_prompt_en": "a pizza on the top of a donut, front view"}
|
||||
{"index": 931, "data": "A front-view close shot shows only two main objects: a pizza and a donut. A pizza is below a donut. A donut is placed in the upper-center area of the frame, and a pizza is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and a pizza stays below a donut throughout.", "original_prompt_en": "a pizza on the bottom of a donut, front view"}
|
||||
{"index": 932, "data": "A front-view close shot shows only two main objects: a donut and broccoli. A donut is above broccoli. A donut is placed in the upper-center area of the frame, and broccoli is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and a donut stays above broccoli throughout.", "original_prompt_en": "a donut on the top of broccoli, front view"}
|
||||
{"index": 933, "data": "A front-view close shot shows only two main objects: a donut and broccoli. A donut is below broccoli. Broccoli is placed in the upper-center area of the frame, and a donut is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and a donut stays below broccoli throughout.", "original_prompt_en": "a donut on the bottom of broccoli, front view"}
|
||||
{"index": 934, "data": "A front-view close shot shows only two main objects: broccoli and a banana. Broccoli is above a banana. Broccoli is placed in the upper-center area of the frame, and a banana is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and broccoli stays above a banana throughout.", "original_prompt_en": "broccoli on the top of a banana, front view"}
|
||||
{"index": 935, "data": "A front-view close shot shows only two main objects: broccoli and a banana. Broccoli is below a banana. A banana is placed in the upper-center area of the frame, and broccoli is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. They are placed on a clean flat surface with natural light and a softly blurred background. fixed shot. Exactly these two objects remain in the scene, and broccoli stays below a banana throughout.", "original_prompt_en": "broccoli on the bottom of a banana, front view"}
|
||||
{"index": 936, "data": "A front-view medium-wide shot shows only two main objects: skis and a snowboard. Skis is above a snowboard. Skis is placed in the upper-center area of the frame, and a snowboard is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in an open outdoor area under clear daylight, with a simple natural background. fixed shot. Exactly these two objects remain in the scene, and skis stays above a snowboard throughout.", "original_prompt_en": "skis on the top of a snowboard, front view"}
|
||||
{"index": 937, "data": "A front-view medium-wide shot shows only two main objects: skis and a snowboard. Skis is below a snowboard. A snowboard is placed in the upper-center area of the frame, and skis is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in an open outdoor area under clear daylight, with a simple natural background. fixed shot. Exactly these two objects remain in the scene, and skis stays below a snowboard throughout.", "original_prompt_en": "skis on the bottom of a snowboard, front view"}
|
||||
{"index": 938, "data": "A front-view medium-wide shot shows only two main objects: a snowboard and a kite. A snowboard is above a kite. A snowboard is placed in the upper-center area of the frame, and a kite is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in an open outdoor area under clear daylight, with a simple natural background. fixed shot. Exactly these two objects remain in the scene, and a snowboard stays above a kite throughout.", "original_prompt_en": "a snowboard on the top of a kite, front view"}
|
||||
{"index": 939, "data": "A front-view medium-wide shot shows only two main objects: a snowboard and a kite. A snowboard is below a kite. A kite is placed in the upper-center area of the frame, and a snowboard is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in an open outdoor area under clear daylight, with a simple natural background. fixed shot. Exactly these two objects remain in the scene, and a snowboard stays below a kite throughout.", "original_prompt_en": "a snowboard on the bottom of a kite, front view"}
|
||||
{"index": 940, "data": "A front-view medium-wide shot shows only two main objects: a kite and a skateboard. A kite is above a skateboard. A kite is placed in the upper-center area of the frame, and a skateboard is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in an open outdoor area under clear daylight, with a simple natural background. fixed shot. Exactly these two objects remain in the scene, and a kite stays above a skateboard throughout.", "original_prompt_en": "a kite on the top of a skateboard, front view"}
|
||||
{"index": 941, "data": "A front-view medium-wide shot shows only two main objects: a kite and a skateboard. A kite is below a skateboard. A skateboard is placed in the upper-center area of the frame, and a kite is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in an open outdoor area under clear daylight, with a simple natural background. fixed shot. Exactly these two objects remain in the scene, and a kite stays below a skateboard throughout.", "original_prompt_en": "a kite on the bottom of a skateboard, front view"}
|
||||
{"index": 942, "data": "A front-view medium-wide shot shows only two main objects: a skateboard and a surfboard. A skateboard is above a surfboard. A skateboard is placed in the upper-center area of the frame, and a surfboard is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in an open outdoor area under clear daylight, with a simple natural background. fixed shot. Exactly these two objects remain in the scene, and a skateboard stays above a surfboard throughout.", "original_prompt_en": "a skateboard on the top of a surfboard, front view"}
|
||||
{"index": 943, "data": "A front-view medium-wide shot shows only two main objects: a skateboard and a surfboard. A skateboard is below a surfboard. A surfboard is placed in the upper-center area of the frame, and a skateboard is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in an open outdoor area under clear daylight, with a simple natural background. fixed shot. Exactly these two objects remain in the scene, and a skateboard stays below a surfboard throughout.", "original_prompt_en": "a skateboard on the bottom of a surfboard, front view"}
|
||||
{"index": 944, "data": "A front-view medium-wide shot shows only two main objects: a surfboard and skis. A surfboard is above skis. A surfboard is placed in the upper-center area of the frame, and skis is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in an open outdoor area under clear daylight, with a simple natural background. fixed shot. Exactly these two objects remain in the scene, and a surfboard stays above skis throughout.", "original_prompt_en": "a surfboard on the top of skis, front view"}
|
||||
{"index": 945, "data": "A front-view medium-wide shot shows only two main objects: a surfboard and skis. A surfboard is below skis. Skis is placed in the upper-center area of the frame, and a surfboard is placed in the lower-center area of the frame, with a clear vertical gap between them. Both objects are fully visible from the front, complete, and entirely inside the frame, with comfortable margins from all image borders. They do not overlap or occlude each other, and no additional prominent objects appear near them. The scene is set in an open outdoor area under clear daylight, with a simple natural background. fixed shot. Exactly these two objects remain in the scene, and a surfboard stays below skis throughout.", "original_prompt_en": "a surfboard on the bottom of skis, front view"}
|
||||
@@ -0,0 +1,559 @@
|
||||
# Copyright (c) 2025 ByteDance Ltd. and/or its affiliates.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
# coding: utf-8
|
||||
|
||||
import warnings
|
||||
warnings.filterwarnings("ignore", message=".*pkg_resources is deprecated.*", category=UserWarning)
|
||||
warnings.filterwarnings("ignore", category=FutureWarning, module="diffusers.models.transformers.transformer_2d")
|
||||
import os
|
||||
os.environ["TF_CPP_MIN_LOG_LEVEL"] = "2"
|
||||
os.environ["TF_ENABLE_ONEDNN_OPTS"] = "0"
|
||||
|
||||
import json
|
||||
import os.path as osp
|
||||
from copy import deepcopy
|
||||
from dataclasses import asdict, fields
|
||||
from pathlib import Path
|
||||
from typing import Optional, Tuple, cast
|
||||
|
||||
import imageio
|
||||
import torch
|
||||
import torch.distributed as dist
|
||||
from safetensors.torch import load_file
|
||||
from torch.utils.data import DataLoader
|
||||
from tqdm import trange
|
||||
from transformers import HfArgumentParser, set_seed
|
||||
from transformers.models.qwen2_5_vl.configuration_qwen2_5_vl import Qwen2_5_VLVisionConfig
|
||||
|
||||
from config.config_factory import (
|
||||
DataArguments,
|
||||
EvaluationArguments,
|
||||
ModelArguments,
|
||||
TrainingArguments,
|
||||
get_model_path,
|
||||
)
|
||||
from common.model.hacks import hack_qwen2_5_vl_config
|
||||
from common.utils.misc import AutoEncoderParams, tuple_mul
|
||||
from common.val.utils import decode_video_tensor, make_padded_latent
|
||||
from data.dataset_base import DataConfig, simple_custom_collate
|
||||
from data.data_utils import add_special_tokens
|
||||
from data.datasets_custom import ValidationDataset
|
||||
from modeling.lance import Lance, LanceConfig, Qwen2ForCausalLM
|
||||
from modeling.qwen2 import Qwen2Tokenizer
|
||||
from modeling.qwen2.modeling_qwen2 import Qwen2Config
|
||||
from modeling.vae.wan.model import WanVideoVAE
|
||||
from modeling.vit.qwen2_5_vl_vit import Qwen2_5_VisionTransformerPretrainedModel
|
||||
|
||||
|
||||
PROMPT_JSON_FILENAME = "prompt.json"
|
||||
TEMPORAL_FLICKERING_SAMPLE_NUM = 25
|
||||
DEFAULT_VBENCH_DATA = "benchmarks/video_gen/Vbench/Vbench_recaption.jsonl"
|
||||
TEMPORAL_FLICKERING_PROMPT_FILE = (
|
||||
Path(__file__).resolve().parent / "temporal_flickering_prompts.json"
|
||||
)
|
||||
|
||||
|
||||
def load_temporal_flickering_prompts() -> set[str]:
|
||||
if not TEMPORAL_FLICKERING_PROMPT_FILE.exists():
|
||||
warnings.warn(
|
||||
f"Temporal flickering prompt file not found: {TEMPORAL_FLICKERING_PROMPT_FILE}. "
|
||||
"Falling back to an empty prompt set.",
|
||||
stacklevel=2,
|
||||
)
|
||||
return set()
|
||||
|
||||
with TEMPORAL_FLICKERING_PROMPT_FILE.open("r", encoding="utf-8") as f:
|
||||
data = json.load(f)
|
||||
|
||||
return set(data)
|
||||
|
||||
|
||||
PROMPT_WITH_TEMPORAL_FLICKERING = load_temporal_flickering_prompts()
|
||||
|
||||
|
||||
def clean_memory(*objects):
|
||||
for obj in objects:
|
||||
del obj
|
||||
import gc
|
||||
|
||||
gc.collect()
|
||||
if torch.cuda.is_available():
|
||||
torch.cuda.empty_cache()
|
||||
|
||||
|
||||
def init_from_model_path_if_needed(
|
||||
model: Qwen2ForCausalLM,
|
||||
model_args: ModelArguments,
|
||||
):
|
||||
path_dir = model_args.model_path
|
||||
ema_path = osp.join(path_dir, "ema.safetensors")
|
||||
model_path = osp.join(path_dir, "model.safetensors")
|
||||
|
||||
model_path_ft = None
|
||||
if osp.exists(model_path):
|
||||
model_path_ft = model_path
|
||||
elif osp.exists(ema_path):
|
||||
model_path_ft = ema_path
|
||||
|
||||
if model_path_ft:
|
||||
model_state_dict = load_file(model_path_ft, device="cpu")
|
||||
else:
|
||||
raise FileNotFoundError(
|
||||
f"Fine-tuning failed: No valid checkpoint ('ema.safetensors' or 'model.safetensors') found in {path_dir}"
|
||||
)
|
||||
|
||||
if "latent_pos_embed.pos_embed" in model_state_dict:
|
||||
model_state_dict.pop("latent_pos_embed.pos_embed")
|
||||
|
||||
model.load_state_dict(model_state_dict, strict=False)
|
||||
clean_memory(model_state_dict)
|
||||
|
||||
|
||||
def resolve_vbench_paths(
|
||||
model_args: ModelArguments,
|
||||
data_args: DataArguments,
|
||||
) -> None:
|
||||
if not model_args.model_path:
|
||||
raise ValueError("VBench requires --model_path to be provided explicitly.")
|
||||
|
||||
if not getattr(model_args, "llm_path", ""):
|
||||
model_args.llm_path = model_args.model_path
|
||||
|
||||
if not model_args.vit_path:
|
||||
model_args.vit_path = get_model_path("vit.qwen2_5_vl")
|
||||
|
||||
if not data_args.val_dataset_config_file:
|
||||
data_args.val_dataset_config_file = DEFAULT_VBENCH_DATA
|
||||
|
||||
|
||||
def build_runtime_dataset_config(
|
||||
model_args: ModelArguments,
|
||||
training_args: TrainingArguments,
|
||||
inference_args: EvaluationArguments,
|
||||
vae_config: Optional[AutoEncoderParams],
|
||||
) -> DataConfig:
|
||||
dataset_config = DataConfig()
|
||||
|
||||
dataset_config.num_frames = inference_args.num_frames
|
||||
dataset_config.H = inference_args.video_height
|
||||
dataset_config.W = inference_args.video_width
|
||||
dataset_config.task = inference_args.task
|
||||
dataset_config.resolution = inference_args.resolution
|
||||
dataset_config.text_template = inference_args.text_template
|
||||
dataset_config.max_duration = inference_args.max_duration
|
||||
dataset_config.system_prompt_type = inference_args.system_prompt_type
|
||||
|
||||
if training_args.visual_und:
|
||||
dataset_config.vit_patch_size = model_args.vit_patch_size
|
||||
dataset_config.vit_patch_size_temporal = model_args.vit_patch_size_temporal
|
||||
dataset_config.vit_max_num_patch_per_side = model_args.vit_max_num_patch_per_side
|
||||
|
||||
if training_args.visual_gen and vae_config:
|
||||
assert len(model_args.latent_patch_size) == 3, "len(latent_patch_size) must be 3"
|
||||
dataset_config.latent_patch_size = model_args.latent_patch_size
|
||||
dataset_config.vae_downsample = tuple_mul(
|
||||
model_args.latent_patch_size,
|
||||
(vae_config.downsample_temporal, vae_config.downsample_spatial, vae_config.downsample_spatial),
|
||||
)
|
||||
dataset_config.max_latent_size = model_args.max_latent_size
|
||||
dataset_config.max_num_frames = model_args.max_num_frames
|
||||
|
||||
dataset_config.text_cond_dropout_prob = model_args.text_cond_dropout_prob
|
||||
dataset_config.vae_cond_dropout_prob = model_args.vae_cond_dropout_prob
|
||||
dataset_config.vit_cond_dropout_prob = model_args.vit_cond_dropout_prob
|
||||
|
||||
return dataset_config
|
||||
|
||||
|
||||
def save_prompt_results(prompt_data_dict, save_path_gen: str):
|
||||
prompt_json_path = os.path.join(save_path_gen, PROMPT_JSON_FILENAME)
|
||||
with open(prompt_json_path, "w", encoding="utf-8") as f:
|
||||
json.dump(prompt_data_dict, f, ensure_ascii=False, indent=2)
|
||||
|
||||
|
||||
def safe_instantiate(cls, cfg: dict, name: str):
|
||||
valid_keys = {f.name for f in fields(cls)}
|
||||
valid, invalid = {}, {}
|
||||
for k, v in cfg.items():
|
||||
if k in valid_keys:
|
||||
valid[k] = v
|
||||
else:
|
||||
invalid[k] = v
|
||||
|
||||
if invalid:
|
||||
print(f"[WARN] {name} 过滤无效参数: {invalid}")
|
||||
return cls(**valid)
|
||||
|
||||
|
||||
def is_valid_value(value):
|
||||
return value is not None
|
||||
|
||||
|
||||
def merge_args(original_args, override_args):
|
||||
merged_dict = asdict(original_args)
|
||||
override_dict = asdict(override_args)
|
||||
|
||||
for key, value in override_dict.items():
|
||||
if is_valid_value(value):
|
||||
merged_dict[key] = value
|
||||
|
||||
return original_args.__class__(**merged_dict)
|
||||
|
||||
|
||||
def apply_config_json_overrides(
|
||||
model_args: ModelArguments,
|
||||
data_args: DataArguments,
|
||||
inference_args: EvaluationArguments,
|
||||
):
|
||||
if not inference_args.config_json_path or not inference_args.config_json_path.endswith(".json"):
|
||||
return model_args, data_args, inference_args
|
||||
|
||||
model_path_original = model_args.model_path
|
||||
val_dataset_config_file_original = data_args.val_dataset_config_file
|
||||
|
||||
with open(inference_args.config_json_path, "r", encoding="utf-8") as f:
|
||||
config = json.load(f)
|
||||
|
||||
if "model_args" in config:
|
||||
model_args = merge_args(
|
||||
model_args,
|
||||
safe_instantiate(ModelArguments, config["model_args"], "ModelArguments"),
|
||||
)
|
||||
if "data_args" in config:
|
||||
data_args = merge_args(
|
||||
data_args,
|
||||
safe_instantiate(DataArguments, config["data_args"], "DataArguments"),
|
||||
)
|
||||
if "training_args" in config:
|
||||
inference_args = merge_args(
|
||||
inference_args,
|
||||
safe_instantiate(EvaluationArguments, config["training_args"], "EvaluationArguments"),
|
||||
)
|
||||
|
||||
model_args.model_path = model_path_original
|
||||
if getattr(model_args, "llm_path", "") == "":
|
||||
model_args.llm_path = model_path_original
|
||||
data_args.val_dataset_config_file = val_dataset_config_file_original
|
||||
return model_args, data_args, inference_args
|
||||
|
||||
|
||||
def get_sample_num_per_prompt(
|
||||
inference_args: EvaluationArguments,
|
||||
prompt: str,
|
||||
) -> int:
|
||||
if prompt in PROMPT_WITH_TEMPORAL_FLICKERING:
|
||||
if inference_args.quick_debug:
|
||||
return min(inference_args.sample_num_per_prompt, 5)
|
||||
return max(inference_args.sample_num_per_prompt, TEMPORAL_FLICKERING_SAMPLE_NUM)
|
||||
return inference_args.sample_num_per_prompt
|
||||
|
||||
|
||||
def validate_on_fixed_batch(
|
||||
fsdp_model: Lance,
|
||||
vae_model: Optional[WanVideoVAE],
|
||||
val_data_cpu: dict,
|
||||
training_args: TrainingArguments,
|
||||
model_args: ModelArguments,
|
||||
inference_args: EvaluationArguments,
|
||||
new_token_ids,
|
||||
image_token_id: int,
|
||||
device: int,
|
||||
save_path_gen: str,
|
||||
):
|
||||
is_rank0 = not dist.is_initialized() or dist.get_rank() == 0
|
||||
val_data = val_data_cpu.cuda(device).to_dict()
|
||||
|
||||
with torch.no_grad(), torch.amp.autocast("cuda", enabled=True, dtype=torch.bfloat16):
|
||||
if "padded_videos" in val_data:
|
||||
val_data["padded_latent"] = make_padded_latent(
|
||||
val_data["padded_videos"],
|
||||
val_data["vae_data_mode"],
|
||||
vae_model,
|
||||
)
|
||||
|
||||
prompt = val_data.get("original_prompt_en") or val_data.get("caption")
|
||||
if not prompt:
|
||||
raise ValueError("VBench sample requires `original_prompt_en` or `caption` in dataset.")
|
||||
|
||||
sample_num_per_prompt = get_sample_num_per_prompt(inference_args, prompt)
|
||||
loop_iterator = trange(sample_num_per_prompt, disable=(not is_rank0), leave=False, desc="Sampling")
|
||||
|
||||
for sample_idx in loop_iterator:
|
||||
save_name = f"{save_path_gen}/{prompt}-{sample_idx}.mp4"
|
||||
if os.path.exists(save_name):
|
||||
continue
|
||||
|
||||
params = {
|
||||
"val_packed_text_ids": val_data["packed_text_ids"],
|
||||
"val_packed_text_indexes": val_data["packed_text_indexes"],
|
||||
"val_sample_lens": val_data["sample_lens"],
|
||||
"val_packed_position_ids": val_data["packed_position_ids"],
|
||||
"val_split_lens": val_data["split_lens"],
|
||||
"val_attn_modes": val_data["attn_modes"],
|
||||
"val_sample_N_target": val_data["sample_N_target"],
|
||||
"val_packed_vae_token_indexes": val_data["packed_vae_token_indexes"],
|
||||
"timestep_shift": training_args.validation_timestep_shift,
|
||||
"num_timesteps": training_args.validation_num_timesteps,
|
||||
"val_mse_loss_indexes": val_data.get("mse_loss_indexes", None),
|
||||
"val_padded_latent": val_data["padded_latent"],
|
||||
"video_sizes": val_data["video_sizes"],
|
||||
"cfg_text_scale": model_args.cfg_text_scale,
|
||||
"cfg_interval": training_args.cfg_interval,
|
||||
"cfg_renorm_min": training_args.cfg_renorm_min,
|
||||
"cfg_renorm_type": training_args.cfg_renorm_type,
|
||||
"device": device,
|
||||
"dtype": torch.bfloat16,
|
||||
"new_token_ids": new_token_ids,
|
||||
"max_samples": training_args.validation_max_samples,
|
||||
"validation_noise_seed": training_args.validation_noise_seed + sample_idx,
|
||||
"apply_chat_template": training_args.apply_chat_template,
|
||||
"apply_qwen_2_5_vl_pos_emb": training_args.apply_qwen_2_5_vl_pos_emb,
|
||||
"image_token_id": image_token_id,
|
||||
"val_packed_vit_token_indexes": val_data.get("packed_vit_token_indexes", None),
|
||||
"val_packed_vit_tokens": val_data.get("packed_vit_tokens", None),
|
||||
"vit_video_grid_thw": val_data.get("vit_video_grid_thw", None),
|
||||
"vae_video_grid_thw": val_data["vae_video_grid_thw"],
|
||||
"video_grid_thw": val_data.get("video_grid_thw", None),
|
||||
"caption": val_data.get("caption", None),
|
||||
"sample_task": val_data["sample_task"],
|
||||
"sample_modality": val_data["sample_modality"],
|
||||
"cfg_type": training_args.cfg_type,
|
||||
"cfg_uncond_token_id": training_args.cfg_uncond_token_id,
|
||||
"index": val_data["index"],
|
||||
"val_padded_videos": None,
|
||||
}
|
||||
|
||||
if inference_args.use_KVcache:
|
||||
denoise_latent, captions, _, _ = fsdp_model.validation_gen_KVcache(**params)
|
||||
else:
|
||||
denoise_latent, captions, _, _ = fsdp_model.validation_gen(**params)
|
||||
|
||||
for i_val, latent in enumerate(denoise_latent):
|
||||
v_list = [vae_model.vae_decode([latent_])[0] for latent_ in latent]
|
||||
v_thwc = decode_video_tensor(v_list)
|
||||
imageio.mimsave(
|
||||
save_name,
|
||||
v_thwc,
|
||||
fps=inference_args.validation_video_saving_fps,
|
||||
format="mp4",
|
||||
)
|
||||
inference_args.prompt_data_dict[os.path.basename(save_name)] = captions[i_val]
|
||||
clean_memory(v_list, v_thwc)
|
||||
|
||||
clean_memory(denoise_latent, captions)
|
||||
|
||||
|
||||
def main():
|
||||
assert torch.cuda.is_available()
|
||||
if "RANK" in os.environ and "WORLD_SIZE" in os.environ:
|
||||
dist.init_process_group("nccl")
|
||||
global_rank = dist.get_rank()
|
||||
world_size = dist.get_world_size()
|
||||
else:
|
||||
global_rank = 0
|
||||
world_size = 1
|
||||
|
||||
local_rank = global_rank % torch.cuda.device_count()
|
||||
device = local_rank
|
||||
torch.cuda.set_device(device)
|
||||
|
||||
parser = HfArgumentParser((ModelArguments, DataArguments, EvaluationArguments))
|
||||
model_args, data_args, inference_args = cast(
|
||||
Tuple[ModelArguments, DataArguments, EvaluationArguments],
|
||||
parser.parse_args_into_dataclasses(),
|
||||
)
|
||||
training_args = inference_args
|
||||
|
||||
model_args, data_args, inference_args = apply_config_json_overrides(
|
||||
model_args,
|
||||
data_args,
|
||||
inference_args,
|
||||
)
|
||||
training_args = inference_args
|
||||
resolve_vbench_paths(model_args, data_args)
|
||||
|
||||
training_args.validation_noise_seed = inference_args.evaluation_seed
|
||||
training_args.validation_data_seed = inference_args.evaluation_seed
|
||||
|
||||
seed = training_args.global_seed * world_size + global_rank
|
||||
set_seed(seed)
|
||||
log_rank0 = print if global_rank == 0 else (lambda *_: None)
|
||||
|
||||
llm_config: Qwen2Config = Qwen2Config.from_json_file(osp.join(model_args.model_path, "llm_config.json"))
|
||||
|
||||
llm_config.layer_module = model_args.layer_module
|
||||
llm_config.qk_norm = model_args.llm_qk_norm
|
||||
llm_config.qk_norm_und = model_args.llm_qk_norm_und
|
||||
llm_config.qk_norm_gen = model_args.llm_qk_norm_gen
|
||||
llm_config.tie_word_embeddings = model_args.tie_word_embeddings
|
||||
llm_config.freeze_und = training_args.freeze_und
|
||||
llm_config.apply_qwen_2_5_vl_pos_emb = training_args.apply_qwen_2_5_vl_pos_emb
|
||||
|
||||
language_model: Qwen2ForCausalLM = Qwen2ForCausalLM(llm_config)
|
||||
|
||||
if training_args.visual_und:
|
||||
if model_args.vit_type in ("qwen2_5_vl", "qwen_2_5_vl_original"):
|
||||
vit_config = Qwen2_5_VLVisionConfig.from_pretrained(model_args.vit_path)
|
||||
vit_model = Qwen2_5_VisionTransformerPretrainedModel(vit_config)
|
||||
vit_weights = load_file(osp.join(model_args.vit_path, "vit.safetensors"))
|
||||
vit_model.load_state_dict(vit_weights, strict=True)
|
||||
else:
|
||||
raise ValueError(f"Unsupported vit_type: {model_args.vit_type}")
|
||||
clean_memory(vit_weights)
|
||||
|
||||
if training_args.visual_gen:
|
||||
vae_model = WanVideoVAE()
|
||||
vae_config: Optional[AutoEncoderParams] = deepcopy(vae_model.vae_config)
|
||||
else:
|
||||
vae_model = None
|
||||
vae_config = None
|
||||
|
||||
config = LanceConfig(
|
||||
visual_gen=training_args.visual_gen,
|
||||
visual_und=training_args.visual_und,
|
||||
llm_config=llm_config,
|
||||
vit_config=vit_config if training_args.visual_und else None,
|
||||
vae_config=vae_config if training_args.visual_gen else None,
|
||||
latent_patch_size=model_args.latent_patch_size,
|
||||
max_num_frames=model_args.max_num_frames,
|
||||
max_latent_size=model_args.max_latent_size,
|
||||
vit_max_num_patch_per_side=model_args.vit_max_num_patch_per_side,
|
||||
connector_act=model_args.connector_act,
|
||||
interpolate_pos=model_args.interpolate_pos,
|
||||
timestep_shift=training_args.timestep_shift,
|
||||
)
|
||||
model: Lance = Lance(
|
||||
language_model=language_model,
|
||||
vit_model=vit_model if training_args.visual_und else None,
|
||||
vit_type=model_args.vit_type,
|
||||
config=config,
|
||||
training_args=training_args,
|
||||
)
|
||||
model = model.to(device)
|
||||
|
||||
tokenizer: Qwen2Tokenizer = Qwen2Tokenizer.from_pretrained(model_args.model_path)
|
||||
|
||||
tokenizer, new_token_ids, num_new_tokens = add_special_tokens(tokenizer)
|
||||
|
||||
if training_args.copy_init_moe:
|
||||
language_model.init_moe()
|
||||
|
||||
init_from_model_path_if_needed(model, model_args)
|
||||
|
||||
if num_new_tokens > 0:
|
||||
model.language_model.resize_token_embeddings(len(tokenizer))
|
||||
model.config.llm_config.vocab_size = len(tokenizer)
|
||||
model.language_model.config.vocab_size = len(tokenizer)
|
||||
|
||||
if model_args.vit_type.lower() == "qwen2_5_vl":
|
||||
language_model = hack_qwen2_5_vl_config(language_model)
|
||||
|
||||
image_token_id = language_model.config.video_token_id
|
||||
new_token_ids.update({"image_token_id": image_token_id})
|
||||
model.update_tokenizer(tokenizer=tokenizer)
|
||||
|
||||
if model_args.tie_word_embeddings:
|
||||
model.language_model.untie_lm_head()
|
||||
model.language_model.copy_new_token_rows_to_lm_head(num_new_tokens)
|
||||
model_args.tie_word_embeddings = False
|
||||
llm_config.tie_word_embeddings = False
|
||||
else:
|
||||
assert (
|
||||
model.language_model.get_input_embeddings().weight.data.data_ptr()
|
||||
!= model.language_model.get_output_embeddings().weight.data.data_ptr()
|
||||
), "tie_world_embeddings 冲突"
|
||||
|
||||
model = model.to(device=device, dtype=torch.bfloat16)
|
||||
model.eval()
|
||||
if vae_model is not None and hasattr(vae_model, "eval"):
|
||||
vae_model.eval()
|
||||
|
||||
dataset_config = build_runtime_dataset_config(
|
||||
model_args=model_args,
|
||||
training_args=training_args,
|
||||
inference_args=inference_args,
|
||||
vae_config=vae_config,
|
||||
)
|
||||
val_dataset = ValidationDataset(
|
||||
jsonl_path=data_args.val_dataset_config_file,
|
||||
tokenizer=tokenizer,
|
||||
data_args=data_args,
|
||||
model_args=model_args,
|
||||
training_args=training_args,
|
||||
new_token_ids=new_token_ids,
|
||||
dataset_config=dataset_config,
|
||||
local_rank=global_rank,
|
||||
world_size=world_size,
|
||||
)
|
||||
|
||||
val_loader = DataLoader(
|
||||
val_dataset,
|
||||
batch_size=1,
|
||||
num_workers=0,
|
||||
pin_memory=True,
|
||||
collate_fn=simple_custom_collate,
|
||||
drop_last=True,
|
||||
prefetch_factor=None,
|
||||
persistent_workers=False,
|
||||
multiprocessing_context=None,
|
||||
)
|
||||
val_loader_iter = iter(val_loader)
|
||||
|
||||
if not hasattr(inference_args, "prompt_data_dict"):
|
||||
inference_args.prompt_data_dict = {}
|
||||
|
||||
os.makedirs(inference_args.save_path_gen, exist_ok=True)
|
||||
|
||||
for _ in trange(
|
||||
len(val_loader),
|
||||
desc="Validating",
|
||||
unit="batch",
|
||||
leave=True,
|
||||
ncols=80,
|
||||
disable=(global_rank != 0),
|
||||
):
|
||||
val_data_cpu = next(val_loader_iter)
|
||||
validate_on_fixed_batch(
|
||||
fsdp_model=model,
|
||||
vae_model=vae_model,
|
||||
val_data_cpu=val_data_cpu,
|
||||
training_args=training_args,
|
||||
model_args=model_args,
|
||||
inference_args=inference_args,
|
||||
new_token_ids=new_token_ids,
|
||||
image_token_id=image_token_id,
|
||||
device=device,
|
||||
save_path_gen=inference_args.save_path_gen,
|
||||
)
|
||||
|
||||
if dist.is_initialized():
|
||||
dist.barrier()
|
||||
gathered = [None for _ in range(dist.get_world_size())]
|
||||
dist.all_gather_object(gathered, inference_args.prompt_data_dict)
|
||||
|
||||
if global_rank == 0:
|
||||
merged = {}
|
||||
for d in gathered:
|
||||
merged.update(d)
|
||||
inference_args.prompt_data_dict = merged
|
||||
save_prompt_results(inference_args.prompt_data_dict, inference_args.save_path_gen)
|
||||
elif global_rank == 0:
|
||||
save_prompt_results(inference_args.prompt_data_dict, inference_args.save_path_gen)
|
||||
|
||||
if dist.is_initialized():
|
||||
dist.destroy_process_group()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -0,0 +1,127 @@
|
||||
#!/bin/bash
|
||||
|
||||
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
||||
source "$SCRIPT_DIR/../../sample_env.sh"
|
||||
|
||||
# ========================= 推理参数配置 =========================
|
||||
TASK_NAME="t2v"
|
||||
NUM_GPUS=8
|
||||
|
||||
VALIDATION_NUM_TIMESTEPS=30 # 30 # 50 # 10 # 30 # 50
|
||||
VALIDATION_TIMESTEP_SHIFT=3.0 # 3.5
|
||||
EVALUATION_SEED=42
|
||||
CFG_TEXT_SCALE=4.0
|
||||
CFG_INTERVAL_START=0.4
|
||||
CFG_INTERVAL_END=1.0
|
||||
SAMPLE_NUM_PER_PROMPT=5
|
||||
USE_KVCACHE=true
|
||||
|
||||
VIDEO_HEIGHT=480
|
||||
VIDEO_WIDTH=848
|
||||
NUM_FRAMES=50
|
||||
MAX_NUM_FRAMES=121
|
||||
MAX_LATENT_SIZE=64
|
||||
RESOLUTION="video_480p"
|
||||
|
||||
MODEL_PATH="downloads/Lance_3B_Video"
|
||||
VAL_DATASET_CONFIG_FILE="benchmarks/video_gen/Vbench/Vbench_recaption.jsonl"
|
||||
|
||||
# ========================= 自动生成路径 =========================
|
||||
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
|
||||
KVCACHE_TAG=""
|
||||
if [ "$USE_KVCACHE" = "true" ]; then
|
||||
KVCACHE_TAG="kvcache_"
|
||||
fi
|
||||
SAVE_PATH_GEN="results/Vbench_ts${VALIDATION_NUM_TIMESTEPS}_tss${VALIDATION_TIMESTEP_SHIFT}_seed${EVALUATION_SEED}_cfg${CFG_TEXT_SCALE}_${KVCACHE_TAG}${TIMESTAMP}"
|
||||
|
||||
if [ -z "$MODEL_PATH" ]; then
|
||||
echo "错误: 请在脚本顶部配置区手动设置 MODEL_PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# ============================== 环境与分布式配置 ==============================
|
||||
lance_setup_common_env
|
||||
lance_setup_distributed_env "$NUM_GPUS"
|
||||
lance_setup_shard_env 1
|
||||
|
||||
# ========================= 显示任务配置 =========================
|
||||
echo "================================================"
|
||||
echo "VBench T2V 推理"
|
||||
echo "================================================"
|
||||
echo "GPU数量: ${NUM_GPUS}"
|
||||
echo "保存路径: ${SAVE_PATH_GEN}"
|
||||
echo "分辨率: ${VIDEO_HEIGHT}x${VIDEO_WIDTH}"
|
||||
echo "输出帧数: ${NUM_FRAMES}"
|
||||
echo "最大帧数: ${MAX_NUM_FRAMES}"
|
||||
echo "模型路径: ${MODEL_PATH}"
|
||||
if [ -n "$VAL_DATASET_CONFIG_FILE" ]; then
|
||||
echo "数据路径: ${VAL_DATASET_CONFIG_FILE}"
|
||||
fi
|
||||
if [ -n "$CONFIG_JSON_PATH" ]; then
|
||||
echo "配置JSON: ${CONFIG_JSON_PATH}"
|
||||
fi
|
||||
echo ""
|
||||
echo "关键参数:"
|
||||
echo " - validation_num_timesteps: ${VALIDATION_NUM_TIMESTEPS}"
|
||||
echo " - validation_timestep_shift: ${VALIDATION_TIMESTEP_SHIFT}"
|
||||
echo " - evaluation_seed: ${EVALUATION_SEED}"
|
||||
echo " - cfg_text_scale: ${CFG_TEXT_SCALE}"
|
||||
echo " - cfg_interval: [${CFG_INTERVAL_START}, ${CFG_INTERVAL_END}]"
|
||||
echo " - num_frames: ${NUM_FRAMES}"
|
||||
echo " - sample_num_per_prompt: ${SAMPLE_NUM_PER_PROMPT}"
|
||||
echo " - use_KVcache: ${USE_KVCACHE}"
|
||||
echo "================================================"
|
||||
echo ""
|
||||
|
||||
# ============================== 执行推理 ==============================
|
||||
# 注意:请直接修改本脚本顶部的“推理参数配置”区
|
||||
accelerate launch \
|
||||
--num_machines $NUM_MACHINES \
|
||||
--num_processes $TOTAL_RANK \
|
||||
--machine_rank $MACHINE_RANK \
|
||||
--main_process_ip $MAIN_PROCESS_IP \
|
||||
--main_process_port $MAIN_PROCESS_PORT \
|
||||
--mixed_precision bf16 \
|
||||
benchmarks/video_gen/Vbench/sample_vbench.py \
|
||||
--model_path "$MODEL_PATH" \
|
||||
--val_dataset_config_file "$VAL_DATASET_CONFIG_FILE" \
|
||||
--config_json_path "$CONFIG_JSON_PATH" \
|
||||
--vit_type qwen_2_5_vl_original \
|
||||
--llm_qk_norm true \
|
||||
--llm_qk_norm_und true \
|
||||
--llm_qk_norm_gen true \
|
||||
--tie_word_embeddings false \
|
||||
--validation_num_timesteps $VALIDATION_NUM_TIMESTEPS \
|
||||
--validation_timestep_shift $VALIDATION_TIMESTEP_SHIFT \
|
||||
--copy_init_moe true \
|
||||
--use_flex true \
|
||||
--max_num_frames $MAX_NUM_FRAMES \
|
||||
--max_latent_size $MAX_LATENT_SIZE \
|
||||
--latent_patch_size 1 1 1 \
|
||||
--num_replicate $NUM_REPLICATE \
|
||||
--num_shard $NUM_SHARD \
|
||||
--visual_und true \
|
||||
--visual_gen true \
|
||||
--vae_model_type wan \
|
||||
--apply_qwen_2_5_vl_pos_emb true \
|
||||
--apply_chat_template false \
|
||||
--cfg_type 0 \
|
||||
--validation_video_saving_fps 12 \
|
||||
--validation_log_type direct \
|
||||
--video_height $VIDEO_HEIGHT \
|
||||
--video_width $VIDEO_WIDTH \
|
||||
--num_frames $NUM_FRAMES \
|
||||
--task $TASK_NAME \
|
||||
--save_path_gen $SAVE_PATH_GEN \
|
||||
--resolution $RESOLUTION \
|
||||
--evaluation_seed $EVALUATION_SEED \
|
||||
--text_template true \
|
||||
--sample_num_per_prompt $SAMPLE_NUM_PER_PROMPT \
|
||||
--cfg_text_scale $CFG_TEXT_SCALE \
|
||||
--cfg_interval $CFG_INTERVAL_START $CFG_INTERVAL_END \
|
||||
--use_KVcache $USE_KVCACHE
|
||||
|
||||
echo ""
|
||||
echo "================================================"
|
||||
echo "完成! 结果: ${SAVE_PATH_GEN}"
|
||||
echo "================================================"
|
||||
@@ -0,0 +1,77 @@
|
||||
[
|
||||
"In a still frame, a stop sign",
|
||||
"a toilet, frozen in time",
|
||||
"a laptop, frozen in time",
|
||||
"A tranquil tableau of alley",
|
||||
"A tranquil tableau of bar",
|
||||
"A tranquil tableau of barn",
|
||||
"A tranquil tableau of bathroom",
|
||||
"A tranquil tableau of bedroom",
|
||||
"A tranquil tableau of cliff",
|
||||
"In a still frame, courtyard",
|
||||
"In a still frame, gas station",
|
||||
"A tranquil tableau of house",
|
||||
"indoor gymnasium, frozen in time",
|
||||
"A tranquil tableau of indoor library",
|
||||
"A tranquil tableau of kitchen",
|
||||
"A tranquil tableau of palace",
|
||||
"In a still frame, parking lot",
|
||||
"In a still frame, phone booth",
|
||||
"A tranquil tableau of restaurant",
|
||||
"A tranquil tableau of tower",
|
||||
"A tranquil tableau of a bowl",
|
||||
"A tranquil tableau of an apple",
|
||||
"A tranquil tableau of a bench",
|
||||
"A tranquil tableau of a bed",
|
||||
"A tranquil tableau of a chair",
|
||||
"A tranquil tableau of a cup",
|
||||
"A tranquil tableau of a dining table",
|
||||
"In a still frame, a pear",
|
||||
"A tranquil tableau of a bunch of grapes",
|
||||
"A tranquil tableau of a bowl on the kitchen counter",
|
||||
"A tranquil tableau of a beautiful, handcrafted ceramic bowl",
|
||||
"A tranquil tableau of an antique bowl",
|
||||
"A tranquil tableau of an exquisite mahogany dining table",
|
||||
"A tranquil tableau of a wooden bench in the park",
|
||||
"A tranquil tableau of a beautiful wrought-iron bench surrounded by blooming flowers",
|
||||
"In a still frame, a park bench with a view of the lake",
|
||||
"A tranquil tableau of a vintage rocking chair was placed on the porch",
|
||||
"A tranquil tableau of the jail cell was small and dimly lit, with cold, steel bars",
|
||||
"A tranquil tableau of the phone booth was tucked away in a quiet alley",
|
||||
"a dilapidated phone booth stood as a relic of a bygone era on the sidewalk, frozen in time",
|
||||
"A tranquil tableau of the old red barn stood weathered and iconic against the backdrop of the countryside",
|
||||
"A tranquil tableau of a picturesque barn was painted a warm shade of red and nestled in a picturesque meadow",
|
||||
"In a still frame, within the desolate desert, an oasis unfolded, characterized by the stoic presence of palm trees and a motionless, glassy pool of water",
|
||||
"In a still frame, the Parthenon's majestic Doric columns stand in serene solitude atop the Acropolis, framed by the tranquil Athenian landscape",
|
||||
"In a still frame, the Temple of Hephaestus, with its timeless Doric grace, stands stoically against the backdrop of a quiet Athens",
|
||||
"In a still frame, the ornate Victorian streetlamp stands solemnly, adorned with intricate ironwork and stained glass panels",
|
||||
"A tranquil tableau of the Stonehenge presented itself as an enigmatic puzzle, each colossal stone meticulously placed against the backdrop of tranquility",
|
||||
"In a still frame, in the vast desert, an oasis nestled among dunes, featuring tall palm trees and an air of serenity",
|
||||
"static view on a desert scene with an oasis, palm trees, and a clear, calm pool of water",
|
||||
"A tranquil tableau of an ornate Victorian streetlamp standing on a cobblestone street corner, illuminating the empty night",
|
||||
"A tranquil tableau of a tranquil lakeside cabin nestled among tall pines, its reflection mirrored perfectly in the calm water",
|
||||
"In a still frame, a vintage gas lantern, adorned with intricate details, gracing a historic cobblestone square",
|
||||
"In a still frame, a tranquil Japanese tea ceremony room, with tatami mats, a delicate tea set, and a bonsai tree in the corner",
|
||||
"A tranquil tableau of the Parthenon stands resolute in its classical elegance, a timeless symbol of Athens' cultural legacy",
|
||||
"A tranquil tableau of in the heart of Plaka, the neoclassical architecture of the old city harmonizes with the ancient ruins",
|
||||
"A tranquil tableau of in the desolate beauty of the American Southwest, Chaco Canyon's ancient ruins whispered tales of an enigmatic civilization that once thrived amidst the arid landscapes",
|
||||
"A tranquil tableau of at the edge of the Arabian Desert, the ancient city of Petra beckoned with its enigmatic rock-carved façades",
|
||||
"In a still frame, amidst the cobblestone streets, an Art Nouveau lamppost stood tall",
|
||||
"A tranquil tableau of in the quaint village square, a traditional wrought-iron streetlamp featured delicate filigree patterns and amber-hued glass panels",
|
||||
"A tranquil tableau of the lampposts were adorned with Art Deco motifs, their geometric shapes and frosted glass creating a sense of vintage glamour",
|
||||
"In a still frame, in the picturesque square, a Gothic-style lamppost adorned with intricate stone carvings added a touch of medieval charm to the setting",
|
||||
"In a still frame, in the heart of the old city, a row of ornate lantern-style streetlamps bathed the narrow alleyway in a warm, welcoming light",
|
||||
"A tranquil tableau of in the heart of the Utah desert, a massive sandstone arch spanned the horizon",
|
||||
"A tranquil tableau of in the Arizona desert, a massive stone bridge arched across a rugged canyon",
|
||||
"A tranquil tableau of in the corner of the minimalist tea room, a bonsai tree added a touch of nature's beauty to the otherwise simple and elegant space",
|
||||
"In a still frame, amidst the hushed ambiance of the traditional tea room, a meticulously arranged tea set awaited, with porcelain cups, a bamboo whisk",
|
||||
"In a still frame, nestled in the Zen garden, a rustic teahouse featured tatami seating and a traditional charcoal brazier",
|
||||
"A tranquil tableau of a country estate's library featured elegant wooden shelves",
|
||||
"A tranquil tableau of beneath the shade of a solitary oak tree, an old wooden park bench sat patiently",
|
||||
"A tranquil tableau of beside a tranquil pond, a weeping willow tree draped its branches gracefully over the water's surface, creating a serene tableau of reflection and calm",
|
||||
"A tranquil tableau of in the Zen garden, a perfectly raked gravel path led to a serene rock garden",
|
||||
"In a still frame, a tranquil pond was fringed by weeping cherry trees, their blossoms drifting lazily onto the glassy surface",
|
||||
"In a still frame, within the historic library's reading room, rows of antique leather chairs and mahogany tables offered a serene haven for literary contemplation",
|
||||
"A tranquil tableau of a peaceful orchid garden showcased a variety of delicate blooms",
|
||||
"A tranquil tableau of in the serene courtyard, a centuries-old stone well stood as a symbol of a bygone era, its mossy stones bearing witness to the passage of time"
|
||||
]
|
||||
@@ -0,0 +1,16 @@
|
||||
# Copyright (c) 2025 ByteDance Ltd. and/or its affiliates.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
# coding: utf-8
|
||||
|
||||
"""Common utilities package."""
|
||||
@@ -0,0 +1 @@
|
||||
"""Utilities for the Lance Gradio application."""
|
||||
@@ -0,0 +1,704 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import html
|
||||
import json
|
||||
import os
|
||||
import random
|
||||
import shutil
|
||||
import subprocess
|
||||
import time
|
||||
from datetime import datetime
|
||||
from pathlib import Path
|
||||
from typing import Optional
|
||||
from urllib.parse import quote
|
||||
|
||||
import gradio as gr
|
||||
|
||||
from .settings import *
|
||||
|
||||
def get_aspect_ratio_choices_for_task(task: str) -> list[tuple[str, str]]:
|
||||
"""Get Aspect Ratio choices with default/recommended marker for the given task."""
|
||||
internal_task = normalize_task(task)
|
||||
default_ratio = DEFAULT_IMAGE_ASPECT_RATIO if internal_task in IMAGE_TASKS else DEFAULT_VIDEO_ASPECT_RATIO
|
||||
return [
|
||||
(f"{ratio}" if ratio == default_ratio else ratio, ratio)
|
||||
for ratio in ASPECT_RATIO_CHOICES
|
||||
]
|
||||
|
||||
def get_video_duration_choices() -> list[tuple[str, int]]:
|
||||
return [(f"{seconds}s", seconds) for seconds in range(1, 11)]
|
||||
|
||||
def display_path(path: Path) -> str:
|
||||
path_text = path.as_posix()
|
||||
if path.is_absolute():
|
||||
try:
|
||||
path_text = path.relative_to(Path.cwd()).as_posix()
|
||||
except ValueError:
|
||||
return path_text
|
||||
if path_text == "." or path_text.startswith("./"):
|
||||
return path_text
|
||||
return f"./{path_text}"
|
||||
|
||||
def get_model_base_dir() -> Path:
|
||||
"""Return the local model directory only.
|
||||
|
||||
Local-only mode never selects remote storage and never downloads
|
||||
model assets from remote repositories. Override with LANCE_MODEL_BASE_DIR
|
||||
when your local weights live somewhere else.
|
||||
"""
|
||||
configured = os.getenv("LANCE_MODEL_BASE_DIR")
|
||||
return Path(configured).expanduser() if configured else LOCAL_MODEL_BASE_DIR
|
||||
|
||||
def normalize_model_variant(model_variant: Optional[str] = None) -> str:
|
||||
variant = (model_variant or os.getenv("LANCE_MODEL_VARIANT", DEFAULT_MODEL_VARIANT)).strip().lower()
|
||||
if variant in {"image", "t2i", "i2t"}:
|
||||
return MODEL_VARIANT_IMAGE
|
||||
return MODEL_VARIANT_VIDEO
|
||||
|
||||
def get_model_path(model_variant: Optional[str] = None) -> Path:
|
||||
variant = normalize_model_variant(model_variant)
|
||||
variant_env_name = "LANCE_IMAGE_MODEL_PATH" if variant == MODEL_VARIANT_IMAGE else "LANCE_VIDEO_MODEL_PATH"
|
||||
variant_configured = os.getenv(variant_env_name)
|
||||
if variant_configured:
|
||||
return Path(variant_configured).expanduser()
|
||||
|
||||
configured = os.getenv("LANCE_MODEL_PATH")
|
||||
if configured:
|
||||
return Path(configured).expanduser()
|
||||
|
||||
model_dir_name = MODEL_VARIANT_TO_DIR[variant]
|
||||
return get_model_base_dir() / model_dir_name
|
||||
|
||||
def get_required_model_asset_paths(model_base_dir: Path, model_path: Path) -> list[Path]:
|
||||
return [
|
||||
model_path / "llm_config.json",
|
||||
model_path / "model.safetensors",
|
||||
model_base_dir / "Qwen2.5-VL-ViT" / "vit.safetensors",
|
||||
model_base_dir / "Wan2.2_VAE.pth",
|
||||
]
|
||||
|
||||
def ensure_model_assets(model_variant: Optional[str] = None) -> Path:
|
||||
"""Verify that all required model assets exist locally.
|
||||
|
||||
Expected layout by default:
|
||||
downloads/
|
||||
Lance_3B_Video/
|
||||
Lance_3B/
|
||||
Qwen2.5-VL-ViT/
|
||||
Wan2.2_VAE.pth
|
||||
|
||||
Set LANCE_MODEL_BASE_DIR, LANCE_MODEL_PATH, LANCE_VIDEO_MODEL_PATH or
|
||||
LANCE_IMAGE_MODEL_PATH to point at local files. No remote download is
|
||||
attempted.
|
||||
"""
|
||||
model_base_dir = get_model_base_dir()
|
||||
os.environ["LANCE_MODEL_BASE_DIR"] = display_path(model_base_dir)
|
||||
model_path = get_model_path(model_variant)
|
||||
required_paths = get_required_model_asset_paths(model_base_dir, model_path)
|
||||
|
||||
if all(path.exists() for path in required_paths):
|
||||
return model_path
|
||||
|
||||
missing = "\n".join(f"- {display_path(path)}" for path in required_paths if not path.exists())
|
||||
raise FileNotFoundError(
|
||||
"Local Lance model assets are missing. This local-only build does not "
|
||||
"download from remote repositories. Set LANCE_MODEL_BASE_DIR "
|
||||
"or the model path environment variables to your local weights.\n"
|
||||
f"Missing files:\n{missing}"
|
||||
)
|
||||
|
||||
def ensure_dirs() -> None:
|
||||
TMP_INPUT_DIR.mkdir(parents=True, exist_ok=True)
|
||||
RESULTS_ROOT.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
def save_generation_record(record: dict, save_dir: Path) -> None:
|
||||
ensure_dirs()
|
||||
run_record_path = save_dir / RUN_RECORD_FILENAME
|
||||
with run_record_path.open("w", encoding="utf-8") as f:
|
||||
json.dump(record, f, ensure_ascii=False, indent=2)
|
||||
|
||||
with RECORD_WRITE_LOCK:
|
||||
with GLOBAL_RECORDS_FILE.open("a", encoding="utf-8") as f:
|
||||
f.write(json.dumps(record, ensure_ascii=False) + "\n")
|
||||
|
||||
def normalize_seed(seed: int) -> int:
|
||||
return random.randint(0, 2**31 - 1) if seed == -1 else seed
|
||||
|
||||
def video_seconds_to_num_frames(seconds: int) -> int:
|
||||
seconds = max(1, min(10, int(seconds)))
|
||||
return 12 * seconds + 1
|
||||
|
||||
def get_default_video_duration_seconds(task: str) -> int:
|
||||
internal_task = normalize_task(task)
|
||||
if internal_task == TASK_I2V:
|
||||
return DEFAULT_I2V_DURATION_SECONDS
|
||||
return DEFAULT_T2V_DURATION_SECONDS
|
||||
|
||||
def normalize_task(task: str) -> str:
|
||||
task_key = (task or TASK_LABEL_VIDEO_GENERATION).strip()
|
||||
task = TASK_LABEL_TO_INTERNAL.get(task_key, TASK_LABEL_TO_INTERNAL.get(task_key.lower(), ""))
|
||||
if task not in GENERATION_TASKS | UNDERSTANDING_TASKS:
|
||||
raise ValueError(f"Unsupported task type: {task}")
|
||||
return task
|
||||
|
||||
def normalize_resolution_choice_value(resolution: str, task: str) -> str:
|
||||
resolution_text = str(resolution or "").strip()
|
||||
for choice in get_resolution_choices_for_task(task):
|
||||
if isinstance(choice, tuple):
|
||||
label, value = choice
|
||||
if resolution_text in {str(label), str(value)}:
|
||||
return str(value)
|
||||
elif resolution_text == str(choice):
|
||||
return str(choice)
|
||||
return resolution_text
|
||||
|
||||
def get_resolution_choice_values_for_task(task: str) -> list[str]:
|
||||
choices = get_resolution_choices_for_task(task)
|
||||
values = []
|
||||
for choice in choices:
|
||||
values.append(choice[1] if isinstance(choice, tuple) else choice)
|
||||
return values
|
||||
|
||||
def get_resolution_choices_for_task(task: str) -> list[str | tuple[str, str]]:
|
||||
internal_task = normalize_task(task)
|
||||
if internal_task in IMAGE_TASKS:
|
||||
return IMAGE_RESOLUTION_CHOICES
|
||||
if internal_task in {TASK_T2V, TASK_I2V}:
|
||||
return VIDEO_RESOLUTION_DISPLAY_CHOICES
|
||||
if internal_task == TASK_VIDEO_EDIT:
|
||||
return VIDEO_EDIT_RESOLUTION_CHOICES
|
||||
if internal_task in VIDEO_TASKS:
|
||||
return VIDEO_EDIT_RESOLUTION_CHOICES
|
||||
return VIDEO_RESOLUTION_CHOICES
|
||||
|
||||
def get_default_resolution_for_task(task: str) -> str:
|
||||
internal_task = normalize_task(task)
|
||||
if internal_task in IMAGE_TASKS:
|
||||
return DEFAULT_IMAGE_RESOLUTION
|
||||
# Text-to-Video and Image-to-Video default to the lightweight/recommended 360p profile.
|
||||
if internal_task in {TASK_T2V, TASK_I2V}:
|
||||
return DEFAULT_RESOLUTION
|
||||
if internal_task == TASK_VIDEO_EDIT:
|
||||
return DEFAULT_VIDEO_EDIT_RESOLUTION
|
||||
if internal_task in VIDEO_TASKS:
|
||||
return DEFAULT_VIDEO_EDIT_RESOLUTION
|
||||
return DEFAULT_RESOLUTION
|
||||
|
||||
def normalize_resolution_for_backend(resolution: str, task: str) -> str:
|
||||
internal_task = normalize_task(task)
|
||||
normalized_resolution = normalize_resolution_choice_value(resolution, internal_task)
|
||||
choices = get_resolution_choice_values_for_task(internal_task)
|
||||
if normalized_resolution in choices:
|
||||
return normalized_resolution
|
||||
return get_default_resolution_for_task(internal_task)
|
||||
|
||||
def get_default_aspect_ratio(task: str) -> str:
|
||||
internal_task = normalize_task(task)
|
||||
return DEFAULT_IMAGE_ASPECT_RATIO if internal_task in IMAGE_TASKS else DEFAULT_VIDEO_ASPECT_RATIO
|
||||
|
||||
def normalize_aspect_ratio_for_task(task: str, aspect_ratio: Optional[str]) -> str:
|
||||
internal_task = normalize_task(task)
|
||||
if internal_task == TASK_I2V:
|
||||
return get_default_aspect_ratio(internal_task)
|
||||
return aspect_ratio if aspect_ratio in ASPECT_RATIO_CHOICES else get_default_aspect_ratio(internal_task)
|
||||
|
||||
def normalize_video_resolution(resolution: Optional[str], task: Optional[str] = None) -> str:
|
||||
if task is None:
|
||||
return resolution if resolution in VIDEO_RESOLUTION_CHOICES else DEFAULT_RESOLUTION
|
||||
normalized_resolution = normalize_resolution_choice_value(resolution, task)
|
||||
choices = get_resolution_choice_values_for_task(task)
|
||||
return normalized_resolution if normalized_resolution in choices else get_default_resolution_for_task(task)
|
||||
|
||||
def get_size_for_aspect_ratio(task: str, aspect_ratio: str, video_resolution: Optional[str] = None) -> tuple[int, int]:
|
||||
internal_task = normalize_task(task)
|
||||
aspect_ratio = normalize_aspect_ratio_for_task(internal_task, aspect_ratio)
|
||||
if internal_task in IMAGE_TASKS:
|
||||
size_map = IMAGE_ASPECT_RATIO_TO_SIZE
|
||||
else:
|
||||
size_map = VIDEO_RESOLUTION_TO_SIZE_MAP[normalize_video_resolution(video_resolution, internal_task)]
|
||||
return size_map[aspect_ratio]
|
||||
|
||||
def format_size_markdown(task: str, width: int, height: int) -> str:
|
||||
internal_task = normalize_task(task)
|
||||
if internal_task in UNDERSTANDING_TASKS:
|
||||
return ""
|
||||
#return f"**Output Resolution:** `{width} x {height}`"
|
||||
return f"{width} x {height}"
|
||||
|
||||
def get_size_map_for_task(task: str, video_resolution: Optional[str] = None) -> dict[str, tuple[int, int]]:
|
||||
internal_task = normalize_task(task)
|
||||
if internal_task in IMAGE_TASKS:
|
||||
return IMAGE_ASPECT_RATIO_TO_SIZE
|
||||
return VIDEO_RESOLUTION_TO_SIZE_MAP[normalize_video_resolution(video_resolution, internal_task)]
|
||||
|
||||
def get_output_resolution_choices_for_task(task: str, video_resolution: Optional[str] = None) -> list[tuple[str, str]]:
|
||||
"""Get Output Resolution choices with a one-to-one mapping to aspect ratios."""
|
||||
internal_task = normalize_task(task)
|
||||
default_ratio = get_default_aspect_ratio(internal_task)
|
||||
size_map = get_size_map_for_task(internal_task, video_resolution)
|
||||
choices = []
|
||||
for ratio in ASPECT_RATIO_CHOICES:
|
||||
width, height = size_map[ratio]
|
||||
resolution_text = format_size_markdown(internal_task, width, height)
|
||||
label = f"{resolution_text}" if ratio == default_ratio else resolution_text
|
||||
choices.append((label, resolution_text))
|
||||
return choices
|
||||
|
||||
def build_lance_label_html(text: str, *extra_classes: str) -> str:
|
||||
class_names = " ".join(["lance-section-label", *extra_classes]).strip()
|
||||
return f'<div class="{class_names}">{html.escape(text)}</div>'
|
||||
|
||||
def build_lance_icon_label_html(text: str, icon: str, *extra_classes: str) -> str:
|
||||
icon_map = {
|
||||
"video": """
|
||||
<span class="lance-label-icon" aria-hidden="true">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round">
|
||||
<rect x="3.5" y="6" width="11" height="12" rx="2.2"></rect>
|
||||
<path d="M15 10.2 20.5 7v10L15 13.8z" fill="currentColor" stroke="none"></path>
|
||||
</svg>
|
||||
</span>
|
||||
""",
|
||||
"image": """
|
||||
<span class="lance-label-icon" aria-hidden="true">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round">
|
||||
<rect x="3.5" y="5.5" width="17" height="13" rx="2.2"></rect>
|
||||
<circle cx="9" cy="10" r="1.5" fill="currentColor" stroke="none"></circle>
|
||||
<path d="M5.5 16.5 10 12l2.7 2.7 2.1-2.1 3.7 3.9"></path>
|
||||
</svg>
|
||||
</span>
|
||||
""",
|
||||
"text": """
|
||||
<span class="lance-label-icon" aria-hidden="true">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round">
|
||||
<rect x="3.5" y="5.5" width="17" height="13" rx="2.2"></rect>
|
||||
<path d="M7 9h10"></path>
|
||||
<path d="M7 12h7.5"></path>
|
||||
<path d="M7 15h5.5"></path>
|
||||
</svg>
|
||||
</span>
|
||||
""",
|
||||
"logs": """
|
||||
<span class="lance-label-icon" aria-hidden="true">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round">
|
||||
<rect x="3.5" y="5.5" width="17" height="13" rx="2.2"></rect>
|
||||
<path d="M7 10.2 10 12l-3 1.8"></path>
|
||||
<path d="M12.5 15h4"></path>
|
||||
</svg>
|
||||
</span>
|
||||
""",
|
||||
}
|
||||
icon_html = icon_map.get(icon, "")
|
||||
class_names = " ".join(["lance-section-label", "lance-icon-label", *extra_classes]).strip()
|
||||
return f'<div class="{class_names}">{icon_html}<span class="lance-output-label-text">{html.escape(text)}</span></div>'
|
||||
|
||||
def update_size_from_aspect_ratio(task: str, aspect_ratio: str, video_resolution: Optional[str] = None):
|
||||
aspect_ratio = normalize_aspect_ratio_for_task(task, aspect_ratio)
|
||||
width, height = get_size_for_aspect_ratio(task, aspect_ratio, video_resolution)
|
||||
return height, width, gr.update(
|
||||
choices=get_output_resolution_choices_for_task(task, video_resolution),
|
||||
value=format_size_markdown(task, width, height),
|
||||
)
|
||||
|
||||
def update_output_resolution_from_video_profile(task: str, aspect_ratio: str, video_resolution: str):
|
||||
aspect_ratio = normalize_aspect_ratio_for_task(task, aspect_ratio)
|
||||
width, height = get_size_for_aspect_ratio(task, aspect_ratio, video_resolution)
|
||||
return (
|
||||
gr.update(
|
||||
choices=get_output_resolution_choices_for_task(task, video_resolution),
|
||||
value=format_size_markdown(task, width, height),
|
||||
),
|
||||
height,
|
||||
width,
|
||||
)
|
||||
|
||||
def reset_generation_defaults_for_task(task: str):
|
||||
internal_task = normalize_task(task)
|
||||
aspect_ratio = get_default_aspect_ratio(internal_task)
|
||||
resolution = get_default_resolution_for_task(internal_task)
|
||||
width, height = get_size_for_aspect_ratio(internal_task, aspect_ratio, resolution)
|
||||
num_frames = get_default_video_duration_seconds(internal_task)
|
||||
return aspect_ratio, height, width, num_frames, resolution, gr.update(
|
||||
choices=get_output_resolution_choices_for_task(internal_task, resolution),
|
||||
value=format_size_markdown(internal_task, width, height),
|
||||
)
|
||||
|
||||
def make_prompt_example_click_handler(prompt_text: str):
|
||||
"""Create a click handler for custom text-to-visual prompt-example rows."""
|
||||
|
||||
def _handler(task: str):
|
||||
defaults = reset_generation_defaults_for_task(task)
|
||||
return (prompt_text, "", *defaults)
|
||||
|
||||
return _handler
|
||||
|
||||
def make_media_prompt_example_click_handler(
|
||||
prompt_text: str,
|
||||
input_video_path: Optional[str] = None,
|
||||
input_image_path: Optional[str] = None,
|
||||
):
|
||||
"""Create a click handler for edit/understanding example rows."""
|
||||
|
||||
def _handler(task: str):
|
||||
internal_task = normalize_task(task)
|
||||
defaults = reset_generation_defaults_for_task(internal_task)
|
||||
system_prompt = normalize_understanding_system_prompt(internal_task, None) if internal_task in UNDERSTANDING_TASKS else ""
|
||||
return (prompt_text, input_video_path, input_image_path, system_prompt, *defaults)
|
||||
|
||||
return _handler
|
||||
|
||||
def get_understanding_system_prompt_choices(task: str) -> list[str]:
|
||||
internal_task = normalize_task(task)
|
||||
if internal_task == TASK_X2T_IMAGE:
|
||||
return [I2T_QA_SYSTEM_PROMPT]
|
||||
return [V2T_QA_SYSTEM_PROMPT]
|
||||
|
||||
def normalize_understanding_system_prompt(task: str, system_prompt: Optional[str]) -> str:
|
||||
return get_understanding_system_prompt_choices(task)[0]
|
||||
|
||||
def create_request_json(
|
||||
task: str,
|
||||
prompt: str,
|
||||
input_video: Optional[str],
|
||||
input_image: Optional[str],
|
||||
system_prompt: Optional[str] = None,
|
||||
) -> Path:
|
||||
ensure_dirs()
|
||||
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S_%f")
|
||||
prompt_file = TMP_INPUT_DIR / f"{task}_{timestamp}.json"
|
||||
|
||||
if task == TASK_T2V:
|
||||
payload = {"000000.mp4": prompt}
|
||||
elif task == TASK_T2I:
|
||||
payload = {"000000.png": prompt}
|
||||
elif task == TASK_I2V:
|
||||
if not input_image:
|
||||
raise ValueError("The image-to-video task requires an input image.")
|
||||
payload = {
|
||||
"000000": {
|
||||
"interleave_array": [prompt, input_image],
|
||||
"element_dtype_array": ["text", "image"],
|
||||
"istarget_in_interleave": [0, 0],
|
||||
}
|
||||
}
|
||||
elif task == TASK_VIDEO_EDIT:
|
||||
if not input_video:
|
||||
raise ValueError("The video edit task requires an input video.")
|
||||
payload = {
|
||||
"000000": {
|
||||
"interleave_array": [prompt, input_video, input_video],
|
||||
"element_dtype_array": ["text", "video", "video"],
|
||||
"istarget_in_interleave": [0, 0, 1],
|
||||
}
|
||||
}
|
||||
elif task == TASK_IMAGE_EDIT:
|
||||
if not input_image:
|
||||
raise ValueError("The image edit task requires an input image.")
|
||||
payload = {
|
||||
"000000": {
|
||||
"interleave_array": [prompt, input_image, input_image],
|
||||
"element_dtype_array": ["text", "image", "image"],
|
||||
"istarget_in_interleave": [0, 0, 1],
|
||||
}
|
||||
}
|
||||
elif task == TASK_X2T_VIDEO:
|
||||
if not input_video:
|
||||
raise ValueError("The video understanding task requires an input video.")
|
||||
system_prompt = normalize_understanding_system_prompt(task, system_prompt)
|
||||
payload = {
|
||||
"000000": {
|
||||
"interleave_array": [input_video, [system_prompt, prompt, ""]],
|
||||
"element_dtype_array": ["video", "text"],
|
||||
"istarget_in_interleave": [0, 1],
|
||||
}
|
||||
}
|
||||
elif task == TASK_X2T_IMAGE:
|
||||
if not input_image:
|
||||
raise ValueError("The image understanding task requires an input image.")
|
||||
system_prompt = normalize_understanding_system_prompt(task, system_prompt)
|
||||
payload = {
|
||||
"000000": {
|
||||
"interleave_array": [input_image, [system_prompt, prompt, ""]],
|
||||
"element_dtype_array": ["image", "text"],
|
||||
"istarget_in_interleave": [0, 1],
|
||||
}
|
||||
}
|
||||
else:
|
||||
raise ValueError(f"Unsupported task type: {task}")
|
||||
|
||||
with prompt_file.open("w", encoding="utf-8") as f:
|
||||
json.dump(payload, f, ensure_ascii=False, indent=2)
|
||||
return prompt_file
|
||||
|
||||
def resolve_example_path(path: str) -> str:
|
||||
candidate = Path(path)
|
||||
if candidate.is_absolute():
|
||||
return str(candidate)
|
||||
repo_candidate = (REPO_ROOT / candidate)
|
||||
if repo_candidate.exists():
|
||||
return str(repo_candidate.resolve())
|
||||
if candidate.exists():
|
||||
return str(candidate.resolve())
|
||||
return path
|
||||
|
||||
def resolve_video_example_paths(path: str) -> tuple[str, str]:
|
||||
"""Return (browser_preview_path, model_input_path).
|
||||
|
||||
Model input keeps the original sample path. Browser preview uses a
|
||||
H.264/yuv420p copy when the source codec is not reliably playable.
|
||||
"""
|
||||
original_path = resolve_example_path(path)
|
||||
return prepare_browser_preview_video(original_path), original_path
|
||||
|
||||
def _probe_video_stream(video_path: Path) -> dict[str, str]:
|
||||
if not shutil.which("ffprobe"):
|
||||
return {}
|
||||
try:
|
||||
result = subprocess.run(
|
||||
[
|
||||
"ffprobe",
|
||||
"-v",
|
||||
"error",
|
||||
"-select_streams",
|
||||
"v:0",
|
||||
"-show_entries",
|
||||
"stream=codec_name,pix_fmt",
|
||||
"-of",
|
||||
"json",
|
||||
str(video_path),
|
||||
],
|
||||
check=True,
|
||||
capture_output=True,
|
||||
text=True,
|
||||
)
|
||||
data = json.loads(result.stdout or "{}")
|
||||
streams = data.get("streams") or []
|
||||
return streams[0] if streams else {}
|
||||
except Exception:
|
||||
return {}
|
||||
|
||||
def _is_browser_playable_mp4(video_path: Path) -> bool:
|
||||
stream = _probe_video_stream(video_path)
|
||||
return stream.get("codec_name") == "h264" and stream.get("pix_fmt") == "yuv420p"
|
||||
|
||||
def prepare_browser_preview_video(video_path: str) -> str:
|
||||
source = _resolve_existing_media_path(video_path)
|
||||
if source is None:
|
||||
return video_path
|
||||
if _is_browser_playable_mp4(source):
|
||||
return str(source)
|
||||
if not shutil.which("ffmpeg"):
|
||||
return str(source)
|
||||
|
||||
PREVIEW_VIDEO_DIR.mkdir(parents=True, exist_ok=True)
|
||||
preview_path = PREVIEW_VIDEO_DIR / f"{source.stem}_h264.mp4"
|
||||
if preview_path.exists() and preview_path.stat().st_mtime >= source.stat().st_mtime:
|
||||
return str(preview_path)
|
||||
|
||||
try:
|
||||
subprocess.run(
|
||||
[
|
||||
"ffmpeg",
|
||||
"-y",
|
||||
"-i",
|
||||
str(source),
|
||||
"-an",
|
||||
"-c:v",
|
||||
"libx264",
|
||||
"-pix_fmt",
|
||||
"yuv420p",
|
||||
"-movflags",
|
||||
"+faststart",
|
||||
str(preview_path),
|
||||
],
|
||||
check=True,
|
||||
stdout=subprocess.DEVNULL,
|
||||
stderr=subprocess.DEVNULL,
|
||||
)
|
||||
return str(preview_path)
|
||||
except Exception:
|
||||
return str(source)
|
||||
|
||||
def _resolve_existing_media_path(media_path: Optional[str]) -> Optional[Path]:
|
||||
if not media_path:
|
||||
return None
|
||||
candidate = Path(str(media_path))
|
||||
candidates = [candidate] if candidate.is_absolute() else [REPO_ROOT / candidate, candidate]
|
||||
for item in candidates:
|
||||
try:
|
||||
resolved = item.expanduser().resolve()
|
||||
except Exception:
|
||||
continue
|
||||
if resolved.exists():
|
||||
return resolved
|
||||
return None
|
||||
|
||||
def build_gradio_media_url(media_path: Optional[str]) -> str:
|
||||
"""Build a Gradio file-serving URL for local recommended-case media."""
|
||||
existing = _resolve_existing_media_path(media_path)
|
||||
source = str(existing if existing else media_path or "")
|
||||
if not source:
|
||||
return ""
|
||||
try:
|
||||
from gradio.route_utils import API_PREFIX
|
||||
except Exception:
|
||||
API_PREFIX = ""
|
||||
return f"{API_PREFIX or ''}/file={quote(source, safe='/:')}"
|
||||
|
||||
def build_example_media_html(media_path: Optional[str], media_type: str, fallback_media_path: Optional[str] = None) -> str:
|
||||
"""Build a lightweight complete-fit media preview for recommended cases."""
|
||||
if media_type == "video":
|
||||
sources = []
|
||||
for candidate in (media_path, fallback_media_path):
|
||||
url = build_gradio_media_url(candidate)
|
||||
if url and url not in sources:
|
||||
sources.append(url)
|
||||
if not sources:
|
||||
return '<div class="reference-media-fallback">Video file not found</div>'
|
||||
source_tags = "".join(
|
||||
f'<source src="{html.escape(url, quote=True)}" type="video/mp4">'
|
||||
for url in sources
|
||||
)
|
||||
return (
|
||||
'<video class="example-preview-video" controls muted preload="metadata" playsinline>'
|
||||
+ source_tags
|
||||
+ 'Your browser cannot play this reference video.</video>'
|
||||
)
|
||||
|
||||
url = build_gradio_media_url(media_path)
|
||||
if not url:
|
||||
return '<div class="reference-media-fallback">Image file not found</div>'
|
||||
alt_text = html.escape(Path(str(media_path)).name or "example image", quote=True)
|
||||
return f'<img class="example-preview-image" src="{html.escape(url, quote=True)}" alt="{alt_text}" loading="lazy" />'
|
||||
|
||||
def load_json_examples(relative_path: str) -> dict:
|
||||
path = REPO_ROOT / relative_path
|
||||
with path.open("r", encoding="utf-8") as f:
|
||||
return json.load(f)
|
||||
|
||||
T2V_EXAMPLE_SUMMARIES = {
|
||||
"000000.mp4": "Red panda surfing on a bright seaside wave.",
|
||||
"000002.mp4": "Panda cub skateboarding in a creative loft.",
|
||||
"000004.mp4": "Young woman shaping clay in a sunlit pottery workshop.",
|
||||
"000005.mp4": "Panda boxing a robot in a luxurious palace ring.",
|
||||
"000008.mp4": "Fantasy pastel horse stepping through a glowing cloud valley.",
|
||||
}
|
||||
|
||||
def make_generation_examples(
|
||||
task_label: str,
|
||||
relative_path: str,
|
||||
limit: int,
|
||||
image_task: bool,
|
||||
selected_keys: Optional[list[str]] = None,
|
||||
summaries: Optional[dict[str, str]] = None,
|
||||
) -> list[list]:
|
||||
data = load_json_examples(relative_path)
|
||||
items = [(key, data[key]) for key in selected_keys if key in data] if selected_keys else list(data.items())[:limit]
|
||||
return [[prompt] for _output_name, prompt in items]
|
||||
|
||||
def make_edit_examples(task_label: str, relative_path: str, limit: int, media_type: str) -> list[list]:
|
||||
data = load_json_examples(relative_path)
|
||||
examples = []
|
||||
for sample in list(data.values())[:limit]:
|
||||
interleave = sample["interleave_array"]
|
||||
prompt = interleave[0]
|
||||
if media_type == "video":
|
||||
preview_video_path, input_video_path = resolve_video_example_paths(interleave[1])
|
||||
examples.append([prompt, preview_video_path, input_video_path, None, None])
|
||||
else:
|
||||
image_path = resolve_example_path(interleave[1])
|
||||
examples.append([prompt, None, None, image_path, image_path])
|
||||
return examples
|
||||
|
||||
def make_i2v_examples(relative_path: str, limit: int) -> list[list]:
|
||||
data = load_json_examples(relative_path)
|
||||
examples = []
|
||||
for sample in list(data.values())[:limit]:
|
||||
interleave = sample["interleave_array"]
|
||||
prompt = interleave[0]
|
||||
image_path = resolve_example_path(interleave[1])
|
||||
examples.append([prompt, None, None, image_path, image_path])
|
||||
return examples
|
||||
|
||||
def make_understanding_examples(task_label: str, relative_path: str, limit: int, media_type: str) -> list[list]:
|
||||
data = load_json_examples(relative_path)
|
||||
examples = []
|
||||
for sample in list(data.values())[:limit]:
|
||||
interleave = sample["interleave_array"]
|
||||
text_payload = interleave[1]
|
||||
question = text_payload[1] if isinstance(text_payload, list) and len(text_payload) > 1 else ""
|
||||
if media_type == "video":
|
||||
preview_video_path, input_video_path = resolve_video_example_paths(interleave[0])
|
||||
examples.append([question, preview_video_path, input_video_path, None, None])
|
||||
else:
|
||||
image_path = resolve_example_path(interleave[0])
|
||||
examples.append([question, None, None, image_path, image_path])
|
||||
return examples
|
||||
|
||||
VIDEO_GENERATION_EXAMPLES = make_generation_examples(
|
||||
TASK_LABEL_VIDEO_GENERATION,
|
||||
"config/examples/t2v_example.json",
|
||||
limit=7,
|
||||
image_task=False,
|
||||
#selected_keys=["000000.mp4", "000002.mp4", "000005.mp4", "000004.mp4", "000008.mp4"],
|
||||
selected_keys=["000004.mp4", "000002.mp4", "000000.mp4", "000005.mp4", "000008.mp4", "000007.mp4", "000001.mp4"],
|
||||
summaries=T2V_EXAMPLE_SUMMARIES,
|
||||
)
|
||||
VIDEO_EDIT_EXAMPLES = make_edit_examples(
|
||||
TASK_LABEL_VIDEO_EDIT,
|
||||
"config/examples/video_edit_example.json",
|
||||
limit=3,
|
||||
media_type="video",
|
||||
)
|
||||
IMAGE_TO_VIDEO_EXAMPLES = make_i2v_examples(
|
||||
"config/examples/i2v_example.json",
|
||||
limit=6,
|
||||
)
|
||||
VIDEO_UNDERSTANDING_EXAMPLES = make_understanding_examples(
|
||||
TASK_LABEL_VIDEO_UNDERSTANDING,
|
||||
"config/examples/x2t_video_example.json",
|
||||
limit=3,
|
||||
media_type="video",
|
||||
)
|
||||
IMAGE_GENERATION_EXAMPLES = make_generation_examples(
|
||||
TASK_LABEL_IMAGE_GENERATION,
|
||||
"config/examples/t2i_example.json",
|
||||
limit=9,
|
||||
image_task=True,
|
||||
selected_keys=["000000.png", "000003.png", "000002.png", "000005.png", "000006.png", "000007.png", "000008.png", "000009.png", "000010.png"],
|
||||
)
|
||||
IMAGE_EDIT_EXAMPLES = make_edit_examples(
|
||||
TASK_LABEL_IMAGE_EDIT,
|
||||
"config/examples/image_edit_example.json",
|
||||
limit=5,
|
||||
media_type="image",
|
||||
)
|
||||
IMAGE_UNDERSTANDING_EXAMPLES = make_understanding_examples(
|
||||
TASK_LABEL_IMAGE_UNDERSTANDING,
|
||||
"config/examples/x2t_image_example.json",
|
||||
limit=6,
|
||||
media_type="image",
|
||||
)
|
||||
|
||||
def build_save_dir(task: str) -> Path:
|
||||
ensure_dirs()
|
||||
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
|
||||
return RESULTS_ROOT / f"{task}_{timestamp}_{int(time.time() * 1000) % 1000:03d}"
|
||||
|
||||
def find_generated_video(save_dir: Path) -> Optional[Path]:
|
||||
videos = sorted(save_dir.glob("*.mp4"), key=lambda p: p.stat().st_mtime, reverse=True)
|
||||
return videos[0] if videos else None
|
||||
|
||||
def find_generated_image(save_dir: Path) -> Optional[Path]:
|
||||
images = sorted(save_dir.glob("*.png"), key=lambda p: p.stat().st_mtime, reverse=True)
|
||||
return images[0] if images else None
|
||||
|
||||
def extract_text_result(save_dir: Path) -> str:
|
||||
prompt_result_path = save_dir / PROMPT_JSON_FILENAME
|
||||
if not prompt_result_path.exists():
|
||||
return ""
|
||||
with prompt_result_path.open("r", encoding="utf-8") as f:
|
||||
data = json.load(f)
|
||||
if not data:
|
||||
return ""
|
||||
first_value = next(iter(data.values()))
|
||||
return first_value if isinstance(first_value, str) else json.dumps(first_value, ensure_ascii=False)
|
||||