wapadil Claude commited on
Commit
8756302
·
1 Parent(s): 8e84eda

chore: remove accidentally committed temporary files

Browse files

Remove from git tracking (files remain in working directory):
- Logs: app_logs.txt
- Utility scripts: delete_*.py, extract_*.py, package_*.py
- Generated docs: seedream_codebase_*.txt
- Request tracking: request_ids.txt, request_ids_context.json
- Results: delete_results_*.json, failed_request_ids_*.txt
- USER_ACTION_REQUIRED.md

Update .gitignore to prevent future commits of:
- Test scripts (test_*.py)
- Temporary utility scripts
- Generated documentation
- Log files and results

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

.gitignore CHANGED
@@ -59,5 +59,23 @@ api_keys.json
59
  test_*.py
60
  *_test.py
61
 
62
- # Documentation source
63
- faldoc.txt
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
  test_*.py
60
  *_test.py
61
 
62
+ # Temporary/utility scripts
63
+ delete_*.py
64
+ extract_*.py
65
+ package_*.py
66
+
67
+ # Logs and results
68
+ app_logs.txt
69
+ *_results_*.json
70
+ failed_request_ids_*.txt
71
+
72
+ # Generated documentation
73
+ faldoc.txt
74
+ *_codebase_*.txt
75
+
76
+ # Request tracking
77
+ request_ids.txt
78
+ request_ids*.json
79
+
80
+ # User action files
81
+ USER_ACTION_REQUIRED.md
USER_ACTION_REQUIRED.md DELETED
@@ -1,43 +0,0 @@
1
- # 用户操作指南 - 下载 Hugging Face Spaces 日志
2
-
3
- ## 当前状态
4
-
5
- ✅ 代码已部署到 Hugging Face Spaces
6
- ✅ 应用现在会记录所有 request_id
7
- ⏸️ 等待你下载日志文件
8
-
9
- ## 你需要做的唯一一件事
10
-
11
- ### 步骤:从 Hugging Face Spaces 下载日志
12
-
13
- 1. **访问你的 Space**
14
- https://huggingface.co/spaces/wapadil/seedream4
15
-
16
- 2. **点击 "Logs" 标签页**
17
- 在页面顶部找到 "Logs" 标签
18
-
19
- 3. **复制所有日志内容**
20
- - 使用浏览器的 Ctrl+A 全选
21
- - Ctrl+C 复制
22
-
23
- 4. **保存到本地文件**
24
- - 创建新文件:`C:\Users\wapadil\Downloads\fal\app_logs.txt`
25
- - 粘贴日志内容
26
- - 保存
27
-
28
- ## 完成后
29
-
30
- 把 `app_logs.txt` 文件放在当前目录,然后告诉我 **"日志已准备好"**,我会立即:
31
- 1. 提取所有 request_id
32
- 2. 执行批量删除操作
33
- 3. 提供完整的删除报告
34
-
35
- ## 注意事项
36
-
37
- - **日志内容可能很长**:这是正常的,包含了所有历史请求
38
- - **如果日志太旧**:应用刚部署,可能需要等待几分钟让新日志生成(或者先生成几张图测试)
39
- - **隐私安全**:日志内容不会被上传,所有处理都在本地进行
40
-
41
- ---
42
-
43
- **下载日志后,直接告诉我 "日志已准备好",剩下的交给我。**
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app_logs.txt DELETED
The diff for this file is too large to render. See raw diff
 
