Getting startedPublish one image, then connect your app.
Start in the dashboard to see the whole path from upload to delivery URL without code. Then create an API key and let your app do the same.
Try your first image in the dashboard
No code, API key, or DNS setup is needed. Your workspace owns your projects; each project is a separate image library and delivery address for a website or app.
- Sign in and create a project. Choose a short address such as
my-store; its delivery host is my-store.i2scd.net. - On the Files page, choose an image and a file name such as
homepage-hero, then upload it. - Wait for processing to finish. Open the published image's details and copy its delivery URL into your site or app.
New projects deliver publicly: anyone with a delivery URL can view the image. Switch a project to protected delivery when every URL must be signed (see signing).
Step 1Create an API key
In the dashboard, open your project's API keys and create one. The full key (i2s_live_…) is shown once; store it in a server-side environment variable. A key without scopes has full access to its project; an upload router needs files:write and files:read.
Step 2Upload from your app
With JavaScript, follow the quickstart: an upload router on your server and <UploadButton> in the browser. From any other language, create an upload session with POST /v1/projects/{slug}/uploads and send the bytes where it says (see the upload flow).
Step 3Wait for ready
The upload is sanitized and published in the background. The session's status ends at ready (or failed with an error_code). The upload router waits for you; a webhook tells your server even when the browser has gone away.
Step 4Build delivery URLs
A published file is served at https://{project}.i2scd.net/originals/f/{file_slug}. Put a transform chain in place of originals, for example resize/800x/format/webp. The delivery guide lists every operation.
Building with an AI assistant?
Give your assistant the documentation index or the full documentation as Markdown. Use placeholders for credentials, never real API keys or signed upload URLs.
Read https://docs.img2.site/llms.txt and the relevant linked guides. Help me add image uploads to my app with img2site. Ask which framework I use, prefer the @img2site SDKs for JavaScript, keep the API key on the server, and use environment-variable placeholders for secrets. Do not assume a feature is available unless the docs say so.
Project setup
Delivery access, presets, allowed chains, watermarks, callbacks and suspension.
Read project setupAuthentication
API keys, scopes, upload tokens and which credential each call needs.
Choose a credentialTroubleshooting
If a call fails, the troubleshooting page maps symptoms to fixes.
Open troubleshooting