{{ pageMeta.kicker }}

{{ pageMeta.title }}

{{ pageMeta.subtitle }}

Atualizado {{ lastUpdated }}
CONTAS CONECTADAS
{{ stats.active_accounts || 0 }}{{ onlineAccounts }} online
COM LEGENDA
{{ stats.posts_with_caption || 0 }}/{{ stats.total_published || 0 }}legendas validadas
FALHAS REAIS
{{ stats.failed_posts || 0 }}{{ stats.failed_posts ? 'verifique a fila' : 'sem publicação' }}
NA FILA
{{ queuePending }}pendentes
PROCESSANDO
{{ stats.queue_processing || 0 }}em andamento
CONTAS ADICIONADAS
{{ addedAccountsInPeriod }}novas conexões no período
CONTAS CAÍDAS
{{ fallenAccounts }}contas com acesso inativo no período

Previsão da Biblioteca

{{ folder.name }}{{ folder.detail }}{{ folder.count }}
Nenhum vídeo preparado na Biblioteca.

Resumo da fila

{{ item.label }}{{ item.value }}
MODO DE PUBLICAÇÃO

Como você quer publicar?

Escolha o tipo de execução. Todos os modos usam somente vídeos já limpos na Biblioteca.

{{ loopModeDefinition.glyph }}{{ loopModeDefinition.label }}
O job fica salvo na fila e será executado automaticamente no horário escolhido.
{{ stats.is_automation_running ? '●' : loopModeDefinition.glyph }}
{{ loopMode === 'loop' ? 'ESTADO DO LOOP' : 'PRÉVIA DA FILA' }}

{{ stats.is_automation_running && loopMode === 'loop' ? 'Publicação em execução' : loopModeDefinition.label }}

{{ loopReadiness }}

{{ coverFileName }}

Sem blur, sem inverter, sem reduzir resolução. Cada conta recebe geometria, granulação por plano, cor, curva, timing, áudio inaudível e bitstream H.264 únicos — abaixo do limiar visível no celular.

{{ track.filename }} · {{ track.size_mb }} MB

Adicione ao menos uma música. Sem faixa disponível, o sistema preserva o áudio original.

Presets
Padrões-base de variação{{ loopVariations }}x
O plano também usa conta, vídeo, rodada e lote; por isso cada item continua independente mesmo acima deste número.

Você escolhe o codec. H.264 é o mais compatível com a Graph. HEVC é o High Efficiency do iPhone recente. No iPhone o encode simula VideoToolbox (A15–A18 Pro) com vendor appl. Android usa MediaCodec do SoC (Tensor / Snapdragon / Exynos). Se o HEVC for recusado, troque para H.264 aqui e publique de novo.

Fonte: Biblioteca. O computador e a VPS usam a mesma fila, sem pasta local obrigatória.

Stories

Escolha o canal de publicação: Meta Business Suite (business.facebook.com), INSSIST (stein-exe/inssist) ou Sessão Direta.

