modelflaredev commited on
Commit
d634c97
·
verified ·
1 Parent(s): fc6b4fd

Upload 2 files

Browse files
Files changed (2) hide show
  1. README.md +1 -0
  2. index.html +42 -167
README.md CHANGED
@@ -17,5 +17,6 @@ Copy-paste recipes for Chat Completions, streaming, models list, Responses, Anth
17
  - Endpoints guide: https://docs.modelflare.dev/guides/endpoints/?utm_source=huggingface&utm_medium=space&utm_campaign=api_recipes
18
  - Coding agents: https://huggingface.co/spaces/Modelflare/coding-agents
19
  - OpenAI SDK: https://huggingface.co/spaces/Modelflare/openai-sdk
 
20
 
21
  Model ids must be enabled on your key’s group. Live catalog: console.
 
17
  - Endpoints guide: https://docs.modelflare.dev/guides/endpoints/?utm_source=huggingface&utm_medium=space&utm_campaign=api_recipes
18
  - Coding agents: https://huggingface.co/spaces/Modelflare/coding-agents
19
  - OpenAI SDK: https://huggingface.co/spaces/Modelflare/openai-sdk
20
+ - Blog: https://huggingface.co/spaces/Modelflare/blog
21
 
22
  Model ids must be enabled on your key’s group. Live catalog: console.
index.html CHANGED
@@ -1,5 +1,5 @@
1
  <!DOCTYPE html>
2
- <html lang="zh-CN">
3
  <head>
4
  <meta charset="UTF-8" />
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
@@ -54,129 +54,9 @@
54
  </head>
55
  <body>
56
  <div class="wrap">
57
- <div class="lang">
58
- <button type="button" class="on" data-lang="zh">中文</button>
59
- <button type="button" data-lang="en">English</button>
60
- </div>
61
 
