appydave-tools 0.15.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/CLAUDE.md +113 -29
- data/README.md +262 -86
- data/bin/subtitle_manager.rb +18 -12
- data/bin/subtitle_processor.rb +158 -0
- data/docs/archive/codebase-audit-2025-01.md +424 -0
- data/docs/archive/documentation-framework-proposal.md +808 -0
- data/docs/archive/purpose-and-philosophy.md +110 -0
- data/docs/archive/test-coverage-quick-wins.md +342 -0
- data/docs/archive/tool-discovery.md +199 -0
- data/docs/archive/tool-documentation-analysis.md +592 -0
- data/docs/tools/bank-reconciliation.md +269 -0
- data/docs/tools/cli-actions.md +444 -0
- data/docs/tools/configuration.md +329 -0
- data/docs/{usage → tools}/gpt-context.md +118 -7
- data/docs/tools/index.md +324 -0
- data/docs/tools/move-images.md +295 -0
- data/docs/tools/name-manager.md +322 -0
- data/docs/tools/prompt-tools.md +209 -0
- data/docs/tools/subtitle-processor.md +242 -0
- data/docs/tools/youtube-automation.md +258 -0
- data/docs/tools/youtube-manager.md +248 -0
- data/lib/appydave/tools/{subtitle_manager → subtitle_processor}/clean.rb +1 -1
- data/lib/appydave/tools/{subtitle_manager → subtitle_processor}/join.rb +5 -2
- data/lib/appydave/tools/version.rb +1 -1
- data/lib/appydave/tools.rb +2 -4
- data/package.json +1 -1
- metadata +29 -12
- data/lib/mj-paste-test/main.rb +0 -35
- data/lib/mj-paste-test/prompts.txt +0 -18
- data/lib/mj-paste-test/readme-leonardo.md +0 -0
- /data/lib/appydave/tools/{subtitle_manager → subtitle_processor}/_doc-clean.md +0 -0
- /data/lib/appydave/tools/{subtitle_manager → subtitle_processor}/_doc-join.md +0 -0
- /data/lib/appydave/tools/{subtitle_manager → subtitle_processor}/_doc-todo.md +0 -0
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
# YouTube Manager
|
|
2
|
+
|
|
3
|
+
Retrieve and update YouTube video metadata, descriptions, tags, and other details at scale.
|
|
4
|
+
|
|
5
|
+
## What It Does
|
|
6
|
+
|
|
7
|
+
**YouTube Manager** automates YouTube video metadata management. Instead of manually clicking through YouTube Studio, this tool:
|
|
8
|
+
|
|
9
|
+
- Retrieves video metadata (title, description, tags, category)
|
|
10
|
+
- Updates descriptions, titles, tags across multiple videos
|
|
11
|
+
- Fetches caption/subtitle information
|
|
12
|
+
- Handles YouTube API authentication
|
|
13
|
+
- Generates detailed video reports
|
|
14
|
+
- Supports batch operations for efficiency
|
|
15
|
+
|
|
16
|
+
## How to Use
|
|
17
|
+
|
|
18
|
+
### Authentication Setup
|
|
19
|
+
|
|
20
|
+
First time only - authenticate with Google:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
youtube_manager get -v dQw4w9WgXcQ
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
This opens a browser to authorize the app with your YouTube account. The token is stored locally in `~/.config/appydave`.
|
|
27
|
+
|
|
28
|
+
### Get Video Details
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# Get information about a specific video
|
|
32
|
+
youtube_manager get -v dQw4w9WgXcQ
|
|
33
|
+
|
|
34
|
+
# Output shows: title, description, tags, category, view count, etc.
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Update Video Metadata
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# Update title
|
|
41
|
+
youtube_manager update -v dQw4w9WgXcQ -t "New Video Title"
|
|
42
|
+
|
|
43
|
+
# Update description
|
|
44
|
+
youtube_manager update -v dQw4w9WgXcQ -d "New description here..."
|
|
45
|
+
|
|
46
|
+
# Update tags (comma-separated)
|
|
47
|
+
youtube_manager update -v dQw4w9WgXcQ -g "tag1,tag2,tag3"
|
|
48
|
+
|
|
49
|
+
# Update category (use category ID)
|
|
50
|
+
youtube_manager update -v dQw4w9WgXcQ -c "15"
|
|
51
|
+
|
|
52
|
+
# Combine multiple updates
|
|
53
|
+
youtube_manager update -v dQw4w9WgXcQ -t "New Title" -d "New desc" -g "tag1,tag2"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Common YouTube Category IDs
|
|
57
|
+
|
|
58
|
+
| ID | Category |
|
|
59
|
+
|----|----------|
|
|
60
|
+
| 1 | Film & Animation |
|
|
61
|
+
| 2 | Autos & Vehicles |
|
|
62
|
+
| 10 | Music |
|
|
63
|
+
| 15 | Pets & Animals |
|
|
64
|
+
| 17 | Sports |
|
|
65
|
+
| 18 | Shorts |
|
|
66
|
+
| 19 | Travel & Events |
|
|
67
|
+
| 20 | Gaming |
|
|
68
|
+
| 21 | Videoblogging |
|
|
69
|
+
| 22 | People & Blogs |
|
|
70
|
+
| 23 | Comedy |
|
|
71
|
+
| 24 | Entertainment |
|
|
72
|
+
| 25 | News & Politics |
|
|
73
|
+
| 26 | Howto & Style |
|
|
74
|
+
| 27 | Education |
|
|
75
|
+
| 28 | Science & Technology |
|
|
76
|
+
| 29 | Nonprofits & Activism |
|
|
77
|
+
|
|
78
|
+
## Use Cases for AI Agents
|
|
79
|
+
|
|
80
|
+
### 1. Post-Rebrand Updates
|
|
81
|
+
```bash
|
|
82
|
+
# Change channel name in all video descriptions (scenario)
|
|
83
|
+
# AI agent: Get all videos, identify descriptions containing old name
|
|
84
|
+
# Then update each with new branding
|
|
85
|
+
youtube_manager get -v VIDEO_ID_1
|
|
86
|
+
youtube_manager update -v VIDEO_ID_1 -d "Updated description with new brand name"
|
|
87
|
+
```
|
|
88
|
+
**AI discovers**: Current naming patterns, branding consistency. Can identify all rebranding opportunities and execute bulk updates.
|
|
89
|
+
|
|
90
|
+
### 2. Tag Standardization
|
|
91
|
+
```bash
|
|
92
|
+
# Ensure consistent tagging across catalog
|
|
93
|
+
youtube_manager get -v VIDEO_ID_1 # Get current tags
|
|
94
|
+
# AI analyzes tag patterns, suggests standardized tags
|
|
95
|
+
youtube_manager update -v VIDEO_ID_1 -g "correct,standardized,tags"
|
|
96
|
+
```
|
|
97
|
+
**AI discovers**: Tagging patterns, missing tags, inconsistent naming. Can standardize tags across entire catalog.
|
|
98
|
+
|
|
99
|
+
### 3. Category Auditing & Correction
|
|
100
|
+
```bash
|
|
101
|
+
# Get videos in wrong category
|
|
102
|
+
youtube_manager get -v VIDEO_ID_1 # Check category
|
|
103
|
+
# AI identifies misclassified videos
|
|
104
|
+
youtube_manager update -v VIDEO_ID_1 -c "15" # Move to correct category
|
|
105
|
+
```
|
|
106
|
+
**AI discovers**: Category assignments, whether videos are properly categorized. Can suggest corrections based on content.
|
|
107
|
+
|
|
108
|
+
### 4. Metadata Extraction for Analytics
|
|
109
|
+
```bash
|
|
110
|
+
# Get video details for export
|
|
111
|
+
youtube_manager get -v VIDEO_ID_1
|
|
112
|
+
# AI collects metadata across multiple videos for analysis
|
|
113
|
+
```
|
|
114
|
+
**AI discovers**: View counts, engagement metrics, description patterns. Can generate reports, identify top performers.
|
|
115
|
+
|
|
116
|
+
### 5. Description Optimization
|
|
117
|
+
```bash
|
|
118
|
+
# Get current description
|
|
119
|
+
youtube_manager get -v VIDEO_ID_1
|
|
120
|
+
# AI analyzes description for SEO, engagement, clarity
|
|
121
|
+
# Suggests improvements including keywords, CTAs, timestamps
|
|
122
|
+
youtube_manager update -v VIDEO_ID_1 -d "Optimized description with keywords and structure"
|
|
123
|
+
```
|
|
124
|
+
**AI discovers**: Current SEO elements, call-to-actions, structure. Can improve descriptions for discoverability and engagement.
|
|
125
|
+
|
|
126
|
+
### 6. Series/Playlist Linking
|
|
127
|
+
```bash
|
|
128
|
+
# Get videos, identify series
|
|
129
|
+
youtube_manager get -v VIDEO_ID_1
|
|
130
|
+
# AI analyzes which videos belong to series
|
|
131
|
+
# Suggests adding series links to descriptions
|
|
132
|
+
youtube_manager update -v VIDEO_ID_1 -d "Optimized with series link in description"
|
|
133
|
+
```
|
|
134
|
+
**AI discovers**: Video relationships, series structure. Can add linking information to improve viewer navigation.
|
|
135
|
+
|
|
136
|
+
### 7. Bulk Correction Workflows
|
|
137
|
+
```bash
|
|
138
|
+
# Scenario: Need to update 50 videos with new info
|
|
139
|
+
# AI agent orchestrates:
|
|
140
|
+
# 1. Get all video IDs in channel
|
|
141
|
+
# 2. For each: get metadata, analyze, suggest updates
|
|
142
|
+
# 3. Batch execute updates with youtube_manager
|
|
143
|
+
```
|
|
144
|
+
**AI discovers**: What needs changing, patterns across videos. Can execute systematic bulk corrections.
|
|
145
|
+
|
|
146
|
+
### 8. Caption/Subtitle Management (Future)
|
|
147
|
+
```bash
|
|
148
|
+
# Plan AI workflow: get video captions, analyze, update
|
|
149
|
+
youtube_manager get -v VIDEO_ID_1
|
|
150
|
+
# Returns caption information when available
|
|
151
|
+
```
|
|
152
|
+
**AI discovers**: Whether videos have captions, language availability. Can plan caption addition or updates.
|
|
153
|
+
|
|
154
|
+
### 9. Content Audit & Compliance
|
|
155
|
+
```bash
|
|
156
|
+
# Get descriptions to audit for compliance
|
|
157
|
+
youtube_manager get -v VIDEO_ID_1
|
|
158
|
+
# AI reviews descriptions for brand compliance, accuracy, links
|
|
159
|
+
# Suggests corrections for non-compliant videos
|
|
160
|
+
```
|
|
161
|
+
**AI discovers**: Compliance issues, outdated links, inaccurate info. Can flag and correct systematically.
|
|
162
|
+
|
|
163
|
+
### 10. Performance Metadata Analysis
|
|
164
|
+
```bash
|
|
165
|
+
# Get metrics alongside descriptions
|
|
166
|
+
youtube_manager get -v VIDEO_ID_1
|
|
167
|
+
# AI correlates description length, tags, category with performance
|
|
168
|
+
# Suggests improvements based on high-performing patterns
|
|
169
|
+
```
|
|
170
|
+
**AI discovers**: What metadata correlates with views/engagement. Can recommend optimizations based on data patterns.
|
|
171
|
+
|
|
172
|
+
## Command Reference
|
|
173
|
+
|
|
174
|
+
### Get Command
|
|
175
|
+
```bash
|
|
176
|
+
youtube_manager get -v VIDEO_ID [options]
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
| Option | Short | Long | Description |
|
|
180
|
+
|--------|-------|------|-------------|
|
|
181
|
+
| Video ID | `-v` | `--video-id ID` | YouTube Video ID (required) |
|
|
182
|
+
| Help | `-h` | `--help` | Show help message |
|
|
183
|
+
|
|
184
|
+
**Output includes**: Title, description, tags, category, view count, like count, upload date.
|
|
185
|
+
|
|
186
|
+
### Update Command
|
|
187
|
+
```bash
|
|
188
|
+
youtube_manager update -v VIDEO_ID [options]
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
| Option | Short | Long | Description |
|
|
192
|
+
|--------|-------|------|-------------|
|
|
193
|
+
| Video ID | `-v` | `--video-id ID` | YouTube Video ID (required) |
|
|
194
|
+
| Title | `-t` | `--title TITLE` | New video title |
|
|
195
|
+
| Description | `-d` | `--description DESC` | New description |
|
|
196
|
+
| Tags | `-g` | `--tags TAGS` | Comma-separated tags |
|
|
197
|
+
| Category | `-c` | `--category-id ID` | YouTube category ID |
|
|
198
|
+
| Help | `-h` | `--help` | Show help message |
|
|
199
|
+
|
|
200
|
+
## Finding Video IDs
|
|
201
|
+
|
|
202
|
+
Video ID is the part after `v=` in YouTube URLs:
|
|
203
|
+
|
|
204
|
+
```
|
|
205
|
+
https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
206
|
+
^^^^^^^^^^^^^^ <- This is the video ID
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
Or after `youtu.be/`:
|
|
210
|
+
|
|
211
|
+
```
|
|
212
|
+
https://youtu.be/dQw4w9WgXcQ
|
|
213
|
+
^^^^^^^^^^^^^^ <- This is the video ID
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
## Configuration
|
|
217
|
+
|
|
218
|
+
YouTube Manager uses Google OAuth 2.0 for authentication:
|
|
219
|
+
|
|
220
|
+
- **Config location**: `~/.config/appydave/channels.json`
|
|
221
|
+
- **Token storage**: `~/.config/appydave/` (auto-created on first auth)
|
|
222
|
+
- **No manual setup needed**: First command triggers authentication flow
|
|
223
|
+
|
|
224
|
+
## Troubleshooting
|
|
225
|
+
|
|
226
|
+
| Issue | Solution |
|
|
227
|
+
|-------|----------|
|
|
228
|
+
| "Authentication failed" | Delete `~/.config/appydave` and run command again to re-authenticate |
|
|
229
|
+
| "Invalid video ID" | Verify video ID is correct (check YouTube URL) |
|
|
230
|
+
| "Permission denied" | Re-authenticate with account that owns the channel |
|
|
231
|
+
| "API quota exceeded" | Wait 24 hours or upgrade YouTube API quota in Google Cloud Console |
|
|
232
|
+
|
|
233
|
+
## Tips & Tricks
|
|
234
|
+
|
|
235
|
+
1. **Batch operations**: Create shell script to update multiple videos
|
|
236
|
+
2. **Descriptions with newlines**: Use proper escaping for multi-line descriptions
|
|
237
|
+
3. **Tag limits**: YouTube allows max 500 characters of tags total
|
|
238
|
+
4. **Description limits**: Max 5000 characters for descriptions
|
|
239
|
+
5. **Test first**: Use `get` to verify video before using `update`
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
**Related Tools**:
|
|
244
|
+
- `gpt_context` - Gather context before planning metadata updates
|
|
245
|
+
- `youtube_automation` - Automate repetitive YouTube workflows
|
|
246
|
+
- `configuration` - Manage multiple YouTube channels
|
|
247
|
+
|
|
248
|
+
**References**: [YouTube Data API](https://developers.google.com/youtube/v3)
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
module Appydave
|
|
4
4
|
module Tools
|
|
5
|
-
module
|
|
5
|
+
module SubtitleProcessor
|
|
6
6
|
# Join multiple SRT files into one
|
|
7
7
|
# - Supports folder, wildcards, sorting via FileResolver
|
|
8
8
|
class Join
|
|
@@ -265,7 +265,10 @@ module Appydave
|
|
|
265
265
|
end
|
|
266
266
|
end
|
|
267
267
|
|
|
268
|
-
|
|
268
|
+
# rubocop:disable Metrics/ParameterLists
|
|
269
|
+
def initialize(folder: './', files: '*.srt', sort: 'inferred', buffer: 100, output: 'merged.srt',
|
|
270
|
+
log_level: :info)
|
|
271
|
+
# rubocop:enable Metrics/ParameterLists
|
|
269
272
|
@folder = folder
|
|
270
273
|
@files = files
|
|
271
274
|
@sort = sort
|
data/lib/appydave/tools.rb
CHANGED
|
@@ -16,8 +16,6 @@ require 'googleauth'
|
|
|
16
16
|
require 'googleauth/stores/file_token_store'
|
|
17
17
|
require 'webrick'
|
|
18
18
|
|
|
19
|
-
require 'pry'
|
|
20
|
-
|
|
21
19
|
require 'appydave/tools/version'
|
|
22
20
|
require 'appydave/tools/debuggable'
|
|
23
21
|
require 'appydave/tools/types/indifferent_access_hash'
|
|
@@ -50,8 +48,8 @@ require 'appydave/tools/name_manager/project_name'
|
|
|
50
48
|
|
|
51
49
|
require 'appydave/tools/prompt_tools/prompt_completion'
|
|
52
50
|
|
|
53
|
-
require 'appydave/tools/
|
|
54
|
-
require 'appydave/tools/
|
|
51
|
+
require 'appydave/tools/subtitle_processor/clean'
|
|
52
|
+
require 'appydave/tools/subtitle_processor/join'
|
|
55
53
|
|
|
56
54
|
require 'appydave/tools/youtube_automation/gpt_agent'
|
|
57
55
|
|
data/package.json
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: appydave-tools
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.16.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- David Cruwys
|
|
@@ -150,7 +150,10 @@ dependencies:
|
|
|
150
150
|
- - ">="
|
|
151
151
|
- !ruby/object:Gem::Version
|
|
152
152
|
version: '0'
|
|
153
|
-
description:
|
|
153
|
+
description: |2
|
|
154
|
+
AppyDave Tools is a consolidated productivity toolkit for YouTube content creation workflow.
|
|
155
|
+
Includes single-purpose utilities for AI context gathering, subtitle processing, YouTube management, and more.
|
|
156
|
+
All tools in one codebase for easier maintenance, each operates independently.
|
|
154
157
|
email:
|
|
155
158
|
- david@ideasmen.com.au
|
|
156
159
|
executables:
|
|
@@ -187,10 +190,27 @@ files:
|
|
|
187
190
|
- bin/setup
|
|
188
191
|
- bin/subtitle_manager-old.rb
|
|
189
192
|
- bin/subtitle_manager.rb
|
|
193
|
+
- bin/subtitle_processor.rb
|
|
190
194
|
- bin/youtube_automation.rb
|
|
191
195
|
- bin/youtube_manager.rb
|
|
196
|
+
- docs/archive/codebase-audit-2025-01.md
|
|
197
|
+
- docs/archive/documentation-framework-proposal.md
|
|
198
|
+
- docs/archive/purpose-and-philosophy.md
|
|
199
|
+
- docs/archive/test-coverage-quick-wins.md
|
|
200
|
+
- docs/archive/tool-discovery.md
|
|
201
|
+
- docs/archive/tool-documentation-analysis.md
|
|
192
202
|
- docs/dam/overview.md
|
|
193
|
-
- docs/
|
|
203
|
+
- docs/tools/bank-reconciliation.md
|
|
204
|
+
- docs/tools/cli-actions.md
|
|
205
|
+
- docs/tools/configuration.md
|
|
206
|
+
- docs/tools/gpt-context.md
|
|
207
|
+
- docs/tools/index.md
|
|
208
|
+
- docs/tools/move-images.md
|
|
209
|
+
- docs/tools/name-manager.md
|
|
210
|
+
- docs/tools/prompt-tools.md
|
|
211
|
+
- docs/tools/subtitle-processor.md
|
|
212
|
+
- docs/tools/youtube-automation.md
|
|
213
|
+
- docs/tools/youtube-manager.md
|
|
194
214
|
- exe/ad_config
|
|
195
215
|
- exe/gpt_context
|
|
196
216
|
- exe/prompt_tools
|
|
@@ -224,11 +244,11 @@ files:
|
|
|
224
244
|
- lib/appydave/tools/name_manager/project_name.rb
|
|
225
245
|
- lib/appydave/tools/prompt_tools/_doc.md
|
|
226
246
|
- lib/appydave/tools/prompt_tools/prompt_completion.rb
|
|
227
|
-
- lib/appydave/tools/
|
|
228
|
-
- lib/appydave/tools/
|
|
229
|
-
- lib/appydave/tools/
|
|
230
|
-
- lib/appydave/tools/
|
|
231
|
-
- lib/appydave/tools/
|
|
247
|
+
- lib/appydave/tools/subtitle_processor/_doc-clean.md
|
|
248
|
+
- lib/appydave/tools/subtitle_processor/_doc-join.md
|
|
249
|
+
- lib/appydave/tools/subtitle_processor/_doc-todo.md
|
|
250
|
+
- lib/appydave/tools/subtitle_processor/clean.rb
|
|
251
|
+
- lib/appydave/tools/subtitle_processor/join.rb
|
|
232
252
|
- lib/appydave/tools/types/array_type.rb
|
|
233
253
|
- lib/appydave/tools/types/base_model.rb
|
|
234
254
|
- lib/appydave/tools/types/hash_type.rb
|
|
@@ -245,9 +265,6 @@ files:
|
|
|
245
265
|
- lib/appydave/tools/youtube_manager/reports/video_details_report.rb
|
|
246
266
|
- lib/appydave/tools/youtube_manager/update_video.rb
|
|
247
267
|
- lib/appydave/tools/youtube_manager/youtube_base.rb
|
|
248
|
-
- lib/mj-paste-test/main.rb
|
|
249
|
-
- lib/mj-paste-test/prompts.txt
|
|
250
|
-
- lib/mj-paste-test/readme-leonardo.md
|
|
251
268
|
- package.json
|
|
252
269
|
- sig/appydave/tools.rbs
|
|
253
270
|
homepage: http://appydave.com/gems/appydave-tools
|
|
@@ -276,5 +293,5 @@ requirements: []
|
|
|
276
293
|
rubygems_version: 3.4.20
|
|
277
294
|
signing_key:
|
|
278
295
|
specification_version: 4
|
|
279
|
-
summary: AppyDave YouTube
|
|
296
|
+
summary: AppyDave productivity toolkit - CLI utilities for YouTube workflow automation
|
|
280
297
|
test_files: []
|
data/lib/mj-paste-test/main.rb
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'io/console'
|
|
4
|
-
|
|
5
|
-
# input_prompts_filename = 'prompts.txt'
|
|
6
|
-
input_prompts_filename = '/Users/davidcruwys/dev/ai-prompts/midjourney/documentation/clean-prompts/input.txt'
|
|
7
|
-
output_prompts_filename = '/Users/davidcruwys/dev/ai-prompts/midjourney/documentation/clean-prompts/processed.txt'
|
|
8
|
-
|
|
9
|
-
count = 1
|
|
10
|
-
|
|
11
|
-
File.readlines(input_prompts_filename).each do |line|
|
|
12
|
-
raw_prompt = line.strip
|
|
13
|
-
|
|
14
|
-
prompt = "/imagine prompt: #{raw_prompt}"
|
|
15
|
-
|
|
16
|
-
display_prompt = "#{count} :: #{prompt}"
|
|
17
|
-
puts display_prompt
|
|
18
|
-
|
|
19
|
-
IO.popen('pbcopy', 'w') { |f| f << prompt }
|
|
20
|
-
File.open(output_prompts_filename, 'a') { |f| f.puts raw_prompt }
|
|
21
|
-
|
|
22
|
-
count += 1
|
|
23
|
-
|
|
24
|
-
lines = File.readlines(input_prompts_filename)
|
|
25
|
-
lines.delete_at(0)
|
|
26
|
-
File.write(input_prompts_filename, lines.join)
|
|
27
|
-
|
|
28
|
-
if (count % 8).zero?
|
|
29
|
-
puts 'Press any key to continue...'
|
|
30
|
-
$stdin.getch
|
|
31
|
-
puts "\n"
|
|
32
|
-
else
|
|
33
|
-
sleep(5)
|
|
34
|
-
end
|
|
35
|
-
end
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
3D, software and app IT business, illustration, iphone, tablet, computer, graphs, datas, light green, white, grey --v 4
|
|
2
|
-
Small and cute urban laboratory, 3d blender render, soft smooth lighting, rain background,100mm lens, 4k UHD, isometric, tilt – shift --v 5
|
|
3
|
-
Small and cute urban laboratory, 3d blender render, soft smooth lighting, rain background,100mm lens, 4k UHD, isometric, tilt – shift --v 4
|
|
4
|
-
clean gradient knolling 3D illustration design for professional saas software office automation, colored gradient blue white green and warm sunshine accents and neutral colors, with abstract lines, behance, dribbble --v 4
|
|
5
|
-
ultra realistic tetris pattern , 5-Dimensional, Nonagon, Star Prism, Polygon, Happy Accidents, Refreshing, Strong, Binary, Hexadecimal, ray tracing, global illumination, octane render,metallic, shiny --v 4
|
|
6
|
-
Tilt shift, depth of field, low poly, starry night, solid simple mobile game asset, diorama, tilt shift,depth of field, cute isometric clear view of cute [Marina Bay Sands], fairytale, orientalism, soft pastel colors, starry mystical night – time, volumetric lighting, dramatic lighting, vibrant colors,triadic color harmony, stars and moon on dark background, motes, dustlights, air particles,stardusts, vibrant vivid sharp clear, made with blender 3D, in the style of artstation and behance --v 5
|
|
7
|
-
sustainability and blockchain theme, no text, showing crypto icons, information flow, mixing 3D and vector styles, images only, --v 4
|
|
8
|
-
cryptocurrency data charts, white background, white, concept art. 3d rendering illustration. vivid colors, depth of field, dramatic lighting, sharp focus, epic composition, 8k, UHD, natural light, photo realistic, maximum texture, HDR, FStop 1.8, High octane render, Unreal engine 5, photoshoot, DSLR, cinematic lighting, highly detailed, ray tracing, Cinematic, Photoshoot, Dramatic, DSLR, Ultra-Wide Angle, 32k, Ultra-HD, Super-Resolution, Bokeh blue soft light background, Backlight, AMOLED, Cinematic Lighting, Volumetric Lighting --v 4
|
|
9
|
-
pixel cubes vector svg, brain as brain cloud with colorful flashes social impact and with a total white background photo in Kodak Color 400, professional photography, insta style, photographic style, Unreal Engine, Cinematic, Color Grading, Editorial Photography, Photography, Photoshoot, White Balance, background white, 32k --v 5
|
|
10
|
-
finance charts, white background, white, concept art. 3d rendering illustration. vivid colors, depth of field, dramatic lighting, sharp focus, epic composition, 8k, UHD, natural light, photo realistic, maximum texture, HDR, FStop 1.8, High octane render, Unreal engine 5, photoshoot, DSLR, cinematic lighting, highly detailed, ray tracing, Cinematic, Photoshoot, Dramatic, DSLR, Ultra-Wide Angle, 32k, Ultra-HD, Super-Resolution, Bokeh blue soft light background, Backlight, AMOLED, Cinematic Lighting, Volumetric Lighting --v 4
|
|
11
|
-
facebook cover, marketing charts, only charts displayed on various screens of Apple devices, laptop, mobile, 4k --v 4
|
|
12
|
-
cup of coffee over a table, table with charts, volumetric ligh --v 4
|
|
13
|
-
color cube wide gamut pantone all colors color space --v 5
|
|
14
|
-
block network graph universe parallel connections 3D --v 5
|
|
15
|
-
Tilt-shift futuristic city, night, skylines, ciberpunk by Felipe Pantone --v 4
|
|
16
|
-
make a pop art deco epic city, tilt shift, with trees and topiary, a river running through the city, Cinematography, ultra detailed, 8k, photorealistic,hd, octane render, digitally rendered, award-winning photograph, timeless beauty, cinematic lighting, sophisticated color palette, cinematic focus, symmetrical balance, glowing, octane render, trending on artstation, 3d rendered, 3d --v 4
|
|
17
|
-
3D isometric drawing, Asian restaurant, cyberpunk --v 4
|
|
18
|
-
architect paper plan, on a desk, realistic picture, modern, design, 8k, --v 4
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|