{{ storyReadyAccounts.length }} contas disponíveis GitHub INSSIST
{{ accounts.filter(a => a.story_enabled).length }}CONTAS STORY
{{ storyReadyCount }}PRONTAS
{{ storyAssets.length }}MÍDIAS
{{ storyQueue.filter(j => j.status === 'planejado').length }}PENDENTES
{{ storyQueue.filter(j => j.status === 'concluido').length }}PRÉVIAS
{{ accounts.filter(a => a.story_enabled).length }}COM STORIES ATIVO
sincronizado com contas conectadas
// CANAL DE PUBLICAÇÃO{{ (storyProvider === 'business_facebook' || storyProvider === 'meta') ? '🏢 Meta Business Suite (business.facebook.com)' : (storyProvider === 'inssist' ? '🧩 INSSIST oficial (stein-exe/inssist)' : '⚡ Sessão Direta / API Nativa') }}{{ (storyProvider === 'business_facebook' || storyProvider === 'meta') ? 'Publicação oficial via Meta Business Suite / Graph API ou abertura direta em business.facebook.com.' : (storyProvider === 'inssist' ? 'A mídia e stickers são preparados aqui e a extensão INSSIST conclui no seu Chrome.' : 'Publicação 100% automatizada com sticker de link interativo (StoryLink) e Destaques.') }}
Proxy de sessão protegido: {{ storyProxyGuard.risky_accounts }} conta(s) com proxy instável ou IP alterado. O caminho antigo por sessão está bloqueado; a Meta oficial continua disponível porque não usa esse proxy.
// CONTAS AUTORIZADAS{{ (storyProvider === 'business_facebook' || storyProvider === 'meta') ? 'Usa o token OAuth da conta profissional ou compositor do Business Suite.' : (storyProvider === 'inssist' ? 'O login permanece no seu Chrome e não é entregue ao sistema.' : 'Usa sessão direta/proxy cadastrado no Preparador.') }}
{{ selectedAccountCount }}/{{ storyReadyAccounts.length }} prontas
Nenhuma conta disponível para Stories.
// MÍDIAS E CRIATIVOSBiblioteca compartilhada com o Preparador. Tudo entra no sorteio por conta.
{{ storyAssets.length }} MÍDIAS{{ storyCtas.length }} CTAS{{ storyTitles.length }} TÍTULOS
{{ asset.name }}
// FILA DE STORIES{{ storyQueue.length }} lote(s) persistentes · {{ storyQueue.filter(j => ['bloqueado','erro'].includes(j.status)).length }} bloqueado(s)
{{ job.status }}{{ job.account_count }} conta(s) · {{ job.media_count }} mídia(s) · {{ (job.provider === 'business_facebook' || job.provider === 'meta') ? '🏢 Meta Business Suite' : (job.provider === 'inssist' ? '🧩 INSSIST' : (job.provider_label || '⚡ Sessão Direta')) }} baixar mídia{{ formatDate(job.created_at) }}
Nenhum job de Story criado ainda.
// CRIAR JOBS DE STORIESConfigure uma chamada e coloque os itens em fila.
{{ storyAccountTarget === 0 ? 'TODAS AS CONTAS' : `${storyAccountTarget} CONTA(S)` }} · {{ storyWorkerCount }} WORKER(S)

Preparador de contas

Uma configuração, várias contas: bio, foto, conta profissional e 2FA em lotes acompanháveis.