62
- <section id="zh">
63
- <div class="badge">📋 API Recipes</div>
64
- <h1>Modelflare API 配方(可复制)</h1>
65
- <p class="lead">Chat / 流式 / 列模型 / Responses / Anthropic / 图片 / 视频。鉴权统一:<code>Authorization: Bearer YOUR_MODELFLARE_API_KEY</code>。字段因模型而异时,请跳转文档站完整页。</p>
66
- <div class="cta">
67
- <a class="btn primary" href="https://modelflare.dev/?utm_source=huggingface&utm_medium=space&utm_campaign=api_recipes" target="_blank" rel="noopener">打开控制台 →</a>
68
- <a class="btn ghost" href="https://docs.modelflare.dev/guides/endpoints/?utm_source=huggingface&utm_medium=space&utm_campaign=api_recipes" target="_blank" rel="noopener">端点选择</a>
69
- <a class="btn ghost" href="https://huggingface.co/spaces/Modelflare/coding-agents" target="_blank" rel="noopener">Coding Agents</a>
70
- <a class="btn ghost" href="https://huggingface.co/spaces/Modelflare/openai-sdk" target="_blank" rel="noopener">OpenAI SDK</a>
71
- <a class="btn ghost" href="https://huggingface.co/datasets/Modelflare/api-examples" target="_blank" rel="noopener">示例 Dataset</a>
72
- </div>
73
- <div class="tip">示例模型 <code>grok-4.7</code> 等须已在当前 key 的分组开通;实时目录以控制台为准。</div>
74
-
75
- <h2>端点速查表</h2>
76
- <table>
77
- <thead><tr><th>家族</th><th>入口</th><th>用途</th></tr></thead>
78
- <tbody>
79
- <tr><td>Chat Completions</td><td><code>POST /v1/chat/completions</code></td><td>OpenAI 兼容对话</td></tr>
80
- <tr><td>Responses</td><td><code>POST /v1/responses</code></td><td>Codex、Grok Build</td></tr>
81
- <tr><td>Anthropic Messages</td><td><code>ANTHROPIC_BASE_URL=https://modelflare.dev</code></td><td>Claude Code(CLI 自拼路径)</td></tr>
82
- <tr><td>Images</td><td><code>POST /v1/images/generations</code></td><td>GPT Images / Wan / Seedream</td></tr>
83
- <tr><td>Gemini native</td><td><code>POST /v1beta/models/{model}:generateContent</code></td><td>Gemini CLI / Gemini 图像</td></tr>
84
- <tr><td>Video</td><td><code>POST /v1/videos</code> → poll <code>GET /v1/videos/{id}</code></td><td>异步视频任务</td></tr>
85
- <tr><td>Models</td><td><code>GET /v1/models</code></td><td>当前 key 可调用的模型</td></tr>
86
- </tbody>
87
- </table>
88
- <p class="foot">详表:<a href="https://docs.modelflare.dev/guides/endpoints/?utm_source=huggingface&utm_medium=space&utm_campaign=api_recipes" target="_blank" rel="noopener">docs → endpoints</a></p>
89
-
90
- <h2>1) Chat Completions — curl</h2>
91
- <pre><button class="copy" type="button">复制</button><code>curl https://modelflare.dev/v1/chat/completions \
92
- -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
93
- -H "Content-Type: application/json" \
94
- -d '{"model":"grok-4.7","messages":[{"role":"user","content":"ping"}]}'</code></pre>
95
-
96
- <h2>2) Chat Completions — Python</h2>
97
- <pre><button class="copy" type="button">复制</button><code>from openai import OpenAI
98
-
99
- client = OpenAI(
100
- api_key="YOUR_MODELFLARE_API_KEY",
101
- base_url="https://modelflare.dev/v1",
102
- )
103
- r = client.chat.completions.create(
104
- model="grok-4.7",
105
- messages=[{"role": "user", "content": "Hello from Hugging Face"}],
106
- )
107
- print(r.choices[0].message.content)</code></pre>
108
-
109
- <h2>3) 流式 Chat</h2>
110
- <pre><button class="copy" type="button">复制</button><code>stream = client.chat.completions.create(
111
- model="grok-4.7",
112
- messages=[{"role": "user", "content": "Say hi in one line"}],
113
- stream=True,
114
- )
115
- for chunk in stream:
116
- print(chunk.choices[0].delta.content or "", end="", flush=True)</code></pre>
117
-
118
- <h2>4) 列出模型</h2>
119
- <pre><button class="copy" type="button">复制</button><code>curl https://modelflare.dev/v1/models \
120
- -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY"</code></pre>
121
-
122
- <h2>5) Responses API(Codex 用)— curl 草稿</h2>
123
- <p class="tip">完整 Codex 安装与 <code>wire_api=responses</code> 配置请看文档;此处仅为最小请求形态示意。</p>
124
- <pre><button class="copy" type="button">复制</button><code>curl https://modelflare.dev/v1/responses \
125
- -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
126
- -H "Content-Type: application/json" \
127
- -d '{"model":"gpt-5.6-sol","input":"Reply with one sentence confirming the model."}'</code></pre>
128
- <p class="foot"><a href="https://docs.modelflare.dev/guides/clients/codex/?utm_source=huggingface&utm_medium=space&utm_campaign=api_recipes" target="_blank" rel="noopener">完整 Codex 指南 →</a></p>
129
-
130
- <h2>6) Anthropic Messages — curl 草图</h2>
131
- <p class="tip">Claude Code 推荐用安装器 / <code>settings.json</code>。直接 HTTP 时 base 为站点根;路径由 Anthropic 约定拼出(通常为 <code>/v1/messages</code>)。完整环境变量见 Claude Code 指南。</p>
132
- <pre><button class="copy" type="button">复制</button><code>curl https://modelflare.dev/v1/messages \
133
- -H "x-api-key: YOUR_MODELFLARE_API_KEY" \
134
- -H "anthropic-version: 2023-06-01" \
135
- -H "Content-Type: application/json" \
136
- -d '{"model":"claude-sonnet-5","max_tokens":256,"messages":[{"role":"user","content":"ping"}]}'</code></pre>
137
- <p class="foot"><a href="https://docs.modelflare.dev/guides/clients/claude-code/?utm_source=huggingface&utm_medium=space&utm_campaign=api_recipes" target="_blank" rel="noopener">Claude Code 完整指南 →</a></p>
138
-
139
- <h2>7) 图片生成 — 最小 curl</h2>
140
- <p class="tip">字段因模型而异(size / quality / n 等)。请用 <code>media</code> 分组 key。详见图片模型文档。</p>
141
- <pre><button class="copy" type="button">复制</button><code>curl https://modelflare.dev/v1/images/generations \
142
- -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
143
- -H "Content-Type: application/json" \
144
- -d '{"model":"YOUR_IMAGE_MODEL","prompt":"A white cat in neon rain","n":1}'</code></pre>
145
- <p class="foot"><a href="https://docs.modelflare.dev/models/image/?utm_source=huggingface&utm_medium=space&utm_campaign=api_recipes" target="_blank" rel="noopener">图片模型文档 →</a></p>
146
-
147
- <h2>8) 视频 — 创建任务 + 轮询(高层)</h2>
148
- <ol>
149
- <li><code>POST /v1/videos</code> 创建异步任务(请求信封因模型而异)。</li>
150
- <li><code>GET /v1/videos/{task_id}</code> 轮询状态。</li>
151
- <li>成功后 <code>GET /v1/videos/{task_id}/content</code> 下载;结果 URL 可能过期,请及时转存。</li>
152
- </ol>
153
- <pre><button class="copy" type="button">复制</button><code># 1) create (fields vary by model — copy from the model page)
154
- curl https://modelflare.dev/v1/videos \
155
- -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
156
- -H "Content-Type: application/json" \
157
- -d '{"model":"YOUR_VIDEO_MODEL","prompt":"A calm ocean at sunrise"}'
158
-
159
- # 2) poll
160
- curl https://modelflare.dev/v1/videos/TASK_ID \
161
- -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY"
162
-
163
- # 3) download when ready
164
- curl -L https://modelflare.dev/v1/videos/TASK_ID/content \
165
- -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
166
- -o out.mp4</code></pre>
167
- <p class="foot"><a href="https://docs.modelflare.dev/models/video/?utm_source=huggingface&utm_medium=space&utm_campaign=api_recipes" target="_blank" rel="noopener">视频模型文档 →</a></p>
168
-
169
- <div class="note">
170
- <strong>从 Hub 来?</strong>
171
- <a href="https://huggingface.co/spaces/Modelflare/start">start</a> ·
172
- <a href="https://huggingface.co/spaces/Modelflare/coding-agents">coding-agents</a> ·
173
- <a href="https://huggingface.co/collections/Modelflare/modelflare-getting-started">Getting Started</a>。
174
- Gradio Chat 需 HF PRO(即将);当前请用控制台 + API。
175
- </div>
176
- </section>
177
-
178
- <section id="en" class="hidden">
179
- <div class="badge">📋 API Recipes</div>
180
  <h1>Modelflare API recipes (copy-paste)</h1>