delete_io_only.py DELETED
@@ -1,228 +0,0 @@
1
- #!/usr/bin/env python3
2
- # -*- coding: utf-8 -*-
3
- """
4
- FAL Delete IO - 只执行删除操作
5
- 输入 request_id 列表,批量删除输出文件
6
- """
7
-
8
- import requests
9
- import json
10
- import time
11
- import sys
12
- from pathlib import Path
13
- from datetime import datetime
14
-
15
- # Windows UTF-8 支持
16
- if sys.platform == "win32":
17
- import io
18
- sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
19
-
20
-
21
- def load_request_ids(file_path):
22
- """从文件加载 request_id 列表"""
23
- request_ids = []
24
-
25
- with open(file_path, 'r', encoding='utf-8') as f:
26
- for line in f:
27
- rid = line.strip()
28
- if rid and not rid.startswith('#'): # 忽略空行和注释
29
- request_ids.append(rid)
30
-
31
- return request_ids
32
-
33
-
34
- def delete_io_files(request_ids, api_key, batch_size=10, delay=0.5):
35
- """
36
- 批量删除 request_id 的输出文件
37
-
38
- 参数:
39
- request_ids: request_id 列表
40
- api_key: FAL API key (需要 ADMIN scope)
41
- batch_size: 每批次删除多少个
42
- delay: 批次之间的延迟(秒)
43
- """
44
- headers = {
45
- "Authorization": f"Key {api_key}",
46
- "Content-Type": "application/json"
47
- }
48
-
49
- results = {
50
- 'success': [],
51
- 'failed': [],
52
- 'errors': []
53
- }
54
-
55
- total = len(request_ids)
56
- print(f"\n开始删除 {total} 个请求的输出文件\n")
57
-
58
- for i, rid in enumerate(request_ids, 1):
59
- print(f"[{i}/{total}] {rid}... ", end="", flush=True)
60
-
61
- # 重试逻辑
62
- success = False
63
- error_msg = None
64
-
65
- for attempt in range(3):
66
- try:
67
- resp = requests.put(
68
- f"https://rest.alpha.fal.ai/requests/delete_io/{rid}",
69
- headers=headers,
70
- timeout=10
71
- )
72
-
73
- if resp.ok:
74
- result_data = resp.json()
75
- results['success'].append({
76
- 'request_id': rid,
77
- 'data': result_data
78
- })
79
- print("✓")
80
- success = True
81
- break
82
-
83
- else:
84
- error_msg = f"HTTP {resp.status_code}: {resp.text[:100]}"
85
- if attempt < 2:
86
- time.sleep(1)
87
-
88
- except Exception as e:
89
- error_msg = str(e)
90
- if attempt < 2:
91
- time.sleep(1)
92
-
93
- if not success:
94
- results['failed'].append(rid)
95
- results['errors'].append({
96
- 'request_id': rid,
97
- 'error': error_msg
98
- })
99
- print(f"❌ {error_msg}")
100
-
101
- # 批次延迟,避免请求过快
102
- if i % batch_size == 0 and i < total:
103
- print(f"\n--- 已完成 {i}/{total},休息 {delay}s ---\n")
104
- time.sleep(delay)
105
-
106
- return results
107
-
108
-
109
- def save_results(results, output_dir="."):
110
- """保存删除结果"""
111
- timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
112
- output_dir = Path(output_dir)
113
- output_dir.mkdir(exist_ok=True)
114
-
115
- # 保存完整结果
116
- result_file = output_dir / f"delete_results_{timestamp}.json"
117
- with open(result_file, 'w', encoding='utf-8') as f:
118
- json.dump(results, f, ensure_ascii=False, indent=2)
119
-
120
- # 保存失败的 request_id(用于重试)
121
- if results['failed']:
122
- failed_file = output_dir / f"failed_request_ids_{timestamp}.txt"
123
- with open(failed_file, 'w') as f:
124
- f.write('\n'.join(results['failed']))
125
- print(f"\n✓ 失败的 request_id 已保存到: {failed_file}")
126
-
127
- print(f"✓ 完整结果已保存到: {result_file}")
128
-
129
-
130
- def main():
131
- print("=" * 70)
132
- print("FAL Delete IO - 批量删除输出文件")
133
- print("=" * 70)
134
- print()
135
-
136
- # 获取参数
137
- if len(sys.argv) < 2:
138
- print("用法: python delete_io_only.py <request_ids_file> [api_key]")
139
- print()
140
- print("参数:")
141
- print(" request_ids_file - 包含 request_id 列表的文件 (每行一个)")
142
- print(" api_key - FAL API key (需要 ADMIN scope)")
143
- print()
144
- print("示例:")
145
- print(" python delete_io_only.py request_ids.txt your-admin-api-key")
146
- print()
147
- return
148
-
149
- request_ids_file = sys.argv[1]
150
- api_key = sys.argv[2] if len(sys.argv) > 2 else None
151
-
152
- # 检查文件
153
- if not Path(request_ids_file).exists():
154
- print(f"❌ 文件不存在: {request_ids_file}")
155
- return
156
-
157
- # 获取 API key
158
- if not api_key:
159
- api_key = input("请输入 FAL API key (需要 ADMIN scope): ").strip()
160
-
161
- if not api_key:
162
- print("❌ API key 不能为空")
163
- return
164
-
165
- # 加载 request_id
166
- print(f"正在加载 request_id 从: {request_ids_file}")
167
- request_ids = load_request_ids(request_ids_file)
168
-
169
- if not request_ids:
170
- print("❌ 文件中没有有效的 request_id")
171
- return
172
-
173
- print(f"✓ 加��了 {len(request_ids)} 个 request_id")
174
-
175
- # 显示前5个
176
- print("\n前5个 request_id:")
177
- for i, rid in enumerate(request_ids[:5], 1):
178
- print(f" {i}. {rid}")
179
- if len(request_ids) > 5:
180
- print(f" ... (共 {len(request_ids)} 个)")
181
-
182
- # 确认
183
- print("\n" + "=" * 70)
184
- print(f"⚠️ 即将删除 {len(request_ids)} 个请求的输出文件")
185
- print("⚠️ 此操作不可逆!")
186
- print("=" * 70)
187
- confirm = input("\n确认继续?(输入 'YES' 继续): ")
188
-
189
- if confirm != 'YES':
190
- print("取消操作")
191
- return
192
-
193
- # 执行删除
194
- print("\n" + "=" * 70)
195
- results = delete_io_files(request_ids, api_key)
196
-
197
- # 保存结果
198
- print("\n" + "=" * 70)
199
- save_results(results)
200
-
201
- # 最终报告
202
- success_count = len(results['success'])
203
- failed_count = len(results['failed'])
204
- total_count = len(request_ids)
205
-
206
- print("\n" + "=" * 70)
207
- print("执行完成")
208
- print("=" * 70)
209
- print(f"✓ 成功删除: {success_count} 个 ({success_count/total_count*100:.1f}%)")
210
- print(f"❌ 删除失败: {failed_count} 个 ({failed_count/total_count*100:.1f}%)")
211
- print(f"📊 总计: {total_count} 个")
212
-
213
- # 显示失败原因统计
214
- if results['errors']:
215
- print("\n失败原因统计:")
216
- error_types = {}
217
- for err in results['errors']:
218
- error_msg = err['error'][:50]
219
- error_types[error_msg] = error_types.get(error_msg, 0) + 1
220
-
221
- for error_msg, count in sorted(error_types.items(), key=lambda x: x[1], reverse=True):
222
- print(f" - {error_msg}: {count} 个")
223
-
224
- print("=" * 70)
225
-
226
-
227
- if __name__ == "__main__":
228
- main()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
delete_logs.py DELETED
@@ -1,208 +0,0 @@
1
- #!/usr/bin/env python3
2
- # -*- coding: utf-8 -*-
3
- """
4
- FAL 日志清理脚本
5
- 拉取30天内的 seedream 日志并删除对应的输出文件
6
- """
7
-
8
- import requests
9
- import json
10
- import time
11
- import re
12
- import sys
13
- from datetime import datetime
14
-
15
- # 设置 stdout 编码为 UTF-8
16
- if sys.platform == "win32":
17
- import io
18
- sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
19
-
20
- # API Key
21
- FAL_KEY = "09327e88-d06d-4290-afc1-1dc24e318d8a:b50fb7bd810d387bfaa59483c573dbf4"
22
-
23
- # 时间范围 (UTC)
24
- SINCE = "2025-08-31T00:00:00Z"
25
- UNTIL = "2025-09-30T23:59:59Z"
26
-
27
- def fetch_logs():
28
- """拉取30天内的 seedream 日志"""
29
- print(f"[1/3] 正在拉取日志: {SINCE} -> {UNTIL}")
30
-
31
- params = {
32
- "since": SINCE,
33
- "until": UNTIL,
34
- "limit": "1000",
35
- "search": "seedream"
36
- }
37
-
38
- body = {
39
- "extra_filters": [
40
- {"key": "source", "value": "gateway"}
41
- ]
42
- }
43
-
44
- headers = {
45
- "Authorization": f"Key {FAL_KEY}",
46
- "Content-Type": "application/json"
47
- }
48
-
49
- try:
50
- resp = requests.post(
51
- "https://rest.alpha.fal.ai/logs/",
52
- params=params,
53
- json=body,
54
- headers=headers,
55
- timeout=30
56
- )
57
- resp.raise_for_status()
58
- logs = resp.json()
59
-
60
- print(f"✓ 拉取到 {len(logs)} 条日志")
61
-
62
- # 保存日志到文件
63
- with open("logs.json", "w", encoding="utf-8") as f:
64
- json.dump(logs, f, ensure_ascii=False, indent=2)
65
- print(f"✓ 日志已保存到 logs.json")
66
-
67
- return logs
68
-
69
- except requests.exceptions.HTTPError as e:
70
- print(f"❌ HTTP错误: {e}")
71
- print(f"响应内容: {e.response.text if hasattr(e, 'response') else 'N/A'}")
72
- print(f"\n提示: Logs API 可能需要 ADMIN scope 的 API Key")
73
- print(f"当前使用的 API Key: {FAL_KEY[:20]}...")
74
- return []
75
- except Exception as e:
76
- print(f"❌ 拉取日志失败: {e}")
77
- return []
78
-
79
- def extract_request_ids(logs):
80
- """从日志中提取所有 request_id"""
81
- print(f"\n[2/3] 正在提取 request_id")
82
-
83
- request_ids = set()
84
-
85
- for entry in logs:
86
- # 方法1: 从 labels.request_id 提取
87
- if "labels" in entry and "request_id" in entry["labels"]:
88
- rid = entry["labels"]["request_id"]
89
- if rid:
90
- request_ids.add(rid)
91
-
92
- # 方法2: 从 message 中正则提取
93
- if "message" in entry:
94
- msg = entry["message"]
95
- # 匹配形如 request_id: xxx 或 request_id=xxx 的模式
96
- matches = re.findall(r'request_id[:=\s]+([A-Za-z0-9\-_]+)', msg)
97
- request_ids.update(matches)
98
-
99
- # 匹配 URL 中的 request_id
100
- url_matches = re.findall(r'/requests/([A-Za-z0-9\-_]+)', msg)
101
- request_ids.update(url_matches)
102
-
103
- # 保存到文件
104
- request_ids_list = sorted(request_ids)
105
- with open("request_ids.txt", "w") as f:
106
- f.write("\n".join(request_ids_list))
107
-
108
- print(f"✓ 提取到 {len(request_ids_list)} 个唯一 request_id")
109
- print(f"✓ request_id 已保存到 request_ids.txt")
110
-
111
- return request_ids_list
112
-
113
- def delete_io_files(request_ids):
114
- """批量删除所有 request_id 的输出文件"""
115
- print(f"\n[3/3] 正在删除 {len(request_ids)} 个请求的输出文件")
116
-
117
- headers = {
118
- "Authorization": f"Key {FAL_KEY}",
119
- "Content-Type": "application/json"
120
- }
121
-
122
- success_count = 0
123
- fail_count = 0
124
- results = []
125
-
126
- for i, rid in enumerate(request_ids, 1):
127
- print(f"[{i}/{len(request_ids)}] 删除 {rid}...", end=" ")
128
-
129
- for attempt in range(3):
130
- try:
131
- resp = requests.put(
132
- f"https://rest.alpha.fal.ai/requests/delete_io/{rid}",
133
- headers=headers,
134
- timeout=10
135
- )
136
-
137
- if resp.ok:
138
- result = resp.json()
139
- results.append({"request_id": rid, "status": "success", "data": result})
140
- print("✓")
141
- success_count += 1
142
- break
143
- else:
144
- if attempt == 2: # 最后一次尝试
145
- results.append({"request_id": rid, "status": "failed", "code": resp.status_code, "error": resp.text})
146
- print(f"❌ [{resp.status_code}]")
147
- fail_count += 1
148
- else:
149
- time.sleep(1) # 重试前等待
150
-
151
- except Exception as e:
152
- if attempt == 2:
153
- results.append({"request_id": rid, "status": "error", "error": str(e)})
154
- print(f"❌ {e}")
155
- fail_count += 1
156
- else:
157
- time.sleep(1)
158
-
159
- # 避免请求过快
160
- if i % 10 == 0:
161
- time.sleep(0.5)
162
-
163
- # 保存删除结果
164
- with open("delete_results.json", "w", encoding="utf-8") as f:
165
- json.dump(results, f, ensure_ascii=False, indent=2)
166
-
167
- print(f"\n✓ 删除结果已保存到 delete_results.json")
168
-
169
- return success_count, fail_count
170
-
171
- def main():
172
- print("=" * 60)
173
- print("FAL 日志清理脚本")
174
- print("=" * 60)
175
-
176
- # 步骤1: 拉取日志
177
- logs = fetch_logs()
178
- if not logs:
179
- print("\n❌ 没有拉取到日志,退出")
180
- return
181
-
182
- # 步骤2: 提取 request_id
183
- request_ids = extract_request_ids(logs)
184
- if not request_ids:
185
- print("\n❌ 没有提取到 request_id,退出")
186
- return
187
-
188
- # 确认删除
189
- print(f"\n⚠️ 即将删除 {len(request_ids)} 个请求的输出文件")
190
- confirm = input("确认继续?(y/N): ")
191
- if confirm.lower() != 'y':
192
- print("取消操作")
193
- return
194
-
195
- # 步骤3: 批量删除
196
- success, failed = delete_io_files(request_ids)
197
-
198
- # 最终报告
199
- print("\n" + "=" * 60)
200
- print("执行完成")
201
- print("=" * 60)
202
- print(f"✓ 成功删除: {success} 个")
203
- print(f"❌ 删除失败: {failed} 个")
204
- print(f"📊 总计: {len(request_ids)} 个")
205
- print("=" * 60)
206
-
207
- if __name__ == "__main__":
208
- main()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
delete_results_20250930_162053.json DELETED
@@ -1,162 +0,0 @@
1
- {
2
- "success": [],
3
- "failed": [
4
- "1159f5f8-3aee-42d2-8d7b-88eb7563c253",
5
- "12bf8e97-de7a-420b-9db4-ce6c31b4cc9d",
6
- "146a9508-77a5-47ca-83ac-5a24bd65b977",
7
- "1b097199-f2b1-442f-8675-ba60c7143bce",
8
- "1f547c18-8086-459b-83d9-9d9fd6fd205f",
9
- "21cb18f7-df12-4611-a28e-24311ddd0cc3",
10
- "2d05b2e4-5247-4ff7-b230-3c213d887a4b",
11
- "3718fbc1-9b75-451a-b54f-be6ca11a4c83",
12
- "3b491ce2-ae5c-4057-93b1-032f40abd68f",
13
- "3e0892e0-00f4-45ba-aa45-bb057cd309df",
14
- "496ff93e-1f07-46dc-a28e-e27574fb9071",
15
- "5c13351e-4e26-497c-956c-b6a113feed7c",
16
- "6612d36e-e208-4883-ae64-d84ed64d35c5",
17
- "678c9c56-3634-4f69-865a-0ad107c1749b",
18
- "6c308dff-5dd1-436f-91c1-80699705627c",
19
- "6e8c3ee1-b779-4fb2-b3e0-43f4d74f6944",
20
- "72214082-67f8-4dc5-b2fc-d2f28b190145",
21
- "73076274-cf58-4972-950d-aea4e561fae6",
22
- "7892096b-2e84-4ae5-ac77-642ae0db7a5e",
23
- "79141a2f-8c45-4ba4-8c8d-9c90bb841bb5",
24
- "7c501d58-8208-40f5-9404-75abf1e5fa28",
25
- "7c985ffd-28ff-465a-aacd-4acfd9ed9488",
26
- "ab52e365-76ac-4d37-8c5c-7813c3a4abdb",
27
- "aed651a8-1f6c-459d-9c48-4f668a20676e",
28
- "c2e3bd2c-e6bd-4370-b30e-f16e9e062db6",
29
- "ce0d8a76-a922-4452-a17b-10851d5bc5ba",
30
- "d8fe4289-a26b-4710-9d75-120a010e07ca",
31
- "dd9183de-2f65-41b7-8522-5f758c70abf4",
32
- "e3940e23-8183-4d02-91bf-294bb70f131a",
33
- "f429cdb5-efd5-4f5c-9a3c-076bdf22bf79",
34
- "f4a6549e-9b1e-4342-b1fa-024b63ee912b"
35
- ],
36
- "errors": [
37
- {
38
- "request_id": "1159f5f8-3aee-42d2-8d7b-88eb7563c253",
39
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
40
- },
41
- {
42
- "request_id": "12bf8e97-de7a-420b-9db4-ce6c31b4cc9d",
43
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
44
- },
45
- {
46
- "request_id": "146a9508-77a5-47ca-83ac-5a24bd65b977",
47
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
48
- },
49
- {
50
- "request_id": "1b097199-f2b1-442f-8675-ba60c7143bce",
51
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
52
- },
53
- {
54
- "request_id": "1f547c18-8086-459b-83d9-9d9fd6fd205f",
55
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
56
- },
57
- {
58
- "request_id": "21cb18f7-df12-4611-a28e-24311ddd0cc3",
59
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
60
- },
61
- {
62
- "request_id": "2d05b2e4-5247-4ff7-b230-3c213d887a4b",
63
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
64
- },
65
- {
66
- "request_id": "3718fbc1-9b75-451a-b54f-be6ca11a4c83",
67
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
68
- },
69
- {
70
- "request_id": "3b491ce2-ae5c-4057-93b1-032f40abd68f",
71
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
72
- },
73
- {
74
- "request_id": "3e0892e0-00f4-45ba-aa45-bb057cd309df",
75
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
76
- },
77
- {
78
- "request_id": "496ff93e-1f07-46dc-a28e-e27574fb9071",
79
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
80
- },
81
- {
82
- "request_id": "5c13351e-4e26-497c-956c-b6a113feed7c",
83
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
84
- },
85
- {
86
- "request_id": "6612d36e-e208-4883-ae64-d84ed64d35c5",
87
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
88
- },
89
- {
90
- "request_id": "678c9c56-3634-4f69-865a-0ad107c1749b",
91
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
92
- },
93
- {
94
- "request_id": "6c308dff-5dd1-436f-91c1-80699705627c",
95
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
96
- },
97
- {
98
- "request_id": "6e8c3ee1-b779-4fb2-b3e0-43f4d74f6944",
99
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
100
- },
101
- {
102
- "request_id": "72214082-67f8-4dc5-b2fc-d2f28b190145",
103
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
104
- },
105
- {
106
- "request_id": "73076274-cf58-4972-950d-aea4e561fae6",
107
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
108
- },
109
- {
110
- "request_id": "7892096b-2e84-4ae5-ac77-642ae0db7a5e",
111
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
112
- },
113
- {
114
- "request_id": "79141a2f-8c45-4ba4-8c8d-9c90bb841bb5",
115
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
116
- },
117
- {
118
- "request_id": "7c501d58-8208-40f5-9404-75abf1e5fa28",
119
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
120
- },
121
- {
122
- "request_id": "7c985ffd-28ff-465a-aacd-4acfd9ed9488",
123
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
124
- },
125
- {
126
- "request_id": "ab52e365-76ac-4d37-8c5c-7813c3a4abdb",
127
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
128
- },
129
- {
130
- "request_id": "aed651a8-1f6c-459d-9c48-4f668a20676e",
131
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
132
- },
133
- {
134
- "request_id": "c2e3bd2c-e6bd-4370-b30e-f16e9e062db6",
135
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
136
- },
137
- {
138
- "request_id": "ce0d8a76-a922-4452-a17b-10851d5bc5ba",
139
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
140
- },
141
- {
142
- "request_id": "d8fe4289-a26b-4710-9d75-120a010e07ca",
143
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
144
- },
145
- {
146
- "request_id": "dd9183de-2f65-41b7-8522-5f758c70abf4",
147
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
148
- },
149
- {
150
- "request_id": "e3940e23-8183-4d02-91bf-294bb70f131a",
151
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
152
- },
153
- {
154
- "request_id": "f429cdb5-efd5-4f5c-9a3c-076bdf22bf79",
155
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
156
- },
157
- {
158
- "request_id": "f4a6549e-9b1e-4342-b1fa-024b63ee912b",
159
- "error": "HTTP 403: {\"detail\":\"Unable to use 'key=09327e88-d06d-4290-afc1-1dc24e318d8a' auth: Insufficient permissions: "
160
- }
161
- ]
162
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
extract_request_ids.py DELETED
@@ -1,235 +0,0 @@
1
- #!/usr/bin/env python3
2
- # -*- coding: utf-8 -*-
3
- """
4
- 从应用日志中提取 request_id
5
- 支持多种日志格式和来源
6
- """
7
-
8
- import re
9
- import sys
10
- import json
11
- from pathlib import Path
12
- from collections import defaultdict
13
- from datetime import datetime
14
-
15
- # Windows UTF-8 支持
16
- if sys.platform == "win32":
17
- import io
18
- sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
19
-
20
-
21
- def extract_from_structured_logs(log_file):
22
- """
23
- 从增强的结构化日志中提取 request_id
24
- 匹配格式: [REQUEST_ID] xxx | action=generated | model=yyy
25
- """
26
- pattern = r'\[REQUEST_ID\]\s+([A-Za-z0-9\-_]+)'
27
- request_ids = set()
28
- matches_with_context = []
29
-
30
- with open(log_file, 'r', encoding='utf-8', errors='ignore') as f:
31
- for line_num, line in enumerate(f, 1):
32
- match = re.search(pattern, line)
33
- if match:
34
- rid = match.group(1)
35
- request_ids.add(rid)
36
-
37
- # 提取上下文信息
38
- model_match = re.search(r'model=([^\s|]+)', line)
39
- action_match = re.search(r'action=([^\s|]+)', line)
40
- prompt_match = re.search(r'prompt=(.+?)(?:\||$)', line)
41
-
42
- context = {
43
- 'request_id': rid,
44
- 'line_num': line_num,
45
- 'model': model_match.group(1) if model_match else None,
46
- 'action': action_match.group(1) if action_match else None,
47
- 'prompt': prompt_match.group(1).strip() if prompt_match else None
48
- }
49
- matches_with_context.append(context)
50
-
51
- return request_ids, matches_with_context
52
-
53
-
54
- def extract_from_generic_logs(log_file):
55
- """
56
- 从通用日志中提取 request_id
57
- 匹配多种常见格式
58
- """
59
- patterns = [
60
- r'request_id[:=\s]+([A-Za-z0-9\-_]+)', # request_id: xxx 或 request_id=xxx
61
- r'"request_id"\s*:\s*"([A-Za-z0-9\-_]+)"', # JSON: "request_id": "xxx"
62
- r'/requests/([A-Za-z0-9\-_]+)', # URL: /requests/xxx
63
- r'req_id[:=\s]+([A-Za-z0-9\-_]+)', # req_id: xxx
64
- ]
65
-
66
- request_ids = set()
67
- matches_with_context = []
68
-
69
- with open(log_file, 'r', encoding='utf-8', errors='ignore') as f:
70
- for line_num, line in enumerate(f, 1):
71
- for pattern in patterns:
72
- for match in re.finditer(pattern, line, re.IGNORECASE):
73
- rid = match.group(1)
74
- # 过滤明显不是 request_id 的字符串
75
- if len(rid) > 10 and '-' in rid:
76
- request_ids.add(rid)
77
- matches_with_context.append({
78
- 'request_id': rid,
79
- 'line_num': line_num,
80
- 'pattern': pattern,
81
- 'line_preview': line[:200]
82
- })
83
-
84
- return request_ids, matches_with_context
85
-
86
-
87
- def extract_from_json_logs(log_file):
88
- """
89
- 从 JSON 格式的日志中提取 request_id
90
- """
91
- request_ids = set()
92
- matches_with_context = []
93
-
94
- with open(log_file, 'r', encoding='utf-8', errors='ignore') as f:
95
- for line_num, line in enumerate(f, 1):
96
- line = line.strip()
97
- if not line or not line.startswith('{'):
98
- continue
99
-
100
- try:
101
- log_entry = json.loads(line)
102
-
103
- # 查找所有可能包含 request_id 的字段
104
- rid = None
105
- if 'request_id' in log_entry:
106
- rid = log_entry['request_id']
107
- elif 'req_id' in log_entry:
108
- rid = log_entry['req_id']
109
- elif 'id' in log_entry:
110
- rid = log_entry['id']
111
-
112
- if rid and isinstance(rid, str) and len(rid) > 10:
113
- request_ids.add(rid)
114
- matches_with_context.append({
115
- 'request_id': rid,
116
- 'line_num': line_num,
117
- 'timestamp': log_entry.get('timestamp'),
118
- 'level': log_entry.get('level'),
119
- 'message': log_entry.get('message', '')[:100]
120
- })
121
-
122
- except json.JSONDecodeError:
123
- continue
124
-
125
- return request_ids, matches_with_context
126
-
127
-
128
- def analyze_log_file(log_file):
129
- """
130
- 分析日志文件,自动选择最佳提取方法
131
- """
132
- print(f"正在分析日志文件: {log_file}")
133
- print(f"文件大小: {Path(log_file).stat().st_size / 1024 / 1024:.2f} MB\n")
134
-
135
- # 尝试所有提取方法
136
- all_request_ids = set()
137
- all_contexts = []
138
-
139
- # 方法1: 结构化日志
140
- structured_ids, structured_contexts = extract_from_structured_logs(log_file)
141
- if structured_ids:
142
- print(f"✓ 从结构化日志提取: {len(structured_ids)} 个 request_id")
143
- all_request_ids.update(structured_ids)
144
- all_contexts.extend(structured_contexts)
145
-
146
- # 方法2: 通用日志
147
- generic_ids, generic_contexts = extract_from_generic_logs(log_file)
148
- if generic_ids:
149
- print(f"✓ 从通用日志提取: {len(generic_ids)} 个 request_id")
150
- all_request_ids.update(generic_ids)
151
- all_contexts.extend(generic_contexts)
152
-
153
- # 方法3: JSON 日志
154
- json_ids, json_contexts = extract_from_json_logs(log_file)
155
- if json_ids:
156
- print(f"✓ 从 JSON 日志提取: {len(json_ids)} 个 request_id")
157
- all_request_ids.update(json_ids)
158
- all_contexts.extend(json_contexts)
159
-
160
- return all_request_ids, all_contexts
161
-
162
-
163
- def main():
164
- print("=" * 70)
165
- print("Request ID 提取工具")
166
- print("=" * 70)
167
- print()
168
-
169
- # 获取日志文件路径
170
- if len(sys.argv) > 1:
171
- log_file = sys.argv[1]
172
- else:
173
- log_file = input("请输入日志文件路径: ").strip()
174
-
175
- if not Path(log_file).exists():
176
- print(f"❌ 文件不存在: {log_file}")
177
- return
178
-
179
- # 分析日志文件
180
- request_ids, contexts = analyze_log_file(log_file)
181
-
182
- if not request_ids:
183
- print("\n❌ 未找到任何 request_id")
184
- print("\n提示:")
185
- print("1. 确保日志文件包含 FAL API 调用记录")
186
- print("2. 检查日志格式是否包含 request_id 字段")
187
- print("3. 如果是 Hugging Face Spaces 日志,确保下载了完整日志")
188
- return
189
-
190
- # 保存结果
191
- request_ids_list = sorted(request_ids)
192
-
193
- # 保存 request_id 列表
194
- output_file = "request_ids.txt"
195
- with open(output_file, 'w') as f:
196
- f.write('\n'.join(request_ids_list))
197
- print(f"\n✓ 已保存 {len(request_ids_list)} 个 request_id 到 {output_file}")
198
-
199
- # 保存详细上下文
200
- context_file = "request_ids_context.json"
201
- with open(context_file, 'w', encoding='utf-8') as f:
202
- json.dump(contexts, f, ensure_ascii=False, indent=2)
203
- print(f"✓ 已保存详细上下文到 {context_file}")
204
-
205
- # 统计信息
206
- print("\n" + "=" * 70)
207
- print("统计信息")
208
- print("=" * 70)
209
- print(f"总计提取: {len(request_ids_list)} 个唯一 request_id")
210
-
211
- # 按模型分组统计(如果有)
212
- model_stats = defaultdict(int)
213
- for ctx in contexts:
214
- if isinstance(ctx, dict) and 'model' in ctx and ctx['model']:
215
- model_stats[ctx['model']] += 1
216
-
217
- if model_stats:
218
- print("\n按模型分组:")
219
- for model, count in sorted(model_stats.items(), key=lambda x: x[1], reverse=True):
220
- print(f" - {model}: {count} 个")
221
-
222
- # 显示前5个 request_id 示例
223
- print(f"\n前5个 request_id 示例:")
224
- for i, rid in enumerate(request_ids_list[:5], 1):
225
- print(f" {i}. {rid}")
226
-
227
- print("\n" + "=" * 70)
228
- print("下一步操作:")
229
- print(f" 1. 检查 {output_file} 确认提取的 request_id 是否正确")
230
- print(f" 2. 运行删除脚本: python delete_io_only.py {output_file}")
231
- print("=" * 70)
232
-
233
-
234
- if __name__ == "__main__":
235
- main()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
failed_request_ids_20250930_162053.txt DELETED
@@ -1,31 +0,0 @@
1
- 1159f5f8-3aee-42d2-8d7b-88eb7563c253
2
- 12bf8e97-de7a-420b-9db4-ce6c31b4cc9d
3
- 146a9508-77a5-47ca-83ac-5a24bd65b977
4
- 1b097199-f2b1-442f-8675-ba60c7143bce
5
- 1f547c18-8086-459b-83d9-9d9fd6fd205f
6
- 21cb18f7-df12-4611-a28e-24311ddd0cc3
7
- 2d05b2e4-5247-4ff7-b230-3c213d887a4b
8
- 3718fbc1-9b75-451a-b54f-be6ca11a4c83
9
- 3b491ce2-ae5c-4057-93b1-032f40abd68f
10
- 3e0892e0-00f4-45ba-aa45-bb057cd309df
11
- 496ff93e-1f07-46dc-a28e-e27574fb9071
12
- 5c13351e-4e26-497c-956c-b6a113feed7c
13
- 6612d36e-e208-4883-ae64-d84ed64d35c5
14
- 678c9c56-3634-4f69-865a-0ad107c1749b
15
- 6c308dff-5dd1-436f-91c1-80699705627c
16
- 6e8c3ee1-b779-4fb2-b3e0-43f4d74f6944
17
- 72214082-67f8-4dc5-b2fc-d2f28b190145
18
- 73076274-cf58-4972-950d-aea4e561fae6
19
- 7892096b-2e84-4ae5-ac77-642ae0db7a5e
20
- 79141a2f-8c45-4ba4-8c8d-9c90bb841bb5
21
- 7c501d58-8208-40f5-9404-75abf1e5fa28
22
- 7c985ffd-28ff-465a-aacd-4acfd9ed9488
23
- ab52e365-76ac-4d37-8c5c-7813c3a4abdb
24
- aed651a8-1f6c-459d-9c48-4f668a20676e
25
- c2e3bd2c-e6bd-4370-b30e-f16e9e062db6
26
- ce0d8a76-a922-4452-a17b-10851d5bc5ba
27
- d8fe4289-a26b-4710-9d75-120a010e07ca
28
- dd9183de-2f65-41b7-8522-5f758c70abf4
29
- e3940e23-8183-4d02-91bf-294bb70f131a
30
- f429cdb5-efd5-4f5c-9a3c-076bdf22bf79
31
- f4a6549e-9b1e-4342-b1fa-024b63ee912b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
package_code.py DELETED
@@ -1,210 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- SeedDream v4 项目代码打包脚本
4
- 将所有重要代码文件打包到txt文件中,方便发送给AI专家进行代码审查
5
- """
6
-
7
- import os
8
- import datetime
9
- from pathlib import Path
10
-
11
- def get_file_size(filepath):
12
- """获取文件大小(字节)"""
13
- try:
14
- return os.path.getsize(filepath)
15
- except:
16
- return 0
17
-
18
- def is_text_file(filepath):
19
- """检查是否为文本文件"""
20
- text_extensions = {'.py', '.html', '.css', '.js', '.json', '.md', '.txt', '.yml', '.yaml', '.env'}
21
- return filepath.suffix.lower() in text_extensions or filepath.name in ['Dockerfile', 'requirements.txt']
22
-
23
- def should_include_file(filepath):
24
- """判断是否应该包含该文件"""
25
- # 排除的目录和文件
26
- exclude_dirs = {'__pycache__', '.git', '.pytest_cache', 'node_modules', '.venv', 'venv'}
27
- exclude_files = {'.gitignore', '.DS_Store'}
28
-
29
- # 检查路径中是否包含排除的目录
30
- for part in filepath.parts:
31
- if part in exclude_dirs:
32
- return False
33
-
34
- # 检查文件名是否在排除列表中
35
- if filepath.name in exclude_files:
36
- return False
37
-
38
- # 只包含文本文件
39
- if not is_text_file(filepath):
40
- return False
41
-
42
- # 文件大小限制(100KB)
43
- if get_file_size(filepath) > 100 * 1024:
44
- return False
45
-
46
- return True
47
-
48
- def get_important_files():
49
- """获取所有重要文件列表"""
50
- important_files = []
51
- current_dir = Path('.')
52
-
53
- # 核心文件(按重要性排序)
54
- core_files = [
55
- 'CLAUDE.md', # 项目说明和指令
56
- 'app_simple.py', # 主应用(推荐版本)
57
- 'app.py', # 原版应用
58
- 'templates/index.html', # 前端模板
59
- 'static/script.js', # 前端逻辑
60
- 'static/style.css', # 前端样式
61
- 'requirements.txt', # Python依赖
62
- 'Dockerfile', # 容器配置
63
- 'vercel.json', # Vercel部署配置
64
- ]
65
-
66
- # API模块
67
- api_files = [
68
- 'api/__init__.py',
69
- 'api/fal_client.py',
70
- 'api/routes.py',
71
- 'monitoring.py',
72
- ]
73
-
74
- # 配置和文档
75
- config_files = [
76
- 'README.md',
77
- 'DEPLOYMENT.md',
78
- 'LOCALIZATION_SUMMARY.md',
79
- '.github/workflows/deploy.yml',
80
- ]
81
-
82
- # 测试文件
83
- test_files = [
84
- 'tests/__init__.py',
85
- ]
86
-
87
- # 按顺序添加文件
88
- all_files = core_files + api_files + config_files + test_files
89
-
90
- for file_path in all_files:
91
- full_path = current_dir / file_path
92
- if full_path.exists() and should_include_file(full_path):
93
- important_files.append(full_path)
94
-
95
- # 查找其他可能遗漏的重要文件
96
- for file_path in current_dir.rglob('*'):
97
- if file_path.is_file() and should_include_file(file_path):
98
- if file_path not in important_files:
99
- important_files.append(file_path)
100
-
101
- return important_files
102
-
103
- def create_package_file():
104
- """创建代码打包文件"""
105
- timestamp = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
106
- output_file = f"seedream_codebase_{timestamp}.txt"
107
-
108
- files = get_important_files()
109
- total_size = sum(get_file_size(f) for f in files)
110
-
111
- with open(output_file, 'w', encoding='utf-8') as output:
112
- # 写入头部信息
113
- output.write("="*80 + "\n")
114
- output.write("SeedDream v4 - AI图像生成与编辑器 - 完整代码库\n")
115
- output.write("="*80 + "\n")
116
- output.write(f"生成时间: {datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')}\n")
117
- output.write(f"包含文件数: {len(files)}\n")
118
- output.write(f"总代码大小: {total_size:,} bytes ({total_size/1024:.1f} KB)\n")
119
- output.write("\n")
120
-
121
- # 项目概述
122
- output.write("项目概述:\n")
123
- output.write("-" * 40 + "\n")
124
- output.write("• SeedDream v4是基于Flask的AI图像生成与编辑器\n")
125
- output.write("• 支持ByteDance SeedDream v4和Qwen图像编辑模型\n")
126
- output.write("• 完整的中文本地化界面,优化iPad/移动端体验\n")
127
- output.write("• 使用FAL API进行图像生成和编辑\n")
128
- output.write("• 部署在Hugging Face Spaces,支持Docker容器化\n")
129
- output.write("\n")
130
-
131
- # 文件目录
132
- output.write("文件目录:\n")
133
- output.write("-" * 40 + "\n")
134
- for i, file_path in enumerate(files, 1):
135
- file_size = get_file_size(file_path)
136
- output.write(f"{i:2}. {file_path} ({file_size:,} bytes)\n")
137
- output.write("\n")
138
-
139
- # 架构说明
140
- output.write("架构说明:\n")
141
- output.write("-" * 40 + "\n")
142
- output.write("• app_simple.py: 优化版主应用,推荐用于生产环境\n")
143
- output.write("• app.py: 原版应用,包含复杂异步处理逻辑\n")
144
- output.write("• api/: 模块化API客户端和路由\n")
145
- output.write("• templates/: Jinja2模板,完整中文界面\n")
146
- output.write("• static/: CSS和JavaScript资源\n")
147
- output.write("• CLAUDE.md: 项目指令和开发规范\n")
148
- output.write("\n")
149
-
150
- output.write("="*80 + "\n")
151
- output.write("文件内容开始\n")
152
- output.write("="*80 + "\n\n")
153
-
154
- # 写入每个文件的内容
155
- for i, file_path in enumerate(files, 1):
156
- output.write(f"\n{'='*60}\n")
157
- output.write(f"文件 {i}/{len(files)}: {file_path}\n")
158
- output.write(f"大小: {get_file_size(file_path):,} bytes\n")
159
- output.write(f"{'='*60}\n\n")
160
-
161
- try:
162
- with open(file_path, 'r', encoding='utf-8') as f:
163
- content = f.read()
164
- output.write(content)
165
- if not content.endswith('\n'):
166
- output.write('\n')
167
- except Exception as e:
168
- output.write(f"[错误] 无法读取文件: {e}\n")
169
-
170
- output.write(f"\n{'='*60}\n")
171
- output.write(f"文件结束: {file_path}\n")
172
- output.write(f"{'='*60}\n\n")
173
-
174
- return output_file, len(files), total_size
175
-
176
- def main():
177
- """主函数"""
178
- print("SeedDream v4 代码打包工具")
179
- print("=" * 50)
180
-
181
- if not os.path.exists('CLAUDE.md'):
182
- print("错误: 未在当前目录找到CLAUDE.md文件")
183
- print("请确保在SeedDream项目根目录下运行此脚本")
184
- return
185
-
186
- print("正在分析项目文件...")
187
- files = get_important_files()
188
- total_size = sum(get_file_size(f) for f in files)
189
-
190
- print(f"找到 {len(files)} 个重要文件")
191
- print(f"总大小: {total_size:,} bytes ({total_size/1024:.1f} KB)")
192
-
193
- if total_size > 1024 * 1024: # 1MB
194
- print("警告: 代码库较大,生成的文件可能很大")
195
-
196
- print("\n正在生成打包文件...")
197
- output_file, file_count, total_bytes = create_package_file()
198
-
199
- print(f"\n[成功] 代码包已生成: {output_file}")
200
- print(f"[文件] 包含文件: {file_count} 个")
201
- print(f"[大小] 总大小: {total_bytes:,} bytes ({total_bytes/1024:.1f} KB)")
202
- print(f"[输出] 输出文件大小: {get_file_size(output_file):,} bytes")
203
-
204
- print(f"\n[使用说明]:")
205
- print(f"1. 将 {output_file} 发送给AI专家")
206
- print(f"2. 文件包含完整的项目代码和说明")
207
- print(f"3. AI专家可以基于此文件提供代码审查建议")
208
-
209
- if __name__ == "__main__":
210
- main()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
request_ids.txt DELETED
@@ -1,31 +0,0 @@
1
- 1159f5f8-3aee-42d2-8d7b-88eb7563c253
2
- 12bf8e97-de7a-420b-9db4-ce6c31b4cc9d
3
- 146a9508-77a5-47ca-83ac-5a24bd65b977
4
- 1b097199-f2b1-442f-8675-ba60c7143bce
5
- 1f547c18-8086-459b-83d9-9d9fd6fd205f
6
- 21cb18f7-df12-4611-a28e-24311ddd0cc3
7
- 2d05b2e4-5247-4ff7-b230-3c213d887a4b
8
- 3718fbc1-9b75-451a-b54f-be6ca11a4c83
9
- 3b491ce2-ae5c-4057-93b1-032f40abd68f
10
- 3e0892e0-00f4-45ba-aa45-bb057cd309df
11
- 496ff93e-1f07-46dc-a28e-e27574fb9071
12
- 5c13351e-4e26-497c-956c-b6a113feed7c
13
- 6612d36e-e208-4883-ae64-d84ed64d35c5
14
- 678c9c56-3634-4f69-865a-0ad107c1749b
15
- 6c308dff-5dd1-436f-91c1-80699705627c
16
- 6e8c3ee1-b779-4fb2-b3e0-43f4d74f6944
17
- 72214082-67f8-4dc5-b2fc-d2f28b190145
18
- 73076274-cf58-4972-950d-aea4e561fae6
19
- 7892096b-2e84-4ae5-ac77-642ae0db7a5e
20
- 79141a2f-8c45-4ba4-8c8d-9c90bb841bb5
21
- 7c501d58-8208-40f5-9404-75abf1e5fa28
22
- 7c985ffd-28ff-465a-aacd-4acfd9ed9488
23
- ab52e365-76ac-4d37-8c5c-7813c3a4abdb
24
- aed651a8-1f6c-459d-9c48-4f668a20676e
25
- c2e3bd2c-e6bd-4370-b30e-f16e9e062db6
26
- ce0d8a76-a922-4452-a17b-10851d5bc5ba
27
- d8fe4289-a26b-4710-9d75-120a010e07ca
28
- dd9183de-2f65-41b7-8522-5f758c70abf4
29
- e3940e23-8183-4d02-91bf-294bb70f131a
30
- f429cdb5-efd5-4f5c-9a3c-076bdf22bf79
31
- f4a6549e-9b1e-4342-b1fa-024b63ee912b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
request_ids_context.json DELETED
@@ -1,1070 +0,0 @@
1
- [
2
- {
3
- "request_id": "3b491ce2-ae5c-4057-93b1-032f40abd68f",
4
- "line_num": 113,
5
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
6
- "line_preview": "2025-09-29 15:50:23,098 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/3b491ce2-ae5c-4057-93b1-032f40abd68f/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
7
- },
8
- {
9
- "request_id": "3b491ce2-ae5c-4057-93b1-032f40abd68f",
10
- "line_num": 117,
11
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
12
- "line_preview": "2025-09-29 15:50:24,755 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/3b491ce2-ae5c-4057-93b1-032f40abd68f/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
13
- },
14
- {
15
- "request_id": "3b491ce2-ae5c-4057-93b1-032f40abd68f",
16
- "line_num": 121,
17
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
18
- "line_preview": "2025-09-29 15:50:27,078 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/3b491ce2-ae5c-4057-93b1-032f40abd68f/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
19
- },
20
- {
21
- "request_id": "3b491ce2-ae5c-4057-93b1-032f40abd68f",
22
- "line_num": 125,
23
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
24
- "line_preview": "2025-09-29 15:50:29,679 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/3b491ce2-ae5c-4057-93b1-032f40abd68f/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
25
- },
26
- {
27
- "request_id": "3b491ce2-ae5c-4057-93b1-032f40abd68f",
28
- "line_num": 129,
29
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
30
- "line_preview": "2025-09-29 15:50:32,898 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/3b491ce2-ae5c-4057-93b1-032f40abd68f/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
31
- },
32
- {
33
- "request_id": "3b491ce2-ae5c-4057-93b1-032f40abd68f",
34
- "line_num": 133,
35
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
36
- "line_preview": "2025-09-29 15:50:37,180 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/3b491ce2-ae5c-4057-93b1-032f40abd68f/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
37
- },
38
- {
39
- "request_id": "3b491ce2-ae5c-4057-93b1-032f40abd68f",
40
- "line_num": 137,
41
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
42
- "line_preview": "2025-09-29 15:50:42,085 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/3b491ce2-ae5c-4057-93b1-032f40abd68f/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
43
- },
44
- {
45
- "request_id": "3b491ce2-ae5c-4057-93b1-032f40abd68f",
46
- "line_num": 141,
47
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
48
- "line_preview": "2025-09-29 15:50:51,118 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/3b491ce2-ae5c-4057-93b1-032f40abd68f/status?logs=true \"HTTP/1.1 200 OK\"\n"
49
- },
50
- {
51
- "request_id": "3b491ce2-ae5c-4057-93b1-032f40abd68f",
52
- "line_num": 142,
53
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
54
- "line_preview": "2025-09-29 15:50:51,156 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/3b491ce2-ae5c-4057-93b1-032f40abd68f/status?logs=false \"HTTP/1.1 200 OK\"\n"
55
- },
56
- {
57
- "request_id": "3b491ce2-ae5c-4057-93b1-032f40abd68f",
58
- "line_num": 143,
59
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
60
- "line_preview": "2025-09-29 15:50:51,192 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/3b491ce2-ae5c-4057-93b1-032f40abd68f \"HTTP/1.1 200 OK\"\n"
61
- },
62
- {
63
- "request_id": "e3940e23-8183-4d02-91bf-294bb70f131a",
64
- "line_num": 155,
65
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
66
- "line_preview": "2025-09-29 15:51:31,030 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/e3940e23-8183-4d02-91bf-294bb70f131a/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
67
- },
68
- {
69
- "request_id": "e3940e23-8183-4d02-91bf-294bb70f131a",
70
- "line_num": 159,
71
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
72
- "line_preview": "2025-09-29 15:51:32,766 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/e3940e23-8183-4d02-91bf-294bb70f131a/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
73
- },
74
- {
75
- "request_id": "e3940e23-8183-4d02-91bf-294bb70f131a",
76
- "line_num": 163,
77
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
78
- "line_preview": "2025-09-29 15:51:53,711 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/e3940e23-8183-4d02-91bf-294bb70f131a/status?logs=true \"HTTP/1.1 200 OK\"\n"
79
- },
80
- {
81
- "request_id": "e3940e23-8183-4d02-91bf-294bb70f131a",
82
- "line_num": 164,
83
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
84
- "line_preview": "2025-09-29 15:51:53,747 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/e3940e23-8183-4d02-91bf-294bb70f131a/status?logs=false \"HTTP/1.1 200 OK\"\n"
85
- },
86
- {
87
- "request_id": "e3940e23-8183-4d02-91bf-294bb70f131a",
88
- "line_num": 165,
89
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
90
- "line_preview": "2025-09-29 15:51:53,782 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/e3940e23-8183-4d02-91bf-294bb70f131a \"HTTP/1.1 200 OK\"\n"
91
- },
92
- {
93
- "request_id": "1f547c18-8086-459b-83d9-9d9fd6fd205f",
94
- "line_num": 177,
95
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
96
- "line_preview": "2025-09-29 15:52:27,545 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/1f547c18-8086-459b-83d9-9d9fd6fd205f/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
97
- },
98
- {
99
- "request_id": "1f547c18-8086-459b-83d9-9d9fd6fd205f",
100
- "line_num": 181,
101
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
102
- "line_preview": "2025-09-29 15:53:00,966 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/1f547c18-8086-459b-83d9-9d9fd6fd205f/status?logs=true \"HTTP/1.1 200 OK\"\n"
103
- },
104
- {
105
- "request_id": "1f547c18-8086-459b-83d9-9d9fd6fd205f",
106
- "line_num": 182,
107
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
108
- "line_preview": "2025-09-29 15:53:01,008 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/1f547c18-8086-459b-83d9-9d9fd6fd205f/status?logs=false \"HTTP/1.1 200 OK\"\n"
109
- },
110
- {
111
- "request_id": "1f547c18-8086-459b-83d9-9d9fd6fd205f",
112
- "line_num": 183,
113
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
114
- "line_preview": "2025-09-29 15:53:01,044 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/1f547c18-8086-459b-83d9-9d9fd6fd205f \"HTTP/1.1 200 OK\"\n"
115
- },
116
- {
117
- "request_id": "c2e3bd2c-e6bd-4370-b30e-f16e9e062db6",
118
- "line_num": 195,
119
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
120
- "line_preview": "2025-09-29 15:55:52,373 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/c2e3bd2c-e6bd-4370-b30e-f16e9e062db6/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
121
- },
122
- {
123
- "request_id": "c2e3bd2c-e6bd-4370-b30e-f16e9e062db6",
124
- "line_num": 199,
125
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
126
- "line_preview": "2025-09-29 15:55:54,280 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/c2e3bd2c-e6bd-4370-b30e-f16e9e062db6/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
127
- },
128
- {
129
- "request_id": "c2e3bd2c-e6bd-4370-b30e-f16e9e062db6",
130
- "line_num": 203,
131
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
132
- "line_preview": "2025-09-29 15:55:56,479 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/c2e3bd2c-e6bd-4370-b30e-f16e9e062db6/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
133
- },
134
- {
135
- "request_id": "c2e3bd2c-e6bd-4370-b30e-f16e9e062db6",
136
- "line_num": 207,
137
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
138
- "line_preview": "2025-09-29 15:56:27,920 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/c2e3bd2c-e6bd-4370-b30e-f16e9e062db6/status?logs=true \"HTTP/1.1 200 OK\"\n"
139
- },
140
- {
141
- "request_id": "c2e3bd2c-e6bd-4370-b30e-f16e9e062db6",
142
- "line_num": 208,
143
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
144
- "line_preview": "2025-09-29 15:56:27,956 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/c2e3bd2c-e6bd-4370-b30e-f16e9e062db6/status?logs=false \"HTTP/1.1 200 OK\"\n"
145
- },
146
- {
147
- "request_id": "c2e3bd2c-e6bd-4370-b30e-f16e9e062db6",
148
- "line_num": 209,
149
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
150
- "line_preview": "2025-09-29 15:56:27,993 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/c2e3bd2c-e6bd-4370-b30e-f16e9e062db6 \"HTTP/1.1 200 OK\"\n"
151
- },
152
- {
153
- "request_id": "72214082-67f8-4dc5-b2fc-d2f28b190145",
154
- "line_num": 221,
155
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
156
- "line_preview": "2025-09-29 15:57:26,286 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/72214082-67f8-4dc5-b2fc-d2f28b190145/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
157
- },
158
- {
159
- "request_id": "72214082-67f8-4dc5-b2fc-d2f28b190145",
160
- "line_num": 225,
161
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
162
- "line_preview": "2025-09-29 15:57:27,998 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/72214082-67f8-4dc5-b2fc-d2f28b190145/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
163
- },
164
- {
165
- "request_id": "72214082-67f8-4dc5-b2fc-d2f28b190145",
166
- "line_num": 229,
167
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
168
- "line_preview": "2025-09-29 15:57:45,317 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/72214082-67f8-4dc5-b2fc-d2f28b190145/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
169
- },
170
- {
171
- "request_id": "72214082-67f8-4dc5-b2fc-d2f28b190145",
172
- "line_num": 233,
173
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
174
- "line_preview": "2025-09-29 15:57:47,938 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/72214082-67f8-4dc5-b2fc-d2f28b190145/status?logs=true \"HTTP/1.1 200 OK\"\n"
175
- },
176
- {
177
- "request_id": "72214082-67f8-4dc5-b2fc-d2f28b190145",
178
- "line_num": 234,
179
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
180
- "line_preview": "2025-09-29 15:57:47,974 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/72214082-67f8-4dc5-b2fc-d2f28b190145/status?logs=false \"HTTP/1.1 200 OK\"\n"
181
- },
182
- {
183
- "request_id": "72214082-67f8-4dc5-b2fc-d2f28b190145",
184
- "line_num": 235,
185
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
186
- "line_preview": "2025-09-29 15:57:48,009 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/72214082-67f8-4dc5-b2fc-d2f28b190145 \"HTTP/1.1 200 OK\"\n"
187
- },
188
- {
189
- "request_id": "79141a2f-8c45-4ba4-8c8d-9c90bb841bb5",
190
- "line_num": 247,
191
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
192
- "line_preview": "2025-09-29 15:58:30,164 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/79141a2f-8c45-4ba4-8c8d-9c90bb841bb5/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
193
- },
194
- {
195
- "request_id": "79141a2f-8c45-4ba4-8c8d-9c90bb841bb5",
196
- "line_num": 251,
197
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
198
- "line_preview": "2025-09-29 15:59:04,307 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/79141a2f-8c45-4ba4-8c8d-9c90bb841bb5/status?logs=true \"HTTP/1.1 200 OK\"\n"
199
- },
200
- {
201
- "request_id": "79141a2f-8c45-4ba4-8c8d-9c90bb841bb5",
202
- "line_num": 252,
203
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
204
- "line_preview": "2025-09-29 15:59:04,345 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/79141a2f-8c45-4ba4-8c8d-9c90bb841bb5/status?logs=false \"HTTP/1.1 200 OK\"\n"
205
- },
206
- {
207
- "request_id": "79141a2f-8c45-4ba4-8c8d-9c90bb841bb5",
208
- "line_num": 253,
209
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
210
- "line_preview": "2025-09-29 15:59:04,381 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/79141a2f-8c45-4ba4-8c8d-9c90bb841bb5 \"HTTP/1.1 200 OK\"\n"
211
- },
212
- {
213
- "request_id": "7892096b-2e84-4ae5-ac77-642ae0db7a5e",
214
- "line_num": 265,
215
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
216
- "line_preview": "2025-09-29 15:59:37,062 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/7892096b-2e84-4ae5-ac77-642ae0db7a5e/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
217
- },
218
- {
219
- "request_id": "7892096b-2e84-4ae5-ac77-642ae0db7a5e",
220
- "line_num": 269,
221
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
222
- "line_preview": "2025-09-29 16:00:04,727 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/7892096b-2e84-4ae5-ac77-642ae0db7a5e/status?logs=true \"HTTP/1.1 200 OK\"\n"
223
- },
224
- {
225
- "request_id": "7892096b-2e84-4ae5-ac77-642ae0db7a5e",
226
- "line_num": 270,
227
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
228
- "line_preview": "2025-09-29 16:00:04,772 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/7892096b-2e84-4ae5-ac77-642ae0db7a5e/status?logs=false \"HTTP/1.1 200 OK\"\n"
229
- },
230
- {
231
- "request_id": "7892096b-2e84-4ae5-ac77-642ae0db7a5e",
232
- "line_num": 271,
233
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
234
- "line_preview": "2025-09-29 16:00:04,807 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/7892096b-2e84-4ae5-ac77-642ae0db7a5e \"HTTP/1.1 200 OK\"\n"
235
- },
236
- {
237
- "request_id": "1b097199-f2b1-442f-8675-ba60c7143bce",
238
- "line_num": 283,
239
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
240
- "line_preview": "2025-09-29 16:02:08,639 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/1b097199-f2b1-442f-8675-ba60c7143bce/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
241
- },
242
- {
243
- "request_id": "1b097199-f2b1-442f-8675-ba60c7143bce",
244
- "line_num": 287,
245
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
246
- "line_preview": "2025-09-29 16:02:10,349 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/1b097199-f2b1-442f-8675-ba60c7143bce/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
247
- },
248
- {
249
- "request_id": "1b097199-f2b1-442f-8675-ba60c7143bce",
250
- "line_num": 291,
251
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
252
- "line_preview": "2025-09-29 16:02:12,422 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/1b097199-f2b1-442f-8675-ba60c7143bce/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
253
- },
254
- {
255
- "request_id": "1b097199-f2b1-442f-8675-ba60c7143bce",
256
- "line_num": 295,
257
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
258
- "line_preview": "2025-09-29 16:02:15,186 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/1b097199-f2b1-442f-8675-ba60c7143bce/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
259
- },
260
- {
261
- "request_id": "1b097199-f2b1-442f-8675-ba60c7143bce",
262
- "line_num": 299,
263
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
264
- "line_preview": "2025-09-29 16:02:18,726 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/1b097199-f2b1-442f-8675-ba60c7143bce/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
265
- },
266
- {
267
- "request_id": "1b097199-f2b1-442f-8675-ba60c7143bce",
268
- "line_num": 303,
269
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
270
- "line_preview": "2025-09-29 16:02:23,754 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/1b097199-f2b1-442f-8675-ba60c7143bce/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
271
- },
272
- {
273
- "request_id": "1b097199-f2b1-442f-8675-ba60c7143bce",
274
- "line_num": 307,
275
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
276
- "line_preview": "2025-09-29 16:03:26,140 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/1b097199-f2b1-442f-8675-ba60c7143bce/status?logs=true \"HTTP/1.1 200 OK\"\n"
277
- },
278
- {
279
- "request_id": "1b097199-f2b1-442f-8675-ba60c7143bce",
280
- "line_num": 308,
281
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
282
- "line_preview": "2025-09-29 16:03:26,175 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/1b097199-f2b1-442f-8675-ba60c7143bce/status?logs=false \"HTTP/1.1 200 OK\"\n"
283
- },
284
- {
285
- "request_id": "1b097199-f2b1-442f-8675-ba60c7143bce",
286
- "line_num": 309,
287
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
288
- "line_preview": "2025-09-29 16:03:26,209 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/1b097199-f2b1-442f-8675-ba60c7143bce \"HTTP/1.1 200 OK\"\n"
289
- },
290
- {
291
- "request_id": "dd9183de-2f65-41b7-8522-5f758c70abf4",
292
- "line_num": 321,
293
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
294
- "line_preview": "2025-09-29 16:05:16,159 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/dd9183de-2f65-41b7-8522-5f758c70abf4/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
295
- },
296
- {
297
- "request_id": "dd9183de-2f65-41b7-8522-5f758c70abf4",
298
- "line_num": 325,
299
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
300
- "line_preview": "2025-09-29 16:06:23,728 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/dd9183de-2f65-41b7-8522-5f758c70abf4/status?logs=true \"HTTP/1.1 200 OK\"\n"
301
- },
302
- {
303
- "request_id": "dd9183de-2f65-41b7-8522-5f758c70abf4",
304
- "line_num": 326,
305
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
306
- "line_preview": "2025-09-29 16:06:23,764 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/dd9183de-2f65-41b7-8522-5f758c70abf4/status?logs=false \"HTTP/1.1 200 OK\"\n"
307
- },
308
- {
309
- "request_id": "dd9183de-2f65-41b7-8522-5f758c70abf4",
310
- "line_num": 327,
311
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
312
- "line_preview": "2025-09-29 16:06:23,801 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/dd9183de-2f65-41b7-8522-5f758c70abf4 \"HTTP/1.1 200 OK\"\n"
313
- },
314
- {
315
- "request_id": "1159f5f8-3aee-42d2-8d7b-88eb7563c253",
316
- "line_num": 339,
317
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
318
- "line_preview": "2025-09-29 16:07:23,924 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/1159f5f8-3aee-42d2-8d7b-88eb7563c253/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
319
- },
320
- {
321
- "request_id": "1159f5f8-3aee-42d2-8d7b-88eb7563c253",
322
- "line_num": 343,
323
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
324
- "line_preview": "2025-09-29 16:07:56,746 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/1159f5f8-3aee-42d2-8d7b-88eb7563c253/status?logs=true \"HTTP/1.1 200 OK\"\n"
325
- },
326
- {
327
- "request_id": "1159f5f8-3aee-42d2-8d7b-88eb7563c253",
328
- "line_num": 344,
329
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
330
- "line_preview": "2025-09-29 16:07:56,784 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/1159f5f8-3aee-42d2-8d7b-88eb7563c253/status?logs=false \"HTTP/1.1 200 OK\"\n"
331
- },
332
- {
333
- "request_id": "1159f5f8-3aee-42d2-8d7b-88eb7563c253",
334
- "line_num": 345,
335
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
336
- "line_preview": "2025-09-29 16:07:56,821 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/1159f5f8-3aee-42d2-8d7b-88eb7563c253 \"HTTP/1.1 200 OK\"\n"
337
- },
338
- {
339
- "request_id": "146a9508-77a5-47ca-83ac-5a24bd65b977",
340
- "line_num": 357,
341
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
342
- "line_preview": "2025-09-29 16:09:12,746 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/146a9508-77a5-47ca-83ac-5a24bd65b977/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
343
- },
344
- {
345
- "request_id": "146a9508-77a5-47ca-83ac-5a24bd65b977",
346
- "line_num": 361,
347
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
348
- "line_preview": "2025-09-29 16:09:14,332 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/146a9508-77a5-47ca-83ac-5a24bd65b977/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
349
- },
350
- {
351
- "request_id": "146a9508-77a5-47ca-83ac-5a24bd65b977",
352
- "line_num": 365,
353
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
354
- "line_preview": "2025-09-29 16:09:16,328 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/146a9508-77a5-47ca-83ac-5a24bd65b977/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
355
- },
356
- {
357
- "request_id": "146a9508-77a5-47ca-83ac-5a24bd65b977",
358
- "line_num": 369,
359
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
360
- "line_preview": "2025-09-29 16:10:10,345 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/146a9508-77a5-47ca-83ac-5a24bd65b977/status?logs=true \"HTTP/1.1 200 OK\"\n"
361
- },
362
- {
363
- "request_id": "146a9508-77a5-47ca-83ac-5a24bd65b977",
364
- "line_num": 370,
365
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
366
- "line_preview": "2025-09-29 16:10:10,382 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/146a9508-77a5-47ca-83ac-5a24bd65b977/status?logs=false \"HTTP/1.1 200 OK\"\n"
367
- },
368
- {
369
- "request_id": "146a9508-77a5-47ca-83ac-5a24bd65b977",
370
- "line_num": 371,
371
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
372
- "line_preview": "2025-09-29 16:10:10,418 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/146a9508-77a5-47ca-83ac-5a24bd65b977 \"HTTP/1.1 200 OK\"\n"
373
- },
374
- {
375
- "request_id": "ab52e365-76ac-4d37-8c5c-7813c3a4abdb",
376
- "line_num": 383,
377
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
378
- "line_preview": "2025-09-29 16:11:15,342 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/ab52e365-76ac-4d37-8c5c-7813c3a4abdb/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
379
- },
380
- {
381
- "request_id": "ab52e365-76ac-4d37-8c5c-7813c3a4abdb",
382
- "line_num": 387,
383
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
384
- "line_preview": "2025-09-29 16:12:08,727 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/ab52e365-76ac-4d37-8c5c-7813c3a4abdb/status?logs=true \"HTTP/1.1 200 OK\"\n"
385
- },
386
- {
387
- "request_id": "ab52e365-76ac-4d37-8c5c-7813c3a4abdb",
388
- "line_num": 388,
389
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
390
- "line_preview": "2025-09-29 16:12:08,764 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/ab52e365-76ac-4d37-8c5c-7813c3a4abdb/status?logs=false \"HTTP/1.1 200 OK\"\n"
391
- },
392
- {
393
- "request_id": "ab52e365-76ac-4d37-8c5c-7813c3a4abdb",
394
- "line_num": 389,
395
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
396
- "line_preview": "2025-09-29 16:12:08,800 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/ab52e365-76ac-4d37-8c5c-7813c3a4abdb \"HTTP/1.1 200 OK\"\n"
397
- },
398
- {
399
- "request_id": "73076274-cf58-4972-950d-aea4e561fae6",
400
- "line_num": 404,
401
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
402
- "line_preview": "2025-09-29 16:15:00,067 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/73076274-cf58-4972-950d-aea4e561fae6/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
403
- },
404
- {
405
- "request_id": "73076274-cf58-4972-950d-aea4e561fae6",
406
- "line_num": 408,
407
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
408
- "line_preview": "2025-09-29 16:15:01,763 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/73076274-cf58-4972-950d-aea4e561fae6/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
409
- },
410
- {
411
- "request_id": "73076274-cf58-4972-950d-aea4e561fae6",
412
- "line_num": 412,
413
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
414
- "line_preview": "2025-09-29 16:15:03,718 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/73076274-cf58-4972-950d-aea4e561fae6/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
415
- },
416
- {
417
- "request_id": "73076274-cf58-4972-950d-aea4e561fae6",
418
- "line_num": 416,
419
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
420
- "line_preview": "2025-09-29 16:15:06,159 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/73076274-cf58-4972-950d-aea4e561fae6/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
421
- },
422
- {
423
- "request_id": "73076274-cf58-4972-950d-aea4e561fae6",
424
- "line_num": 420,
425
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
426
- "line_preview": "2025-09-29 16:15:09,342 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/73076274-cf58-4972-950d-aea4e561fae6/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
427
- },
428
- {
429
- "request_id": "73076274-cf58-4972-950d-aea4e561fae6",
430
- "line_num": 424,
431
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
432
- "line_preview": "2025-09-29 16:15:13,498 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/73076274-cf58-4972-950d-aea4e561fae6/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
433
- },
434
- {
435
- "request_id": "73076274-cf58-4972-950d-aea4e561fae6",
436
- "line_num": 428,
437
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
438
- "line_preview": "2025-09-29 16:15:28,394 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/73076274-cf58-4972-950d-aea4e561fae6/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
439
- },
440
- {
441
- "request_id": "73076274-cf58-4972-950d-aea4e561fae6",
442
- "line_num": 432,
443
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
444
- "line_preview": "2025-09-29 16:15:37,418 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/73076274-cf58-4972-950d-aea4e561fae6/status?logs=true \"HTTP/1.1 200 OK\"\n"
445
- },
446
- {
447
- "request_id": "73076274-cf58-4972-950d-aea4e561fae6",
448
- "line_num": 433,
449
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
450
- "line_preview": "2025-09-29 16:15:37,454 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/73076274-cf58-4972-950d-aea4e561fae6/status?logs=false \"HTTP/1.1 200 OK\"\n"
451
- },
452
- {
453
- "request_id": "73076274-cf58-4972-950d-aea4e561fae6",
454
- "line_num": 434,
455
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
456
- "line_preview": "2025-09-29 16:15:37,491 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/73076274-cf58-4972-950d-aea4e561fae6 \"HTTP/1.1 200 OK\"\n"
457
- },
458
- {
459
- "request_id": "f4a6549e-9b1e-4342-b1fa-024b63ee912b",
460
- "line_num": 449,
461
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
462
- "line_preview": "2025-09-29 16:16:54,758 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/f4a6549e-9b1e-4342-b1fa-024b63ee912b/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
463
- },
464
- {
465
- "request_id": "f4a6549e-9b1e-4342-b1fa-024b63ee912b",
466
- "line_num": 453,
467
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
468
- "line_preview": "2025-09-29 16:17:30,763 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/f4a6549e-9b1e-4342-b1fa-024b63ee912b/status?logs=true \"HTTP/1.1 200 OK\"\n"
469
- },
470
- {
471
- "request_id": "f4a6549e-9b1e-4342-b1fa-024b63ee912b",
472
- "line_num": 454,
473
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
474
- "line_preview": "2025-09-29 16:17:30,800 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/f4a6549e-9b1e-4342-b1fa-024b63ee912b/status?logs=false \"HTTP/1.1 200 OK\"\n"
475
- },
476
- {
477
- "request_id": "f4a6549e-9b1e-4342-b1fa-024b63ee912b",
478
- "line_num": 455,
479
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
480
- "line_preview": "2025-09-29 16:17:30,842 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/f4a6549e-9b1e-4342-b1fa-024b63ee912b \"HTTP/1.1 200 OK\"\n"
481
- },
482
- {
483
- "request_id": "3e0892e0-00f4-45ba-aa45-bb057cd309df",
484
- "line_num": 470,
485
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
486
- "line_preview": "2025-09-29 16:29:53,327 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/3e0892e0-00f4-45ba-aa45-bb057cd309df/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
487
- },
488
- {
489
- "request_id": "3e0892e0-00f4-45ba-aa45-bb057cd309df",
490
- "line_num": 474,
491
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
492
- "line_preview": "2025-09-29 16:29:54,988 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/3e0892e0-00f4-45ba-aa45-bb057cd309df/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
493
- },
494
- {
495
- "request_id": "3e0892e0-00f4-45ba-aa45-bb057cd309df",
496
- "line_num": 478,
497
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
498
- "line_preview": "2025-09-29 16:29:57,067 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/3e0892e0-00f4-45ba-aa45-bb057cd309df/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
499
- },
500
- {
501
- "request_id": "3e0892e0-00f4-45ba-aa45-bb057cd309df",
502
- "line_num": 482,
503
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
504
- "line_preview": "2025-09-29 16:31:16,143 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/3e0892e0-00f4-45ba-aa45-bb057cd309df/status?logs=true \"HTTP/1.1 200 OK\"\n"
505
- },
506
- {
507
- "request_id": "3e0892e0-00f4-45ba-aa45-bb057cd309df",
508
- "line_num": 483,
509
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
510
- "line_preview": "2025-09-29 16:31:16,181 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/3e0892e0-00f4-45ba-aa45-bb057cd309df/status?logs=false \"HTTP/1.1 200 OK\"\n"
511
- },
512
- {
513
- "request_id": "3e0892e0-00f4-45ba-aa45-bb057cd309df",
514
- "line_num": 484,
515
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
516
- "line_preview": "2025-09-29 16:31:16,214 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/3e0892e0-00f4-45ba-aa45-bb057cd309df \"HTTP/1.1 200 OK\"\n"
517
- },
518
- {
519
- "request_id": "ce0d8a76-a922-4452-a17b-10851d5bc5ba",
520
- "line_num": 499,
521
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
522
- "line_preview": "2025-09-29 16:31:48,727 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/ce0d8a76-a922-4452-a17b-10851d5bc5ba/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
523
- },
524
- {
525
- "request_id": "ce0d8a76-a922-4452-a17b-10851d5bc5ba",
526
- "line_num": 503,
527
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
528
- "line_preview": "2025-09-29 16:31:50,324 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/ce0d8a76-a922-4452-a17b-10851d5bc5ba/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
529
- },
530
- {
531
- "request_id": "ce0d8a76-a922-4452-a17b-10851d5bc5ba",
532
- "line_num": 507,
533
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
534
- "line_preview": "2025-09-29 16:31:52,428 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/ce0d8a76-a922-4452-a17b-10851d5bc5ba/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
535
- },
536
- {
537
- "request_id": "ce0d8a76-a922-4452-a17b-10851d5bc5ba",
538
- "line_num": 511,
539
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
540
- "line_preview": "2025-09-29 16:32:06,621 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/ce0d8a76-a922-4452-a17b-10851d5bc5ba/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
541
- },
542
- {
543
- "request_id": "ce0d8a76-a922-4452-a17b-10851d5bc5ba",
544
- "line_num": 515,
545
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
546
- "line_preview": "2025-09-29 16:32:44,798 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/ce0d8a76-a922-4452-a17b-10851d5bc5ba/status?logs=true \"HTTP/1.1 200 OK\"\n"
547
- },
548
- {
549
- "request_id": "ce0d8a76-a922-4452-a17b-10851d5bc5ba",
550
- "line_num": 516,
551
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
552
- "line_preview": "2025-09-29 16:32:44,834 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/ce0d8a76-a922-4452-a17b-10851d5bc5ba/status?logs=false \"HTTP/1.1 200 OK\"\n"
553
- },
554
- {
555
- "request_id": "ce0d8a76-a922-4452-a17b-10851d5bc5ba",
556
- "line_num": 517,
557
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
558
- "line_preview": "2025-09-29 16:32:44,867 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/ce0d8a76-a922-4452-a17b-10851d5bc5ba \"HTTP/1.1 200 OK\"\n"
559
- },
560
- {
561
- "request_id": "7c985ffd-28ff-465a-aacd-4acfd9ed9488",
562
- "line_num": 532,
563
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
564
- "line_preview": "2025-09-29 16:34:34,370 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/7c985ffd-28ff-465a-aacd-4acfd9ed9488/status?logs=true \"HTTP/1.1 200 OK\"\n"
565
- },
566
- {
567
- "request_id": "7c985ffd-28ff-465a-aacd-4acfd9ed9488",
568
- "line_num": 533,
569
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
570
- "line_preview": "2025-09-29 16:34:34,410 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/7c985ffd-28ff-465a-aacd-4acfd9ed9488/status?logs=false \"HTTP/1.1 200 OK\"\n"
571
- },
572
- {
573
- "request_id": "7c985ffd-28ff-465a-aacd-4acfd9ed9488",
574
- "line_num": 534,
575
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
576
- "line_preview": "2025-09-29 16:34:34,448 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/7c985ffd-28ff-465a-aacd-4acfd9ed9488 \"HTTP/1.1 200 OK\"\n"
577
- },
578
- {
579
- "request_id": "d8fe4289-a26b-4710-9d75-120a010e07ca",
580
- "line_num": 546,
581
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
582
- "line_preview": "2025-09-29 16:35:01,852 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/d8fe4289-a26b-4710-9d75-120a010e07ca/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
583
- },
584
- {
585
- "request_id": "d8fe4289-a26b-4710-9d75-120a010e07ca",
586
- "line_num": 550,
587
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
588
- "line_preview": "2025-09-29 16:36:36,990 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/d8fe4289-a26b-4710-9d75-120a010e07ca/status?logs=true \"HTTP/1.1 200 OK\"\n"
589
- },
590
- {
591
- "request_id": "d8fe4289-a26b-4710-9d75-120a010e07ca",
592
- "line_num": 551,
593
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
594
- "line_preview": "2025-09-29 16:36:37,026 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/d8fe4289-a26b-4710-9d75-120a010e07ca/status?logs=false \"HTTP/1.1 200 OK\"\n"
595
- },
596
- {
597
- "request_id": "d8fe4289-a26b-4710-9d75-120a010e07ca",
598
- "line_num": 552,
599
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
600
- "line_preview": "2025-09-29 16:36:37,061 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/d8fe4289-a26b-4710-9d75-120a010e07ca \"HTTP/1.1 200 OK\"\n"
601
- },
602
- {
603
- "request_id": "678c9c56-3634-4f69-865a-0ad107c1749b",
604
- "line_num": 570,
605
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
606
- "line_preview": "2025-09-29 16:40:50,127 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/678c9c56-3634-4f69-865a-0ad107c1749b/status?logs=true \"HTTP/1.1 200 OK\"\n"
607
- },
608
- {
609
- "request_id": "678c9c56-3634-4f69-865a-0ad107c1749b",
610
- "line_num": 571,
611
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
612
- "line_preview": "2025-09-29 16:40:50,165 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/678c9c56-3634-4f69-865a-0ad107c1749b/status?logs=false \"HTTP/1.1 200 OK\"\n"
613
- },
614
- {
615
- "request_id": "678c9c56-3634-4f69-865a-0ad107c1749b",
616
- "line_num": 572,
617
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
618
- "line_preview": "2025-09-29 16:40:50,201 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/678c9c56-3634-4f69-865a-0ad107c1749b \"HTTP/1.1 200 OK\"\n"
619
- },
620
- {
621
- "request_id": "aed651a8-1f6c-459d-9c48-4f668a20676e",
622
- "line_num": 584,
623
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
624
- "line_preview": "2025-09-29 16:41:40,070 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/aed651a8-1f6c-459d-9c48-4f668a20676e/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
625
- },
626
- {
627
- "request_id": "aed651a8-1f6c-459d-9c48-4f668a20676e",
628
- "line_num": 588,
629
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
630
- "line_preview": "2025-09-29 16:41:41,769 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/aed651a8-1f6c-459d-9c48-4f668a20676e/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
631
- },
632
- {
633
- "request_id": "aed651a8-1f6c-459d-9c48-4f668a20676e",
634
- "line_num": 592,
635
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
636
- "line_preview": "2025-09-29 16:44:27,010 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/aed651a8-1f6c-459d-9c48-4f668a20676e/status?logs=true \"HTTP/1.1 200 OK\"\n"
637
- },
638
- {
639
- "request_id": "aed651a8-1f6c-459d-9c48-4f668a20676e",
640
- "line_num": 593,
641
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
642
- "line_preview": "2025-09-29 16:44:27,046 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/aed651a8-1f6c-459d-9c48-4f668a20676e/status?logs=false \"HTTP/1.1 200 OK\"\n"
643
- },
644
- {
645
- "request_id": "aed651a8-1f6c-459d-9c48-4f668a20676e",
646
- "line_num": 594,
647
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
648
- "line_preview": "2025-09-29 16:44:27,082 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/aed651a8-1f6c-459d-9c48-4f668a20676e \"HTTP/1.1 200 OK\"\n"
649
- },
650
- {
651
- "request_id": "6e8c3ee1-b779-4fb2-b3e0-43f4d74f6944",
652
- "line_num": 606,
653
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
654
- "line_preview": "2025-09-29 16:44:59,500 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/6e8c3ee1-b779-4fb2-b3e0-43f4d74f6944/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
655
- },
656
- {
657
- "request_id": "6e8c3ee1-b779-4fb2-b3e0-43f4d74f6944",
658
- "line_num": 610,
659
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
660
- "line_preview": "2025-09-29 16:45:01,240 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/6e8c3ee1-b779-4fb2-b3e0-43f4d74f6944/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
661
- },
662
- {
663
- "request_id": "6e8c3ee1-b779-4fb2-b3e0-43f4d74f6944",
664
- "line_num": 614,
665
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
666
- "line_preview": "2025-09-29 16:45:03,211 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/6e8c3ee1-b779-4fb2-b3e0-43f4d74f6944/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
667
- },
668
- {
669
- "request_id": "6e8c3ee1-b779-4fb2-b3e0-43f4d74f6944",
670
- "line_num": 618,
671
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
672
- "line_preview": "2025-09-29 16:45:05,682 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/6e8c3ee1-b779-4fb2-b3e0-43f4d74f6944/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
673
- },
674
- {
675
- "request_id": "6e8c3ee1-b779-4fb2-b3e0-43f4d74f6944",
676
- "line_num": 622,
677
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
678
- "line_preview": "2025-09-29 16:45:08,840 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/6e8c3ee1-b779-4fb2-b3e0-43f4d74f6944/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
679
- },
680
- {
681
- "request_id": "6e8c3ee1-b779-4fb2-b3e0-43f4d74f6944",
682
- "line_num": 626,
683
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
684
- "line_preview": "2025-09-29 16:45:13,061 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/6e8c3ee1-b779-4fb2-b3e0-43f4d74f6944/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
685
- },
686
- {
687
- "request_id": "6e8c3ee1-b779-4fb2-b3e0-43f4d74f6944",
688
- "line_num": 630,
689
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
690
- "line_preview": "2025-09-29 16:47:10,868 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/6e8c3ee1-b779-4fb2-b3e0-43f4d74f6944/status?logs=true \"HTTP/1.1 200 OK\"\n"
691
- },
692
- {
693
- "request_id": "6e8c3ee1-b779-4fb2-b3e0-43f4d74f6944",
694
- "line_num": 631,
695
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
696
- "line_preview": "2025-09-29 16:47:10,906 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/6e8c3ee1-b779-4fb2-b3e0-43f4d74f6944/status?logs=false \"HTTP/1.1 200 OK\"\n"
697
- },
698
- {
699
- "request_id": "6e8c3ee1-b779-4fb2-b3e0-43f4d74f6944",
700
- "line_num": 632,
701
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
702
- "line_preview": "2025-09-29 16:47:10,942 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/6e8c3ee1-b779-4fb2-b3e0-43f4d74f6944 \"HTTP/1.1 200 OK\"\n"
703
- },
704
- {
705
- "request_id": "21cb18f7-df12-4611-a28e-24311ddd0cc3",
706
- "line_num": 644,
707
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
708
- "line_preview": "2025-09-29 16:50:48,511 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/21cb18f7-df12-4611-a28e-24311ddd0cc3/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
709
- },
710
- {
711
- "request_id": "21cb18f7-df12-4611-a28e-24311ddd0cc3",
712
- "line_num": 648,
713
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
714
- "line_preview": "2025-09-29 16:50:50,224 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/21cb18f7-df12-4611-a28e-24311ddd0cc3/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
715
- },
716
- {
717
- "request_id": "21cb18f7-df12-4611-a28e-24311ddd0cc3",
718
- "line_num": 652,
719
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
720
- "line_preview": "2025-09-29 16:50:52,344 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/21cb18f7-df12-4611-a28e-24311ddd0cc3/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
721
- },
722
- {
723
- "request_id": "21cb18f7-df12-4611-a28e-24311ddd0cc3",
724
- "line_num": 656,
725
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
726
- "line_preview": "2025-09-29 16:50:54,981 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/21cb18f7-df12-4611-a28e-24311ddd0cc3/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
727
- },
728
- {
729
- "request_id": "21cb18f7-df12-4611-a28e-24311ddd0cc3",
730
- "line_num": 660,
731
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
732
- "line_preview": "2025-09-29 16:50:58,234 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/21cb18f7-df12-4611-a28e-24311ddd0cc3/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
733
- },
734
- {
735
- "request_id": "21cb18f7-df12-4611-a28e-24311ddd0cc3",
736
- "line_num": 664,
737
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
738
- "line_preview": "2025-09-29 16:51:02,332 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/21cb18f7-df12-4611-a28e-24311ddd0cc3/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
739
- },
740
- {
741
- "request_id": "21cb18f7-df12-4611-a28e-24311ddd0cc3",
742
- "line_num": 668,
743
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
744
- "line_preview": "2025-09-29 16:51:06,967 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/21cb18f7-df12-4611-a28e-24311ddd0cc3/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
745
- },
746
- {
747
- "request_id": "21cb18f7-df12-4611-a28e-24311ddd0cc3",
748
- "line_num": 672,
749
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
750
- "line_preview": "2025-09-29 16:51:11,563 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/21cb18f7-df12-4611-a28e-24311ddd0cc3/status?logs=true \"HTTP/1.1 200 OK\"\n"
751
- },
752
- {
753
- "request_id": "21cb18f7-df12-4611-a28e-24311ddd0cc3",
754
- "line_num": 673,
755
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
756
- "line_preview": "2025-09-29 16:51:11,599 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/21cb18f7-df12-4611-a28e-24311ddd0cc3/status?logs=false \"HTTP/1.1 200 OK\"\n"
757
- },
758
- {
759
- "request_id": "21cb18f7-df12-4611-a28e-24311ddd0cc3",
760
- "line_num": 674,
761
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
762
- "line_preview": "2025-09-29 16:51:11,632 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/21cb18f7-df12-4611-a28e-24311ddd0cc3 \"HTTP/1.1 200 OK\"\n"
763
- },
764
- {
765
- "request_id": "7c501d58-8208-40f5-9404-75abf1e5fa28",
766
- "line_num": 686,
767
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
768
- "line_preview": "2025-09-29 16:51:39,131 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/7c501d58-8208-40f5-9404-75abf1e5fa28/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
769
- },
770
- {
771
- "request_id": "7c501d58-8208-40f5-9404-75abf1e5fa28",
772
- "line_num": 690,
773
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
774
- "line_preview": "2025-09-29 16:51:40,812 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/7c501d58-8208-40f5-9404-75abf1e5fa28/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
775
- },
776
- {
777
- "request_id": "7c501d58-8208-40f5-9404-75abf1e5fa28",
778
- "line_num": 694,
779
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
780
- "line_preview": "2025-09-29 16:51:42,782 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/7c501d58-8208-40f5-9404-75abf1e5fa28/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
781
- },
782
- {
783
- "request_id": "7c501d58-8208-40f5-9404-75abf1e5fa28",
784
- "line_num": 698,
785
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
786
- "line_preview": "2025-09-29 16:51:45,370 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/7c501d58-8208-40f5-9404-75abf1e5fa28/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
787
- },
788
- {
789
- "request_id": "7c501d58-8208-40f5-9404-75abf1e5fa28",
790
- "line_num": 702,
791
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
792
- "line_preview": "2025-09-29 16:51:48,649 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/7c501d58-8208-40f5-9404-75abf1e5fa28/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
793
- },
794
- {
795
- "request_id": "7c501d58-8208-40f5-9404-75abf1e5fa28",
796
- "line_num": 706,
797
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
798
- "line_preview": "2025-09-29 16:51:52,942 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/7c501d58-8208-40f5-9404-75abf1e5fa28/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
799
- },
800
- {
801
- "request_id": "7c501d58-8208-40f5-9404-75abf1e5fa28",
802
- "line_num": 710,
803
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
804
- "line_preview": "2025-09-29 16:51:57,419 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/7c501d58-8208-40f5-9404-75abf1e5fa28/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
805
- },
806
- {
807
- "request_id": "7c501d58-8208-40f5-9404-75abf1e5fa28",
808
- "line_num": 714,
809
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
810
- "line_preview": "2025-09-29 16:52:02,158 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/7c501d58-8208-40f5-9404-75abf1e5fa28/status?logs=true \"HTTP/1.1 200 OK\"\n"
811
- },
812
- {
813
- "request_id": "7c501d58-8208-40f5-9404-75abf1e5fa28",
814
- "line_num": 715,
815
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
816
- "line_preview": "2025-09-29 16:52:02,193 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/7c501d58-8208-40f5-9404-75abf1e5fa28/status?logs=false \"HTTP/1.1 200 OK\"\n"
817
- },
818
- {
819
- "request_id": "7c501d58-8208-40f5-9404-75abf1e5fa28",
820
- "line_num": 716,
821
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
822
- "line_preview": "2025-09-29 16:52:02,228 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/7c501d58-8208-40f5-9404-75abf1e5fa28 \"HTTP/1.1 200 OK\"\n"
823
- },
824
- {
825
- "request_id": "6612d36e-e208-4883-ae64-d84ed64d35c5",
826
- "line_num": 728,
827
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
828
- "line_preview": "2025-09-29 16:52:16,898 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/6612d36e-e208-4883-ae64-d84ed64d35c5/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
829
- },
830
- {
831
- "request_id": "6612d36e-e208-4883-ae64-d84ed64d35c5",
832
- "line_num": 732,
833
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
834
- "line_preview": "2025-09-29 16:52:18,585 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/6612d36e-e208-4883-ae64-d84ed64d35c5/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
835
- },
836
- {
837
- "request_id": "6612d36e-e208-4883-ae64-d84ed64d35c5",
838
- "line_num": 736,
839
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
840
- "line_preview": "2025-09-29 16:52:20,554 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/6612d36e-e208-4883-ae64-d84ed64d35c5/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
841
- },
842
- {
843
- "request_id": "6612d36e-e208-4883-ae64-d84ed64d35c5",
844
- "line_num": 740,
845
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
846
- "line_preview": "2025-09-29 16:52:23,021 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/6612d36e-e208-4883-ae64-d84ed64d35c5/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
847
- },
848
- {
849
- "request_id": "6612d36e-e208-4883-ae64-d84ed64d35c5",
850
- "line_num": 744,
851
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
852
- "line_preview": "2025-09-29 16:52:26,406 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/6612d36e-e208-4883-ae64-d84ed64d35c5/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
853
- },
854
- {
855
- "request_id": "6612d36e-e208-4883-ae64-d84ed64d35c5",
856
- "line_num": 748,
857
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
858
- "line_preview": "2025-09-29 16:52:30,647 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/6612d36e-e208-4883-ae64-d84ed64d35c5/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
859
- },
860
- {
861
- "request_id": "6612d36e-e208-4883-ae64-d84ed64d35c5",
862
- "line_num": 752,
863
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
864
- "line_preview": "2025-09-29 16:52:35,406 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/6612d36e-e208-4883-ae64-d84ed64d35c5/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
865
- },
866
- {
867
- "request_id": "6612d36e-e208-4883-ae64-d84ed64d35c5",
868
- "line_num": 756,
869
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
870
- "line_preview": "2025-09-29 16:52:42,336 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/6612d36e-e208-4883-ae64-d84ed64d35c5/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
871
- },
872
- {
873
- "request_id": "6612d36e-e208-4883-ae64-d84ed64d35c5",
874
- "line_num": 760,
875
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
876
- "line_preview": "2025-09-29 16:54:24,202 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/6612d36e-e208-4883-ae64-d84ed64d35c5/status?logs=true \"HTTP/1.1 200 OK\"\n"
877
- },
878
- {
879
- "request_id": "6612d36e-e208-4883-ae64-d84ed64d35c5",
880
- "line_num": 761,
881
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
882
- "line_preview": "2025-09-29 16:54:24,238 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/6612d36e-e208-4883-ae64-d84ed64d35c5/status?logs=false \"HTTP/1.1 200 OK\"\n"
883
- },
884
- {
885
- "request_id": "6612d36e-e208-4883-ae64-d84ed64d35c5",
886
- "line_num": 762,
887
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
888
- "line_preview": "2025-09-29 16:54:24,272 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/6612d36e-e208-4883-ae64-d84ed64d35c5 \"HTTP/1.1 200 OK\"\n"
889
- },
890
- {
891
- "request_id": "5c13351e-4e26-497c-956c-b6a113feed7c",
892
- "line_num": 774,
893
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
894
- "line_preview": "2025-09-29 16:55:42,527 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/5c13351e-4e26-497c-956c-b6a113feed7c/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
895
- },
896
- {
897
- "request_id": "5c13351e-4e26-497c-956c-b6a113feed7c",
898
- "line_num": 778,
899
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
900
- "line_preview": "2025-09-29 16:56:46,753 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/5c13351e-4e26-497c-956c-b6a113feed7c/status?logs=true \"HTTP/1.1 200 OK\"\n"
901
- },
902
- {
903
- "request_id": "5c13351e-4e26-497c-956c-b6a113feed7c",
904
- "line_num": 779,
905
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
906
- "line_preview": "2025-09-29 16:56:46,788 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/5c13351e-4e26-497c-956c-b6a113feed7c/status?logs=false \"HTTP/1.1 200 OK\"\n"
907
- },
908
- {
909
- "request_id": "5c13351e-4e26-497c-956c-b6a113feed7c",
910
- "line_num": 780,
911
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
912
- "line_preview": "2025-09-29 16:56:46,823 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/5c13351e-4e26-497c-956c-b6a113feed7c \"HTTP/1.1 200 OK\"\n"
913
- },
914
- {
915
- "request_id": "f429cdb5-efd5-4f5c-9a3c-076bdf22bf79",
916
- "line_num": 792,
917
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
918
- "line_preview": "2025-09-29 16:57:44,800 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/f429cdb5-efd5-4f5c-9a3c-076bdf22bf79/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
919
- },
920
- {
921
- "request_id": "f429cdb5-efd5-4f5c-9a3c-076bdf22bf79",
922
- "line_num": 796,
923
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
924
- "line_preview": "2025-09-29 16:58:49,344 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/f429cdb5-efd5-4f5c-9a3c-076bdf22bf79/status?logs=true \"HTTP/1.1 200 OK\"\n"
925
- },
926
- {
927
- "request_id": "f429cdb5-efd5-4f5c-9a3c-076bdf22bf79",
928
- "line_num": 797,
929
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
930
- "line_preview": "2025-09-29 16:58:49,387 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/f429cdb5-efd5-4f5c-9a3c-076bdf22bf79/status?logs=false \"HTTP/1.1 200 OK\"\n"
931
- },
932
- {
933
- "request_id": "f429cdb5-efd5-4f5c-9a3c-076bdf22bf79",
934
- "line_num": 798,
935
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
936
- "line_preview": "2025-09-29 16:58:49,423 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/f429cdb5-efd5-4f5c-9a3c-076bdf22bf79 \"HTTP/1.1 200 OK\"\n"
937
- },
938
- {
939
- "request_id": "6c308dff-5dd1-436f-91c1-80699705627c",
940
- "line_num": 810,
941
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
942
- "line_preview": "2025-09-29 17:00:31,396 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/6c308dff-5dd1-436f-91c1-80699705627c/status?logs=true \"HTTP/1.1 200 OK\"\n"
943
- },
944
- {
945
- "request_id": "6c308dff-5dd1-436f-91c1-80699705627c",
946
- "line_num": 811,
947
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
948
- "line_preview": "2025-09-29 17:00:31,433 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/6c308dff-5dd1-436f-91c1-80699705627c/status?logs=false \"HTTP/1.1 200 OK\"\n"
949
- },
950
- {
951
- "request_id": "6c308dff-5dd1-436f-91c1-80699705627c",
952
- "line_num": 812,
953
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
954
- "line_preview": "2025-09-29 17:00:31,469 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/6c308dff-5dd1-436f-91c1-80699705627c \"HTTP/1.1 200 OK\"\n"
955
- },
956
- {
957
- "request_id": "12bf8e97-de7a-420b-9db4-ce6c31b4cc9d",
958
- "line_num": 824,
959
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
960
- "line_preview": "2025-09-29 17:00:51,525 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/12bf8e97-de7a-420b-9db4-ce6c31b4cc9d/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
961
- },
962
- {
963
- "request_id": "12bf8e97-de7a-420b-9db4-ce6c31b4cc9d",
964
- "line_num": 828,
965
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
966
- "line_preview": "2025-09-29 17:02:59,286 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/12bf8e97-de7a-420b-9db4-ce6c31b4cc9d/status?logs=true \"HTTP/1.1 200 OK\"\n"
967
- },
968
- {
969
- "request_id": "12bf8e97-de7a-420b-9db4-ce6c31b4cc9d",
970
- "line_num": 829,
971
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
972
- "line_preview": "2025-09-29 17:02:59,323 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/12bf8e97-de7a-420b-9db4-ce6c31b4cc9d/status?logs=false \"HTTP/1.1 200 OK\"\n"
973
- },
974
- {
975
- "request_id": "12bf8e97-de7a-420b-9db4-ce6c31b4cc9d",
976
- "line_num": 830,
977
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
978
- "line_preview": "2025-09-29 17:02:59,360 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/12bf8e97-de7a-420b-9db4-ce6c31b4cc9d \"HTTP/1.1 200 OK\"\n"
979
- },
980
- {
981
- "request_id": "496ff93e-1f07-46dc-a28e-e27574fb9071",
982
- "line_num": 842,
983
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
984
- "line_preview": "2025-09-29 17:06:52,518 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/496ff93e-1f07-46dc-a28e-e27574fb9071/status?logs=true \"HTTP/1.1 200 OK\"\n"
985
- },
986
- {
987
- "request_id": "496ff93e-1f07-46dc-a28e-e27574fb9071",
988
- "line_num": 843,
989
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
990
- "line_preview": "2025-09-29 17:06:52,560 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/496ff93e-1f07-46dc-a28e-e27574fb9071/status?logs=false \"HTTP/1.1 200 OK\"\n"
991
- },
992
- {
993
- "request_id": "496ff93e-1f07-46dc-a28e-e27574fb9071",
994
- "line_num": 844,
995
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
996
- "line_preview": "2025-09-29 17:06:52,595 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/496ff93e-1f07-46dc-a28e-e27574fb9071 \"HTTP/1.1 200 OK\"\n"
997
- },
998
- {
999
- "request_id": "2d05b2e4-5247-4ff7-b230-3c213d887a4b",
1000
- "line_num": 862,
1001
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
1002
- "line_preview": "2025-09-29 17:10:10,945 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/2d05b2e4-5247-4ff7-b230-3c213d887a4b/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
1003
- },
1004
- {
1005
- "request_id": "2d05b2e4-5247-4ff7-b230-3c213d887a4b",
1006
- "line_num": 866,
1007
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
1008
- "line_preview": "2025-09-29 17:10:12,666 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/2d05b2e4-5247-4ff7-b230-3c213d887a4b/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
1009
- },
1010
- {
1011
- "request_id": "2d05b2e4-5247-4ff7-b230-3c213d887a4b",
1012
- "line_num": 870,
1013
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
1014
- "line_preview": "2025-09-29 17:11:42,648 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/2d05b2e4-5247-4ff7-b230-3c213d887a4b/status?logs=true \"HTTP/1.1 200 OK\"\n"
1015
- },
1016
- {
1017
- "request_id": "2d05b2e4-5247-4ff7-b230-3c213d887a4b",
1018
- "line_num": 871,
1019
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
1020
- "line_preview": "2025-09-29 17:11:42,686 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/2d05b2e4-5247-4ff7-b230-3c213d887a4b/status?logs=false \"HTTP/1.1 200 OK\"\n"
1021
- },
1022
- {
1023
- "request_id": "2d05b2e4-5247-4ff7-b230-3c213d887a4b",
1024
- "line_num": 872,
1025
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
1026
- "line_preview": "2025-09-29 17:11:42,726 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/2d05b2e4-5247-4ff7-b230-3c213d887a4b \"HTTP/1.1 200 OK\"\n"
1027
- },
1028
- {
1029
- "request_id": "3718fbc1-9b75-451a-b54f-be6ca11a4c83",
1030
- "line_num": 884,
1031
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
1032
- "line_preview": "2025-09-29 17:12:24,223 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/3718fbc1-9b75-451a-b54f-be6ca11a4c83/status?logs=true \"HTTP/1.1 202 Accepted\"\n"
1033
- },
1034
- {
1035
- "request_id": "3718fbc1-9b75-451a-b54f-be6ca11a4c83",
1036
- "line_num": 888,
1037
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
1038
- "line_preview": "2025-09-29 17:13:30,560 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/3718fbc1-9b75-451a-b54f-be6ca11a4c83/status?logs=true \"HTTP/1.1 403 Forbidden\"\n"
1039
- },
1040
- {
1041
- "request_id": "3718fbc1-9b75-451a-b54f-be6ca11a4c83",
1042
- "line_num": 892,
1043
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
1044
- "line_preview": "2025-09-29 17:13:32,703 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/3718fbc1-9b75-451a-b54f-be6ca11a4c83/status?logs=true \"HTTP/1.1 403 Forbidden\"\n"
1045
- },
1046
- {
1047
- "request_id": "3718fbc1-9b75-451a-b54f-be6ca11a4c83",
1048
- "line_num": 896,
1049
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
1050
- "line_preview": "2025-09-29 17:13:35,761 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/3718fbc1-9b75-451a-b54f-be6ca11a4c83/status?logs=true \"HTTP/1.1 403 Forbidden\"\n"
1051
- },
1052
- {
1053
- "request_id": "3718fbc1-9b75-451a-b54f-be6ca11a4c83",
1054
- "line_num": 900,
1055
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
1056
- "line_preview": "2025-09-29 17:13:40,261 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/3718fbc1-9b75-451a-b54f-be6ca11a4c83/status?logs=true \"HTTP/1.1 403 Forbidden\"\n"
1057
- },
1058
- {
1059
- "request_id": "3718fbc1-9b75-451a-b54f-be6ca11a4c83",
1060
- "line_num": 904,
1061
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
1062
- "line_preview": "2025-09-29 17:13:45,013 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/3718fbc1-9b75-451a-b54f-be6ca11a4c83/status?logs=true \"HTTP/1.1 403 Forbidden\"\n"
1063
- },
1064
- {
1065
- "request_id": "3718fbc1-9b75-451a-b54f-be6ca11a4c83",
1066
- "line_num": 908,
1067
- "pattern": "/requests/([A-Za-z0-9\\-_]+)",
1068
- "line_preview": "2025-09-29 17:13:49,760 - httpx - INFO - HTTP Request: GET https://queue.fal.run/fal-ai/bytedance/requests/3718fbc1-9b75-451a-b54f-be6ca11a4c83/status?logs=true \"HTTP/1.1 403 Forbidden\"\n"
1069
- }
1070
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
seedream_codebase_20250929_162344.txt DELETED
The diff for this file is too large to render. See raw diff
 
seedream_codebase_20250929_162412.txt DELETED
The diff for this file is too large to render. See raw diff