Providing Input Files
Models that take an image, video or audio input read them as public HTTPS URLs inside the input object — there is no separate upload endpoint.
How input files work
Host the file anywhere that serves it over public HTTPS, then reference the URL in the model's input fields (for example image_url):
JSON
{
"model": "bytedance/seedance-2-image-to-video",
"input": {
"image_url": "https://your-cdn.example.com/photo.jpg",
"prompt": "cinematic slow push-in"
}
}Use a Hosted URL
The file is already online — pass the URL directly
From Base64 Data
Decode and store it first, then pass the URL
From a Local File
Upload to your own storage first, then pass the URL
URL requirements
- Publicly reachable — no login, cookies, or IP allow-list in front of it.
- HTTPS with a valid certificate.
- Direct file response — the URL must return the media bytes (correct
Content-Type), not an HTML preview page. - Keep files reasonably sized; very large sources slow the task down or fail upstream.
Quick self-check before submitting a task:
cURL
curl -I "https://your-cdn.example.com/photo.jpg"
# expect: HTTP/2 200 + Content-Type: image/jpegEnd-to-end example
cURL
# 1) start the task, referencing your hosted file
curl -X POST "https://97ai.97claude.com/api/generate" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "bytedance/seedance-2-image-to-video",
"input": {
"image_url": "https://your-cdn.example.com/photo.jpg",
"prompt": "cinematic slow push-in"
}
}'
# → { "taskId": "task_12345678", "state": "waiting" }
# 2) poll until success / fail
curl "https://97ai.97claude.com/api/generate/task_12345678" \
-H "Authorization: Bearer $API_KEY"Where to host files
- Your own object storage: AWS S3, Alibaba Cloud OSS, Tencent Cloud COS, Cloudflare R2 (public bucket or presigned URL)
- Your app's existing CDN or static file server
- Any image/file hosting service that returns a direct file URL
Presigned URLs work
Time-limited presigned URLs (S3/OSS/COS) are fine — just make sure they stay valid for a few minutes while the task runs.
Common issues
- 403 / hotlink protection — the host blocks non-browser requests; disable referer checks or use presigned URLs.
- HTML instead of the file — you passed a share-page link (Google Drive, cloud drive) rather than a direct file URL.
- Localhost / LAN URLs —
http://localhost/…or private IPs are not reachable from the platform.
Support
Email [email protected] or see the model-specific pages for each model's exact input fields.