181
  <p class="lead">Chat / streaming / list models / Responses / Anthropic / images / video. Auth: <code>Authorization: Bearer YOUR_MODELFLARE_API_KEY</code>. When fields vary by model, follow the linked docs pages.</p>
182
  <div class="cta">
@@ -184,9 +64,10 @@ curl -L https://modelflare.dev/v1/videos/TASK_ID/content \
184
  <a class="btn ghost" href="https://docs.modelflare.dev/guides/endpoints/?utm_source=huggingface&utm_medium=space&utm_campaign=api_recipes" target="_blank" rel="noopener">Endpoint picker</a>
185
  <a class="btn ghost" href="https://huggingface.co/spaces/Modelflare/coding-agents" target="_blank" rel="noopener">Coding Agents</a>
186
  <a class="btn ghost" href="https://huggingface.co/spaces/Modelflare/openai-sdk" target="_blank" rel="noopener">OpenAI SDK</a>
 
187
  <a class="btn ghost" href="https://huggingface.co/datasets/Modelflare/api-examples" target="_blank" rel="noopener">Examples dataset</a>
188
  </div>
189
- <div class="tip">Sample model <code>grok-4.7</code> etc. must be enabled on your key’s group. Live catalog = console.</div>
190
 
191
  <h2>Endpoint picker</h2>