{{ preparerSelectionCount }} selecionadas
// ADAPTADOR DE CONTAS{{ preparerStatus.selected_status?.installed ? 'Pacote detectado' : 'Pacote não disponível' }}{{ preparerStatus.selected_status?.reason || 'Escolha o adaptador que será usado pelo lote.' }} OAuth oficial conecta a conta com consentimento e mantém o token no servidor.
// SEGUNDA OPÇÃO DE CONEXÃO
// CONFIGURAÇÃO ÚNICAOs mesmos dados serão aplicados a todas as contas selecionadas.
LOTE {{ preparerSettings.batch_size }} · {{ preparerSettings.worker_count }} WORKER(S)
// CONTAS DO LOTEContas oficiais e sessões persistentes podem ser reutilizadas para bio, foto e Stories.
{{ preparerSelectionCount }}/{{ accounts.length }} selecionadas
Nenhuma conta conectada. Importe as contas na aba Contas antes de montar o lote.
O TOTP nunca aparece na fila, nos logs ou na resposta da API. Sessões persistentes ficam cifradas no servidor; ao limpar o histórico, elas são preservadas.
// FILA DO PREPARADOR{{ preparerJobs.length }} lote(s) registrados · armazenamento persistente
{{ job.status }}{{ job.account_count }} conta(s) · {{ job.adapter }}{{ job.reason }}
{{ job.processed_count || 0 }}/{{ job.account_count }}{{ formatDate(job.created_at) }}
Nenhum lote criado ainda. Salve a configuração e simule ou execute um lote.
// FLUXO INTEGRADOEtapas independentes, validação real e retomada no ponto da falha
{{ preparerStatus.selected_status?.installed ? preparerSettings.adapter + ' pronto' : preparerSettings.adapter + ' indisponível' }}
Meta Developers (Convite de Testadores)Sessão conectada · App {{ oauthConfiguration.tester_app_id || settings.meta_tester_app_id || settings.meta_app_id || 'pendente' }}Aguardando login na janela isolada... App Testador: {{ oauthConfiguration.tester_app_id || settings.meta_tester_app_id || settings.meta_app_id || 'Não configurado' }}{{ metaTesterStatus.last_error }}
OAuth oficial do Instagram (Tokens & Callback){{ oauthConfiguration.client_id ? 'App ' + oauthConfiguration.client_id : 'App ID pendente' }} · {{ oauthConfiguration.secret_configured ? 'Secret configurado' : 'Secret pendente' }}{{ oauthConfiguration.redirect_uri || 'URL de retorno não configurada' }}
Você pode importar por Senha/TOTP, Session ID, colar Cookies Web ou uma pasta de cookies no formato nomedaconta.json. O instagrapi-extra já está ativo: device Android aleatório, país BR e login por cookies. Ao preparar a conta, a Sessão, o Device Profile e o Proxy dedicado ficam salvos.
Etapas opcionaisPersonalize o fluxo sem reiniciar as etapas já confirmadas.
Status por conta{{ oauthSessions.length }} execução(ões)
@{{ session.username }}{{ session.stages?.[session.current_step]?.message || 'Processando...' }}{{ session.flow_mode || 'custom' }} · {{ session.retry_count || 0 }} tentativa(s){{ pipelineStatusLabel(session.stages?.[session.current_step]?.status, session.current_step) }}
{{ session.stages?.[stage.id]?.status === 'completed' ? '✓' : session.stages?.[stage.id]?.status === 'skipped' ? '–' : session.stages?.[stage.id]?.status === 'error' ? '!' : session.stages?.[stage.id]?.status === 'running' ? '↻' : '·' }}{{ stage.label }}{{ session.stages?.[stage.id]?.message || 'Aguardando etapa anterior.' }}{{ pipelineStatusLabel(session.stages?.[stage.id]?.status, stage.id) }}
{{ session.current_step === 'oauth' ? 'Abrir OAuth oficial' : 'Abrir etapa para diagnóstico' }}{{ session.error_message }}
Registro desta conta · {{ session.events.length }} evento(s)

{{ event.message }}{{ pipelineStatusLabel(event.status, event.step) }}

{{ isUploading ? (uploadProgress.statusText || `Preparando ${uploadProgress.current} de ${uploadProgress.total} (${uploadProgress.percent}%)`) : 'Adicione vídeos à Biblioteca' }}

Arraste arquivos aqui ou escolha vídeos e pastas inteiras.

{{ uploadProgress.percent }}% concluído (vídeo {{ uploadProgress.current }} de {{ uploadProgress.total }})

Limpeza automática de metadados antes de entrar na fila.

Arquivos preparados {{ uploadedVideos.length }}

ArquivoPerfilTamanhoUsoStatus
Nenhum vídeo enviado.
{{ video.original_filename }}{{ formatDate(video.created_at) }}
{{ video.device_model }}{{ video.file_size_mb }} MB{{ video.times_posted }}x{{ video.metadata_cleaned !== false ? 'Metadados limpos' : (video.status === 'ready' ? 'Pronto' : video.status) }}

Legenda padrão

{{ currentTab === 'health' ? 'Saúde das contas' : 'Contas' }}

Conecte, filtre e acompanhe o estado das contas do Instagram.

FILTROS:
Cada cartão permite atualizar ou excluir a conta do painel.APP DO FACEBOOK: Sem app fixo (todas)CONTAS ATIVAS: Todas{{ onlineAccounts }} ativas
Nenhuma conta conectada.Use o Instagram Login oficial ou adicione manualmente.

