Skip to content

AI generation API reference

All public v1 endpoints, grouped by resource. Auth is a Bearer API key or session cookie; scope names map to key scopes. dashboard/auth scopes are dashboard-only.

Note

A machine-readable OpenAPI document with request/response schemas is served at free.ind.in/api/docs.

Meta & public

MethodPathScopePurpose
GET/v1publicService identity, version, and docs link.
GET/health/readypublicLiveness/readiness probe.
GET/v1/planspublicPlan catalog with entitlements and pricing.
GET/v1/models/publicpublicPublic model showcase (no auth).
GET/v1/catalog/publicpublicPublic catalog: models, samples, makers.
GET/v1/stats/publicpublicPublic platform statistics.

Generations & models

Generation modes: text_to_text, text_to_image, text_to_video, text_to_audio, image_to_image, image_to_video, video_to_video. Params are validated against the model's parameterSchema (visible in GET /v1/models). Common params: prompt, negativePrompt, seed, aspectRatio (1:1, 16:9, 9:16, 4:3, 3:4, 21:9), durationSeconds, strength, numImages, for audio voice, speed, format (mp3/wav/ogg), and for text systemPrompt, temperature (0–2), maxTokens. Text generations return the answer in the generation's textOutput field. For image_to_image, image_to_video, and video_to_video, the source file is passed in inputs — either uploaded asset ids (imageAssetIds / videoAssetIds) or a direct file reference (imageUrls / videoUrls) as an http(s) URL or a base64 data URL. Data URLs must declare a matching mime type (data:image/… for image modes, data:video/… for video-to-video).

MethodPathScopePurpose
GET/v1/modelsgenerations.readPlan-aware model catalog with per-model credits and parameter schema.
POST/v1/generationsgenerations.writeCreate a generation. Supports Idempotency-Key and paymentMode.
GET/v1/generationsgenerations.readList generations with pagination and filters (mode, status, model, project, date).
GET/v1/generations/:idgenerations.readGeneration detail with event timeline.
POST/v1/generations/:id/cancelgenerations.writeCancel a queued/running job.
GET/v1/generations/emergency-stopapiWhether generation is paused platform-wide.

Generation lifecycle:

queuedAwaiting capacityInitial state after creation
reservedWorker reservedScheduled on a worker
submittedSent to providerProvider request accepted
runningProvider processingGenerating
succeededDoneOutput assets available
failedFailederrorCode / errorMessage set
cancelledCancelledBy user or operator
expiredExpiredTimed out in queue

Files & assets

Input files can be referenced in generation inputs two ways: upload (private, stored on the platform) or a direct URL (public http(s) URL or base64 data URL). Upload flow: 1) request a presigned URL, 2) PUT the file to it, 3) confirm with upload-complete, then 4) pass the returned asset id in inputs.imageAssetIds / inputs.videoAssetIds. Direct references skip the upload entirely — pass the URL in inputs.imageUrls / inputs.videoUrls.

MethodPathScopePurpose
POST/v1/files/upload-urlfiles.writeGet a presigned upload URL for an input file.
POST/v1/files/upload-completefiles.writeFinalize an upload and create the asset.
GET/v1/assetsassets.readAsset library with filters (favorite, mediaType, sourceGenerationId).
GET/v1/assets/:idassets.readSingle asset detail.
GET/v1/assets/:id/downloadassets.readShort-lived presigned download URL.
PATCH/v1/assets/:idfiles.writeUpdate asset metadata (e.g. favorite).
DELETE/v1/assets/:idfiles.writeDelete an asset.
GET/v1/workspaces/:workspaceId/storageusage.readWorkspace storage usage and limits.

Usage & credits

MethodPathScopePurpose
GET/v1/usageusage.readUsage summary: credits, cost, generations, output bytes, filtered by date.
GET/v1/workspaces/:workspaceId/creditsusage.readAvailable credit balance and recent credit ledger.
POST/v1/credits/top-upswallet.writeCreate a pending credit top-up order.
GET/v1/credits/top-upsusage.readList credit top-up orders.

Wallet

MethodPathScopePurpose
GET/v1/walletwallet.readPay-as-you-go wallet balance.
PATCH/v1/walletwallet.writeUpdate wallet settings.
POST/v1/wallet/top-upswallet.writeDeposit funds (minimum $10).
GET/v1/wallet/transactionswallet.readWallet transaction history.
GET/v1/wallet/depositswallet.readDeposit history.

Webhooks

MethodPathScopePurpose
GET/v1/webhookswebhooks.manageList delivery endpoints.
POST/v1/webhookswebhooks.manageCreate an endpoint with events and signing secret.
PATCH/v1/webhooks/:idwebhooks.manageUpdate endpoint settings.
DELETE/v1/webhooks/:idwebhooks.manageDelete an endpoint.
GET/v1/webhooks/:id/deliverieswebhooks.manageDelivery history with attempts and status.

API keys

MethodPathScopePurpose
GET/v1/api-keysdashboardList API keys.
POST/v1/api-keysdashboardCreate a key (plaintext shown once).
PATCH/v1/api-keys/:iddashboardUpdate name, scopes, expiry, or revoke.
DELETE/v1/api-keys/:iddashboardRevoke a key.
GET/v1/api-keys/:id/usagedashboardPer-key usage reporting.

Billing

MethodPathScopePurpose
POST/v1/billing/checkoutauthStart checkout for a plan.
GET/v1/billing/subscriptionauthCurrent subscription and entitlements.
GET/v1/billing/paymentsauthRecent payments.
POST/v1/billing/portalauthCustomer billing portal session.
POST/v1/billing/cancelauthCancel a subscription.

Workspaces & members

MethodPathScopePurpose
GET/v1/workspacesauthList workspaces.
POST/v1/workspacesauthCreate a workspace.
GET/v1/workspaces/:workspaceIdauthWorkspace detail.
PATCH/v1/workspaces/:workspaceIdauthUpdate workspace settings.
DELETE/v1/workspaces/:workspaceIdauthDelete a workspace (with ownership guards).
POST/v1/workspaces/:workspaceId/invitationsauthInvite a member by email.
GET/v1/workspaces/:workspaceId/invitationsauthList pending invitations.
DELETE/v1/workspaces/:workspaceId/invitations/:invitationIdauthCancel an invitation.
POST/v1/invitations/acceptauthAccept an invitation.
PATCH/v1/workspaces/:workspaceId/members/:userIdauthChange a member role.
DELETE/v1/workspaces/:workspaceId/members/:userIdauthRemove a member.
POST/v1/workspaces/:workspaceId/transferauthTransfer workspace ownership.
POST/v1/workspaces/:workspaceId/leaveauthLeave a workspace.

Account

MethodPathScopePurpose
GET/v1/meauthCurrent user profile.
PATCH/v1/meauthUpdate profile.
POST/v1/me/change-passwordauthChange password.
POST/v1/me/export-requestauthRequest a data export.
GET/v1/me/accountsauthLinked accounts (social logins).
DELETE/v1/me/accounts/:providerIdauthUnlink an account provider.
DELETE/v1/meauthDelete the account.

Cookies keep FreeInd working. Optional analytics require your permission. Read our cookie policy.