192
  <table>
@@ -196,8 +77,8 @@ curl -L https://modelflare.dev/v1/videos/TASK_ID/content \
196
  <tr><td>Responses</td><td><code>POST /v1/responses</code></td><td>Codex, Grok Build</td></tr>
197
  <tr><td>Anthropic Messages</td><td><code>ANTHROPIC_BASE_URL=https://modelflare.dev</code></td><td>Claude Code (CLI appends path)</td></tr>
198
  <tr><td>Images</td><td><code>POST /v1/images/generations</code></td><td>GPT Images / Wan / Seedream</td></tr>
199
- <tr><td>Gemini native</td><td><code>POST /v1beta/models/{model}:generateContent</code></td><td>Gemini CLI / Gemini image</td></tr>
200
- <tr><td>Video</td><td><code>POST /v1/videos</code> → poll <code>GET /v1/videos/{id}</code></td><td>Async video tasks</td></tr>
201
  <tr><td>Models</td><td><code>GET /v1/models</code></td><td>Models the current key can call</td></tr>
202
  </tbody>
203
  </table>
@@ -207,7 +88,7 @@ curl -L https://modelflare.dev/v1/videos/TASK_ID/content \
207
  <pre><button class="copy" type="button">Copy</button><code>curl https://modelflare.dev/v1/chat/completions \
208
  -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
209
  -H "Content-Type: application/json" \
210
- -d '{"model":"grok-4.7","messages":[{"role":"user","content":"ping"}]}'</code></pre>
211
 
212
  <h2>2) Chat Completions — Python</h2>
213
  <pre><button class="copy" type="button">Copy</button><code>from openai import OpenAI
@@ -217,14 +98,15 @@ client = OpenAI(
217
  base_url="https://modelflare.dev/v1",
218
  )
219
  r = client.chat.completions.create(
220
- model="grok-4.7",
221
  messages=[{"role": "user", "content": "Hello from Hugging Face"}],
222
  )
223
  print(r.choices[0].message.content)</code></pre>
224
 
225
  <h2>3) Streaming chat</h2>
 
226
  <pre><button class="copy" type="button">Copy</button><code>stream = client.chat.completions.create(
227
- model="grok-4.7",
228
  messages=[{"role": "user", "content": "Say hi in one line"}],
229
  stream=True,
230
  )
@@ -243,43 +125,46 @@ for chunk in stream:
243
  -d '{"model":"gpt-5.6-sol","input":"Reply with one sentence confirming the model."}'</code></pre>
244
  <p class="foot"><a href="https://docs.modelflare.dev/guides/clients/codex/?utm_source=huggingface&utm_medium=space&utm_campaign=api_recipes" target="_blank" rel="noopener">Full Codex guide →</a></p>
245
 
246
- <h2>6) Anthropic Messages — curl sketch</h2>
247
- <p class="tip">Prefer the Claude Code installer / <code>settings.json</code>. For raw HTTP, base is the site origin; the Anthropic path is typically <code>/v1/messages</code>. See the Claude Code guide for env vars.</p>
248
- <pre><button class="copy" type="button">Copy</button><code>curl https://modelflare.dev/v1/messages \
249
- -H "x-api-key: YOUR_MODELFLARE_API_KEY" \
250
- -H "anthropic-version: 2023-06-01" \
251
- -H "Content-Type: application/json" \
252
- -d '{"model":"claude-sonnet-5","max_tokens":256,"messages":[{"role":"user","content":"ping"}]}'</code></pre>
253
  <p class="foot"><a href="https://docs.modelflare.dev/guides/clients/claude-code/?utm_source=huggingface&utm_medium=space&utm_campaign=api_recipes" target="_blank" rel="noopener">Full Claude Code guide →</a></p>
254
 
