Skip to main content

FAQ

Accounts & keys

How do I create an account?

console.ecohash.com → Sign up → Email+password or Continue with Google. See Sign up.

Can multiple people share one account?

Yes. The account owner invites team members via the Users page. All members share the balance, API keys, and resources. See Team & invites.

How do I create an API key?

Console → API Keys → Create new key. See API Keys.

Can I use the OpenAI SDK?

Yes — every /v1/* endpoint is OpenAI-compatible. Point the SDK's base URL at https://api.ecohash.com/v1:

from openai import OpenAI
client = OpenAI(api_key="eco_...", base_url="https://api.ecohash.com/v1")

GPU instances

How long does a GPU instance run before auto-stopping?

As long as the estimated_duration_hours you picked at launch (1 hour minimum). At expiry, the instance auto-stops and unused credit hold is refunded. Hit Extend before expiry to keep it running.

How do I access the GPU instance terminal?

Use the browser terminal. In the console, open Compute → GPU Instances, click into your running instance, and hit the Terminal button. A shell opens in your browser (WebSocket-backed) — no tools to install, you're root inside the container. See Browser terminal for tips (like using tmux for long-running jobs that should survive browser disconnects).

How do I upload files and save them on a cloud drive or shared filesystem?

A few good options depending on size:

  • Small files — paste them into the browser terminal with cat > my_file.txt <<'EOF'EOF.
  • Medium / large files from a public URL — inside the terminal, use wget, curl, or huggingface-cli download to pull directly into the mount path (e.g. /workspace for a cloud drive, /shared for a shared filesystem).
  • From Gitgit clone inside the terminal.
  • From Jupyter — if your container is Jupyter-based, drag-and-drop uploads work in the file browser panel.
  • Via a cloud bucket — for very large datasets you already have in S3/GCS, use aws s3 cp / gsutil cp inside the instance; our bandwidth to cloud providers is fast.

Whatever path you pick, save under the mounted drive (e.g. /workspace/datasets/... for a cloud drive) — files outside the mount are lost when the instance terminates. See Uploading files for details.

What happens to my files when the instance terminates?

Files in the container's own filesystem are lost. Files on an attached cloud drive or shared filesystem persist — next time you launch, attach the same drive and everything is still there.

Can I run a Jupyter notebook?

Yes — if the container image name contains jupyter (like quay.io/jupyter/pytorch-notebook:cuda12-latest), EcoLink auto-provisions a Jupyter URL. See Jupyter access.

I launched but the instance is stuck in pending

Image pull can take a few minutes for large images. If the pod hasn't become Ready within 15 minutes, the platform's watchdog reconciles the row — either healing it back to running (if a pod is actually running) or marking it failed. If consistently stuck, reach out in #ecolink-support.

My instance was preempted — what does that mean?

A higher-priority platform workload claimed the GPU temporarily. Your pod was stopped. When capacity frees up, the pod resumes and status returns to running. You get a notification for both events.


User inference

How is a user inference instance different from a GPU instance?

GPU instance = development environment. You use it to build or fine-tune a model — installing packages, iterating in a notebook or terminal, watching training runs. It's interactive. Once you have a model checkpoint, save it to a shared filesystem and you can release the GPU instance; the weights persist.

User inference instance = production serving environment. It runs your model checkpoint (from the platform catalog, a HuggingFace repo, or a folder on a shared filesystem) as an OpenAI-compatible HTTP endpoint — ready to be called by your AI application or agent. No terminal access; just API traffic. It's designed to keep running as long as your account has balance, automatically renewing its 24h credit hold every day.

In short: GPU instance ends when you're done iterating. Inference instance runs as long as you keep serving traffic and funding the balance.

How long does a user inference instance run?

Until your balance runs out. The initial hold covers 24 hours; every 24h the billing worker renews with a new hold if your balance can cover it (or a partial hold if it can't). When balance hits $0, the instance is stopped. See Cost and lifecycle.

Can I choose the regions my inference instance deploys to?

Not directly — regions and replica count are determined by your registered model's source:

  • HuggingFace-backed or platform-model-based → 2 replicas across 2 regions (redundancy + failover)
  • Shared-filesystem-backed → 1 replica in the filesystem's region (weights pinned to that region)

Is there autoscaling for user inference?

Not yet. Replica count is fixed at deploy time. Autoscaling is planned.

Can I use my model with the OpenAI SDK?

Yes, if the container is OpenAI-compatible (default). Pass model: "<name>:<instance_id>" in requests. See Calling your endpoint.


Billing

How am I charged?

  • Per-request for API calls (tokens, images, audio-seconds, video-seconds)
  • Per-GPU-hour for GPU instances, clusters, and user inference
  • Per-GB-month (billed daily) for storage

Every product shows its current rate in the console at the point you launch it. See How billing works.

What's a credit hold?

GPU and inference resources reserve credit upfront — you can't launch if your balance can't cover the first period. Unused portion is refunded when the resource stops. See How billing works.

What happens when my balance hits $0?

  • API calls: return 402 Payment Required
  • GPU instances / clusters: terminated immediately
  • User inference instances: terminated on the next 24h cycle boundary
  • Storage: suspended (not deleted). Restoring the balance reattaches the storage.

How do I see what I've spent?

Console → Billing. Shows current balance, recent transactions (every deduction and refund), and per-model API usage breakdown. See Balance and transactions.


Still stuck?

Ping the #ecolink-support Slack channel. For API issues, include the x-ecolink-request-id response header. For console issues, include the resource ID.