Arc en Ciel help
Third-party model download integration
Build external downloaders against Arc en Ciel model search, version metadata, scan status, hashes, and transfer URLs.
Quick answer
- Use model search for discovery, then fetch model or version details before attempting a download.
- Call download-info when you need a compact JSON contract for source, filename, SHA-256, scan state, and allowed redirect hosts.
- Start hosted downloads from the canonical Arc en Ciel URL and allow the documented HTTPS redirect to the transfer host.
- Treat externalDownloadUrl as an external source: verify hashes when available and record completion with download/register when appropriate.
Request flow
A third-party downloader should not scrape page HTML or rely on compact search results for file metadata. Search identifies candidate models; model detail, version detail, and download-info carry the fields needed to decide whether bytes should be downloaded.
| Endpoint | Purpose | Notes |
|---|---|---|
| GET /api/models/search | Discovery and filters. | Use status=available for public downloadable releases. compact=true is for UI lists and omits download metadata. |
| GET /api/models/{id} | Full model payload with versions. | Use this when you need rich model context plus version fields. |
| GET /api/models/{modelId}/versions/{versionId} | Full version payload. | Use this when a client already knows the version id. |
| GET /api/models/{modelId}/versions/{versionId}/download-info | Stable downloader JSON contract. | Does not count downloads and does not stream bytes. |
| GET /api/models/{modelId}/versions/{versionId}/download | Canonical hosted-file download URL. | Supports HEAD and ranges for hosted files; production may redirect to uploads.arcenciel.io. |
| POST /api/models/{modelId}/versions/{versionId}/download/register | Record direct or external completion. | Useful when a client downloads externalDownloadUrl directly. |
Safety and integrity
Downloader safety checklist
- Verify SHA-256 when present - Use sha256 for byte verification. sha256webui is a compatibility hash, not a replacement.
- Respect scan-blocked versions - Do not download entries marked infected, potentially risky, or scan error. download-info exposes blocked=true for these cases.
- Allow only documented redirects - Hosted Arc files should start from arcenciel.io and may redirect to uploads.arcenciel.io over HTTPS.
- Keep external-source caution - externalDownloadUrl bytes are served outside Arc-controlled storage and can change independently.
- Use temporary files - Write downloads to a temporary path, hash them, then move them into the final model folder atomically.
Rate and client behavior
Use a clear User-Agent, honor HTTP status codes and Retry-After when present, and prefer HEAD or download-info before large transfers. Retrying a range request is safer than restarting a large hosted file from byte zero.