255
- <h2>7) Images — minimal curl</h2>
256
- <p class="tip">Fields vary by model (size / quality / n …). Use a <code>media</code> group key. See image model docs.</p>
257
  <pre><button class="copy" type="button">Copy</button><code>curl https://modelflare.dev/v1/images/generations \
258
- -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
259
- -H "Content-Type: application/json" \
260
- -d '{"model":"YOUR_IMAGE_MODEL","prompt":"A white cat in neon rain","n":1}'</code></pre>
 
 
 
 
261
  <p class="foot"><a href="https://docs.modelflare.dev/models/image/?utm_source=huggingface&utm_medium=space&utm_campaign=api_recipes" target="_blank" rel="noopener">Image models docs →</a></p>
262
 
263
- <h2>8) Video — create + poll (high-level)</h2>
264
  <ol>
265
- <li><code>POST /v1/videos</code> creates an async task (envelope varies by model).</li>
266
- <li>Poll <code>GET /v1/videos/{task_id}</code>.</li>
267
- <li>Download <code>GET /v1/videos/{task_id}/content</code>; result URLs can expire — transfer promptly.</li>
268
  </ol>
269
- <pre><button class="copy" type="button">Copy</button><code># 1) create (fields vary by model — copy from the model page)
270
- curl https://modelflare.dev/v1/videos \
271
- -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
272
- -H "Content-Type: application/json" \
273
- -d '{"model":"YOUR_VIDEO_MODEL","prompt":"A calm ocean at sunrise"}'
 
 
 
 
 
274
 
275
- # 2) poll
276
  curl https://modelflare.dev/v1/videos/TASK_ID \
277
- -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY"
278
 
279
- # 3) download when ready
280
- curl -L https://modelflare.dev/v1/videos/TASK_ID/content \
281
- -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
282
- -o out.mp4</code></pre>
283
  <p class="foot"><a href="https://docs.modelflare.dev/models/video/?utm_source=huggingface&utm_medium=space&utm_campaign=api_recipes" target="_blank" rel="noopener">Video models docs →</a></p>
284
 
285
  <div class="note">
@@ -293,20 +178,10 @@ curl -L https://modelflare.dev/v1/videos/TASK_ID/content \
293
  </div>
294
 
295
  <script>
296
- const zh=document.getElementById('zh'), en=document.getElementById('en');
297
- document.querySelectorAll('.lang button').forEach(btn=>{
298
- btn.addEventListener('click',()=>{
299
- document.querySelectorAll('.lang button').forEach(b=>b.classList.remove('on'));
300
- btn.classList.add('on');
301
- const l=btn.dataset.lang;
302
- zh.classList.toggle('hidden',l!=='zh');
303
- en.classList.toggle('hidden',l!=='en');
304
- });
305
- });
306
  document.querySelectorAll('pre .copy').forEach(btn=>{
307
  btn.addEventListener('click',async()=>{
308
  const code=btn.parentElement.querySelector('code').innerText;
309
- try{await navigator.clipboard.writeText(code);const t=btn.textContent;btn.textContent=t.includes('Copy')?'Copied':'已复制';setTimeout(()=>btn.textContent=t,1200)}catch(_){}
310
  });
311
  });
312
  </script>
 
1
  <!DOCTYPE html>
2
+ <html lang="en">
3
  <head>
4
  <meta charset="UTF-8" />
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
 
54
  </head>
55
  <body>
56
  <div class="wrap">
 
 
 
 
57
 
58
+ <section id="en">
59
+ <div class="badge">API Recipes</div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  <h1>Modelflare API recipes (copy-paste)</h1>
61
  <p class="lead">Chat / streaming / list models / Responses / Anthropic / images / video. Auth: <code>Authorization: Bearer YOUR_MODELFLARE_API_KEY</code>. When fields vary by model, follow the linked docs pages.</p>
62
  <div class="cta">
 
64
  <a class="btn ghost" href="https://docs.modelflare.dev/guides/endpoints/?utm_source=huggingface&utm_medium=space&utm_campaign=api_recipes" target="_blank" rel="noopener">Endpoint picker</a>