Política de sessão

PREPARADO
O PostFlow usa tokens oficiais do Instagram. Este painel representa a futura camada de acompanhamento de sessões sem exibir credenciais.

Proxy

Cada conta guarda um IP. Graph, Stories, Preparador e cookies saem por esse mesmo IP.

1 IP exclusivo por conta. O túnel bloqueia QUIC/DoH/WebRTC/IPv6 (vazamento de IP real). DNS SOCKS é remoto, HTTP CONNECT fica em pool, e um único timeout não mata o bind — só 3 falhas abrem o circuito. Cards só entram se a conta ainda não tiver proxy.

// {{ profile.label }}

{{ profile.description }}

IP da conta primeiro
Deixe a senha em branco para manter a atual.{{ profile.lastTest.text }}

Proxies cadastrados {{ proxies.length }}

HostSessãoIP de saídaContaLatênciaSaúdeStatus
Nenhum proxy cadastrado.
{{ proxy.host }}:{{ proxy.port }}{{ proxy.username || '—' }}{{ proxy.egress_ip || '—' }} drift{{ proxy.assigned_account_username ? '@' + proxy.assigned_account_username : 'Livre' }}{{ (proxy.ewma_latency_ms || proxy.latency_ms) ? (proxy.ewma_latency_ms || proxy.latency_ms) + ' ms' : '—' }} tcp {{ proxy.tcp_ms }}{{ proxy.health_score || proxy.health_score === 0 ? proxy.health_score : '—' }}{{ proxy.status }} IPv6 leak

Convites da equipe

MÓDULO PREPARADO

Meta Apps & Instagram Login

{{ settings.meta_app_id && settings.meta_app_secret_configured ? 'Configurado' : 'Pendente' }}
Configuração avançada do OAuth

Ritmo humano

Status da Fila

Atualizado {{ lastUpdated }} · auto a cada 60s

{{ queueCreatedCount }}Criados
{{ stats.total_published || 0 }}Publicados reais
{{ stats.posts_with_caption || 0 }}/{{ stats.total_published || 0 }}Com legenda
{{ queueCaptionlessCount }}Sem legenda
{{ queuePending }}Na fila
{{ stats.queue_processing || 0 }}Processando
{{ stats.failed_posts || 0 }}Falhas reais
{{ onlineAccounts }}/{{ accounts.length }}Contas na fila

Publicações agendadas, em lote e individuais

{{ job.status === 'pending' ? 'Na fila' : job.status === 'processing' ? queueStageLabel(job.current_stage) : job.status === 'completed' ? 'Concluído' : 'Falhou' }}{{ job.video_filename }}@{{ job.account_username || 'conta removida' }} · {{ job.scheduled_for ? `agendado para ${formatDate(job.scheduled_for)}` : queueStageLabel(job.current_stage) }}{{ job.error_message }}#{{ job.id }}
Nenhuma publicação agendada, em lote ou individual.

Publicados reais recentemente ({{ queueWindow }})

{{ queueRecent.length }} posts
Publicado@{{ item.account_username }} · {{ item.video_filename }}{{ formatDate(item.published_at) }}
Nenhuma postagem nas últimas {{ queueWindow }}

Contas fora da fila

{{ accounts.filter(a => a.status === 'active').length }} contas sem itens ativos
{{ onlineAccounts ? 'Todas as contas conectadas têm itens na fila ✓' : 'Nenhuma conta conectada.' }}

Histórico real

ContaVídeoLegendaStatusData
Nenhuma publicação registrada.
@{{ item.account_username }}{{ item.video_filename }}{{ item.caption ? 'Sim' : 'Não' }}{{ item.status === 'published' ? 'Publicado' : 'Falha' }}{{ formatDate(item.published_at) }}

Atividade ao vivo

AO VIVO
Aguardando eventos do bot...
{{ log.time || formatTime(log.timestamp) }} {{ log.message || log }}
{{ toast.message }}