65
  <a class="btn ghost" href="https://huggingface.co/spaces/Modelflare/coding-agents" target="_blank" rel="noopener">Coding Agents</a>
66
  <a class="btn ghost" href="https://huggingface.co/spaces/Modelflare/openai-sdk" target="_blank" rel="noopener">OpenAI SDK</a>
67
+ <a class="btn ghost" href="https://huggingface.co/spaces/Modelflare/blog" target="_blank" rel="noopener">Blog</a>
68
  <a class="btn ghost" href="https://huggingface.co/datasets/Modelflare/api-examples" target="_blank" rel="noopener">Examples dataset</a>
69
  </div>
70
+ <div class="tip">Sample model IDs such as <code>gpt-5.6-sol</code> must be enabled on your key’s group. Live catalog = console.</div>
71
 
72
  <h2>Endpoint picker</h2>
73
  <table>
 
77
  <tr><td>Responses</td><td><code>POST /v1/responses</code></td><td>Codex, Grok Build</td></tr>
78
  <tr><td>Anthropic Messages</td><td><code>ANTHROPIC_BASE_URL=https://modelflare.dev</code></td><td>Claude Code (CLI appends path)</td></tr>
79
  <tr><td>Images</td><td><code>POST /v1/images/generations</code></td><td>GPT Images / Wan / Seedream</td></tr>
80
+ <tr><td>Gemini native</td><td><code>POST /v1/models/{model}:generateContent</code></td><td>Gemini image models (Gemini CLI builds the same path under <code>/v1beta</code>, served only on <code>modelflare.dev</code>)</td></tr>
81
+ <tr><td>Video</td><td><code>POST /v1/videos</code> → poll <code>GET /v1/videos/{task_id}</code> → <code>GET /v1/videos/{task_id}/content</code></td><td>Async video tasks</td></tr>
82
  <tr><td>Models</td><td><code>GET /v1/models</code></td><td>Models the current key can call</td></tr>
83
  </tbody>
84
  </table>
 
88
  <pre><button class="copy" type="button">Copy</button><code>curl https://modelflare.dev/v1/chat/completions \
89
  -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
90
  -H "Content-Type: application/json" \
91
+ -d '{"model":"gpt-5.6-sol","messages":[{"role":"user","content":"ping"}]}'</code></pre>
92
 
93
  <h2>2) Chat Completions — Python</h2>
94
  <pre><button class="copy" type="button">Copy</button><code>from openai import OpenAI
 
98
  base_url="https://modelflare.dev/v1",
99
  )
100
  r = client.chat.completions.create(
101
+ model="gpt-5.6-sol",
102
  messages=[{"role": "user", "content": "Hello from Hugging Face"}],
103
  )
104
  print(r.choices[0].message.content)</code></pre>
105
 
106
  <h2>3) Streaming chat</h2>
107
+ <p class="tip">The docs do not include a streaming example; this follows the OpenAI SDK <code>stream=True</code> pattern. Once content has been sent, the gateway does not replay a stream on another route.</p>
108
  <pre><button class="copy" type="button">Copy</button><code>stream = client.chat.completions.create(
109
+ model="gpt-5.6-sol",
110
  messages=[{"role": "user", "content": "Say hi in one line"}],
111
  stream=True,
112
  )
 
125
  -d '{"model":"gpt-5.6-sol","input":"Reply with one sentence confirming the model."}'</code></pre>
126
  <p class="foot"><a href="https://docs.modelflare.dev/guides/clients/codex/?utm_source=huggingface&utm_medium=space&utm_campaign=api_recipes" target="_blank" rel="noopener">Full Codex guide →</a></p>
127
 
128
+ <h2>6) Anthropic Messages</h2>
129
+ <p class="tip">The docs document Anthropic Messages through Claude Code: set <code>ANTHROPIC_BASE_URL=https://modelflare.dev</code> (no <code>/v1</code>); the CLI appends the Messages path itself. Raw HTTP headers are not documented, so no curl sketch is shown.</p>
 
 
 
 
 
130
  <p class="foot"><a href="https://docs.modelflare.dev/guides/clients/claude-code/?utm_source=huggingface&utm_medium=space&utm_campaign=api_recipes" target="_blank" rel="noopener">Full Claude Code guide →</a></p>
131
 
132
+ <h2>7) Images</h2>
133
+ <p class="tip">Documented <code>gpt-image-2</code> example. Fields vary by model; use a Smart API Key or a <code>media</code> group key.</p>
134
  <pre><button class="copy" type="button">Copy</button><code>curl https://modelflare.dev/v1/images/generations \
135
+ -H &quot;Authorization: Bearer YOUR_MODELFLARE_API_KEY&quot; \
136
+ -H &quot;Content-Type: application/json&quot; \
137
+ -d &#x27;{
138
+ &quot;model&quot;: &quot;gpt-image-2&quot;,
139
+ &quot;prompt&quot;: &quot;A white cat runs through a neon-lit street in the rain&quot;,
140
+ &quot;size&quot;: &quot;1024x1024&quot;, &quot;n&quot;: 1
141
+ }&#x27;</code></pre>
142
  <p class="foot"><a href="https://docs.modelflare.dev/models/image/?utm_source=huggingface&utm_medium=space&utm_campaign=api_recipes" target="_blank" rel="noopener">Image models docs →</a></p>
143
 
144
+ <h2>8) Video: create, poll, download</h2>
145
  <ol>
146
+ <li><code>POST /v1/videos</code> creates an async task and returns <code>id</code> (compatibility responses may use <code>task_id</code>). The body is family-specific; this is the documented Seedance example.</li>
147
+ <li>Poll <code>GET /v1/videos/{task_id}</code> while <code>status</code> is <code>queued</code> or <code>in_progress</code>; stop at <code>completed</code> or <code>failed</code>.</li>
148
+ <li>Download <code>GET /v1/videos/{task_id}/content</code>; result URLs can expire, so store the file promptly.</li>
149
  </ol>
150
+ <pre><button class="copy" type="button">Copy</button><code>curl https://modelflare.dev/v1/videos \
151
+ -H &quot;Authorization: Bearer YOUR_MODELFLARE_API_KEY&quot; \
152
+ -H &quot;Content-Type: application/json&quot; \
153
+ -d &#x27;{
154
+ &quot;model&quot;: &quot;seedance-2.5&quot;,
155
+ &quot;content&quot;: [{&quot;type&quot;: &quot;text&quot;, &quot;text&quot;: &quot;A cat walks through a sunlit room&quot;}],
156
+ &quot;resolution&quot;: &quot;720p&quot;,
157
+ &quot;duration&quot;: 5,
158
+ &quot;ratio&quot;: &quot;16:9&quot;
159
+ }&#x27;
160
 
 
161
  curl https://modelflare.dev/v1/videos/TASK_ID \
162
+ -H &quot;Authorization: Bearer YOUR_MODELFLARE_API_KEY&quot;
163
 
164
+ curl --fail --location \
165
+ https://modelflare.dev/v1/videos/TASK_ID/content \
166
+ -H &quot;Authorization: Bearer YOUR_MODELFLARE_API_KEY&quot; \
167
+ --output seedance-result.mp4</code></pre>
168
  <p class="foot"><a href="https://docs.modelflare.dev/models/video/?utm_source=huggingface&utm_medium=space&utm_campaign=api_recipes" target="_blank" rel="noopener">Video models docs →</a></p>
169
 
170
  <div class="note">
 
178
  </div>
179
 
180
  <script>
 
 
 
 
 
 
 
 
 
 
181
  document.querySelectorAll('pre .copy').forEach(btn=>{
182
  btn.addEventListener('click',async()=>{
183
  const code=btn.parentElement.querySelector('code').innerText;
184
+ try{await navigator.clipboard.writeText(code);const t=btn.textContent;btn.textContent='Copied';setTimeout(()=>btn.textContent=t,1200)}catch(_){}
185
  });
186
  });
187
  </script>